emdash 0.33.0 → 0.34.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 (860) hide show
  1. package/dist/{adapters-BMyNSSZi.d.mts → adapters-34EN2eXO.d.mts} +26 -2
  2. package/dist/adapters-34EN2eXO.d.mts.map +1 -0
  3. package/dist/{allowed-origins-CG1pACtS.mjs → allowed-origins-DW7sYyqg.mjs} +2 -2
  4. package/dist/{allowed-origins-CG1pACtS.mjs.map → allowed-origins-DW7sYyqg.mjs.map} +1 -1
  5. package/dist/api/route-utils.d.mts +3 -3
  6. package/dist/api/route-utils.mjs +22 -21
  7. package/dist/api/route-utils.mjs.map +1 -1
  8. package/dist/api/schemas/index.d.mts +2 -2
  9. package/dist/api/schemas/index.mjs +6 -5
  10. package/dist/{api-D2hunekQ.mjs → api-DdAsirBe.mjs} +98 -407
  11. package/dist/api-DdAsirBe.mjs.map +1 -0
  12. package/dist/{api-tokens-CSND0i1z.mjs → api-tokens-CFXu8F_2.mjs} +2 -2
  13. package/dist/{api-tokens-CSND0i1z.mjs.map → api-tokens-CFXu8F_2.mjs.map} +1 -1
  14. package/dist/{apply-kwNEJW2l.mjs → apply-D5zfeD09.mjs} +131 -107
  15. package/dist/apply-D5zfeD09.mjs.map +1 -0
  16. package/dist/astro/index.d.mts +12 -12
  17. package/dist/astro/index.d.mts.map +1 -1
  18. package/dist/astro/index.mjs +93 -35
  19. package/dist/astro/index.mjs.map +1 -1
  20. package/dist/astro/middleware/auth.d.mts +10 -10
  21. package/dist/astro/middleware/auth.mjs +8 -8
  22. package/dist/astro/middleware/media-usage-write-fence.d.mts +7 -0
  23. package/dist/astro/middleware/media-usage-write-fence.d.mts.map +1 -0
  24. package/dist/astro/middleware/media-usage-write-fence.mjs +35 -0
  25. package/dist/astro/middleware/media-usage-write-fence.mjs.map +1 -0
  26. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  27. package/dist/astro/middleware/redirect.mjs +10 -7
  28. package/dist/astro/middleware/redirect.mjs.map +1 -1
  29. package/dist/astro/middleware/request-context.mjs +3 -3
  30. package/dist/astro/middleware/setup.mjs +1 -1
  31. package/dist/astro/middleware.d.mts +12 -11
  32. package/dist/astro/middleware.d.mts.map +1 -1
  33. package/dist/astro/middleware.mjs +1677 -156
  34. package/dist/astro/middleware.mjs.map +1 -1
  35. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +9 -8
  36. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -1
  37. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +9 -8
  38. package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -1
  39. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +5 -5
  40. package/dist/astro/routes/api/admin/api-tokens/index.mjs +6 -6
  41. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +6 -6
  42. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +12 -11
  43. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -1
  44. package/dist/astro/routes/api/admin/byline-fields/index.mjs +12 -11
  45. package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -1
  46. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +12 -11
  47. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -1
  48. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +17 -17
  49. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -17
  50. package/dist/astro/routes/api/admin/bylines/index.mjs +17 -17
  51. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +14 -13
  52. package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -1
  53. package/dist/astro/routes/api/admin/comments/_id_.mjs +6 -6
  54. package/dist/astro/routes/api/admin/comments/bulk.mjs +12 -11
  55. package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -1
  56. package/dist/astro/routes/api/admin/comments/counts.mjs +6 -6
  57. package/dist/astro/routes/api/admin/comments/index.mjs +12 -11
  58. package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -1
  59. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +5 -5
  60. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +4 -4
  61. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.d.mts +8 -0
  62. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.d.mts.map +1 -0
  63. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +36 -0
  64. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs.map +1 -0
  65. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.d.mts +8 -0
  66. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.d.mts.map +1 -0
  67. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +36 -0
  68. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs.map +1 -0
  69. package/dist/astro/routes/api/admin/media-usage/repair.mjs +15 -14
  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.d.mts +8 -0
  72. package/dist/astro/routes/api/admin/media-usage/work/index.d.mts.map +1 -0
  73. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +37 -0
  74. package/dist/astro/routes/api/admin/media-usage/work/index.mjs.map +1 -0
  75. package/dist/astro/routes/api/admin/media-usage/work/retry.d.mts +8 -0
  76. package/dist/astro/routes/api/admin/media-usage/work/retry.d.mts.map +1 -0
  77. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +37 -0
  78. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs.map +1 -0
  79. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +5 -5
  80. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +5 -5
  81. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts.map +1 -1
  82. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +51 -43
  83. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
  84. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts.map +1 -1
  85. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +51 -43
  86. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
  87. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +47 -42
  88. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  89. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +6 -6
  90. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +47 -42
  91. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  92. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts.map +1 -1
  93. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +50 -42
  94. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  95. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts.map +1 -1
  96. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +50 -42
  97. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  98. package/dist/astro/routes/api/admin/plugins/index.mjs +47 -42
  99. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  100. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +4 -4
  101. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +47 -42
  102. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  103. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts.map +1 -1
  104. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +50 -42
  105. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  106. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +47 -42
  107. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  108. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts.map +1 -1
  109. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +50 -42
  110. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  111. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.d.mts.map +1 -1
  112. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +51 -43
  113. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  114. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +47 -42
  115. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
  116. package/dist/astro/routes/api/admin/plugins/registry/install.d.mts.map +1 -1
  117. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +51 -43
  118. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  119. package/dist/astro/routes/api/admin/plugins/updates.mjs +47 -42
  120. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  121. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +47 -42
  122. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  123. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +4 -4
  124. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +47 -42
  125. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  126. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +3 -3
  127. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +3 -3
  128. package/dist/astro/routes/api/admin/users/_id_/index.mjs +9 -8
  129. package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -1
  130. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +4 -4
  131. package/dist/astro/routes/api/admin/users/index.mjs +9 -8
  132. package/dist/astro/routes/api/admin/users/index.mjs.map +1 -1
  133. package/dist/astro/routes/api/auth/dev-bypass.mjs +7 -7
  134. package/dist/astro/routes/api/auth/invite/accept.mjs +3 -3
  135. package/dist/astro/routes/api/auth/invite/complete.mjs +13 -12
  136. package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -1
  137. package/dist/astro/routes/api/auth/invite/index.mjs +10 -9
  138. package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -1
  139. package/dist/astro/routes/api/auth/invite/register-options.mjs +12 -11
  140. package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -1
  141. package/dist/astro/routes/api/auth/logout.mjs +4 -4
  142. package/dist/astro/routes/api/auth/magic-link/send.mjs +12 -11
  143. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -1
  144. package/dist/astro/routes/api/auth/magic-link/verify.mjs +4 -4
  145. package/dist/astro/routes/api/auth/me.mjs +10 -9
  146. package/dist/astro/routes/api/auth/me.mjs.map +1 -1
  147. package/dist/astro/routes/api/auth/mode.mjs +4 -4
  148. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  149. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  150. package/dist/astro/routes/api/auth/passkey/_id_.mjs +9 -8
  151. package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -1
  152. package/dist/astro/routes/api/auth/passkey/index.mjs +3 -3
  153. package/dist/astro/routes/api/auth/passkey/options.mjs +14 -13
  154. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -1
  155. package/dist/astro/routes/api/auth/passkey/register/options.mjs +12 -11
  156. package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -1
  157. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +13 -12
  158. package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -1
  159. package/dist/astro/routes/api/auth/passkey/verify.mjs +13 -12
  160. package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -1
  161. package/dist/astro/routes/api/auth/signup/complete.mjs +13 -12
  162. package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -1
  163. package/dist/astro/routes/api/auth/signup/request.mjs +12 -11
  164. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -1
  165. package/dist/astro/routes/api/auth/signup/verify.mjs +3 -3
  166. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +15 -14
  167. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -1
  168. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +14 -13
  169. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs.map +1 -1
  170. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +4 -4
  171. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +5 -5
  172. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +5 -5
  173. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +4 -4
  174. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +13 -13
  175. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +11 -10
  176. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
  177. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +18 -17
  178. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  179. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +18 -17
  180. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  181. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +5 -5
  182. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +4 -4
  183. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +11 -10
  184. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
  185. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
  186. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +44 -31
  187. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  188. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +4 -4
  189. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +5 -5
  190. package/dist/astro/routes/api/content/_collection_/_id_.mjs +11 -10
  191. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  192. package/dist/astro/routes/api/content/_collection_/authors.mjs +4 -4
  193. package/dist/astro/routes/api/content/_collection_/index.mjs +11 -10
  194. package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
  195. package/dist/astro/routes/api/content/_collection_/trash.mjs +10 -9
  196. package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -1
  197. package/dist/astro/routes/api/dashboard.mjs +10 -8
  198. package/dist/astro/routes/api/dashboard.mjs.map +1 -1
  199. package/dist/astro/routes/api/dev/emails.mjs +4 -4
  200. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  201. package/dist/astro/routes/api/import/probe.mjs +18 -16
  202. package/dist/astro/routes/api/import/probe.mjs.map +1 -1
  203. package/dist/astro/routes/api/import/wordpress/analyze.mjs +5 -5
  204. package/dist/astro/routes/api/import/wordpress/execute.d.mts +11 -11
  205. package/dist/astro/routes/api/import/wordpress/execute.mjs +15 -15
  206. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  207. package/dist/astro/routes/api/import/wordpress/media.d.mts +10 -10
  208. package/dist/astro/routes/api/import/wordpress/media.mjs +14 -12
  209. package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -1
  210. package/dist/astro/routes/api/import/wordpress/prepare.mjs +13 -12
  211. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
  212. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +11 -11
  213. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +14 -14
  214. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  215. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +18 -16
  216. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -1
  217. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +1 -1
  218. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +11 -11
  219. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +28 -27
  220. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  221. package/dist/astro/routes/api/manifest.mjs +5 -5
  222. package/dist/astro/routes/api/mcp.d.mts.map +1 -1
  223. package/dist/astro/routes/api/mcp.mjs +174 -72
  224. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  225. package/dist/astro/routes/api/media/_id_/confirm.mjs +13 -11
  226. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -1
  227. package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
  228. package/dist/astro/routes/api/media/_id_/usage.mjs +17 -16
  229. package/dist/astro/routes/api/media/_id_/usage.mjs.map +1 -1
  230. package/dist/astro/routes/api/media/_id_.mjs +16 -15
  231. package/dist/astro/routes/api/media/_id_.mjs.map +1 -1
  232. package/dist/astro/routes/api/media/file/_...key_.mjs +3 -3
  233. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +4 -4
  234. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +4 -4
  235. package/dist/astro/routes/api/media/providers/index.mjs +4 -4
  236. package/dist/astro/routes/api/media/upload-url.mjs +11 -10
  237. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  238. package/dist/astro/routes/api/media.mjs +18 -15
  239. package/dist/astro/routes/api/media.mjs.map +1 -1
  240. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +11 -11
  241. package/dist/astro/routes/api/menus/_name_/items.mjs +11 -11
  242. package/dist/astro/routes/api/menus/_name_/reorder.mjs +11 -11
  243. package/dist/astro/routes/api/menus/_name_/translations.mjs +11 -11
  244. package/dist/astro/routes/api/menus/_name_.mjs +11 -11
  245. package/dist/astro/routes/api/menus/index.mjs +11 -11
  246. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  247. package/dist/astro/routes/api/oauth/device/authorize.mjs +7 -7
  248. package/dist/astro/routes/api/oauth/device/code.mjs +10 -10
  249. package/dist/astro/routes/api/oauth/device/token.mjs +9 -9
  250. package/dist/astro/routes/api/oauth/register.mjs +4 -4
  251. package/dist/astro/routes/api/oauth/token/refresh.mjs +7 -7
  252. package/dist/astro/routes/api/oauth/token/revoke.mjs +7 -7
  253. package/dist/astro/routes/api/oauth/token.mjs +7 -7
  254. package/dist/astro/routes/api/openapi.json.mjs +152 -6
  255. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  256. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts.map +1 -1
  257. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +8 -7
  258. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -1
  259. package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
  260. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  261. package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
  262. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  263. package/dist/astro/routes/api/redirects/_id_.mjs +13 -12
  264. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  265. package/dist/astro/routes/api/redirects/index.mjs +13 -12
  266. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  267. package/dist/astro/routes/api/relations/_id_/index.mjs +18 -17
  268. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  269. package/dist/astro/routes/api/relations/_id_/translations.mjs +13 -12
  270. package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
  271. package/dist/astro/routes/api/relations/index.mjs +18 -17
  272. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  273. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +4 -4
  274. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +5 -5
  275. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +47 -42
  276. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  277. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +47 -42
  278. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  279. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +47 -42
  280. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  281. package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts.map +1 -1
  282. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +47 -42
  283. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  284. package/dist/astro/routes/api/schema/collections/index.mjs +47 -42
  285. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  286. package/dist/astro/routes/api/schema/collections/reorder.mjs +47 -42
  287. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  288. package/dist/astro/routes/api/schema/index.mjs +10 -9
  289. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  290. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +47 -42
  291. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  292. package/dist/astro/routes/api/schema/orphans/index.mjs +47 -42
  293. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  294. package/dist/astro/routes/api/search/enable.mjs +13 -13
  295. package/dist/astro/routes/api/search/index.mjs +12 -12
  296. package/dist/astro/routes/api/search/rebuild.mjs +13 -13
  297. package/dist/astro/routes/api/search/stats.mjs +8 -8
  298. package/dist/astro/routes/api/search/suggest.mjs +12 -12
  299. package/dist/astro/routes/api/sections/_slug_.mjs +12 -11
  300. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  301. package/dist/astro/routes/api/sections/index.mjs +12 -11
  302. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  303. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -7
  304. package/dist/astro/routes/api/settings/backups/archives/index.mjs +6 -6
  305. package/dist/astro/routes/api/settings/backups/export.mjs +7 -7
  306. package/dist/astro/routes/api/settings/backups/index.mjs +8 -8
  307. package/dist/astro/routes/api/settings/email.mjs +5 -5
  308. package/dist/astro/routes/api/settings.mjs +14 -13
  309. package/dist/astro/routes/api/settings.mjs.map +1 -1
  310. package/dist/astro/routes/api/setup/admin-verify.mjs +14 -13
  311. package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -1
  312. package/dist/astro/routes/api/setup/admin.mjs +13 -12
  313. package/dist/astro/routes/api/setup/admin.mjs.map +1 -1
  314. package/dist/astro/routes/api/setup/dev-bypass.mjs +30 -28
  315. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  316. package/dist/astro/routes/api/setup/dev-reset.mjs +3 -3
  317. package/dist/astro/routes/api/setup/index.mjs +32 -30
  318. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  319. package/dist/astro/routes/api/setup/status.mjs +5 -5
  320. package/dist/astro/routes/api/snapshot.mjs +8 -8
  321. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +16 -15
  322. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  323. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +16 -15
  324. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  325. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +16 -15
  326. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  327. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts.map +1 -1
  328. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +18 -16
  329. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  330. package/dist/astro/routes/api/taxonomies/_name_/translations.d.mts +8 -0
  331. package/dist/astro/routes/api/taxonomies/_name_/translations.d.mts.map +1 -0
  332. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +46 -0
  333. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -0
  334. package/dist/astro/routes/api/taxonomies/_name_.d.mts +19 -0
  335. package/dist/astro/routes/api/taxonomies/_name_.d.mts.map +1 -0
  336. package/dist/astro/routes/api/taxonomies/_name_.mjs +88 -0
  337. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -0
  338. package/dist/astro/routes/api/taxonomies/index.mjs +16 -15
  339. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  340. package/dist/astro/routes/api/themes/preview.mjs +6 -6
  341. package/dist/astro/routes/api/typegen.mjs +6 -6
  342. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  343. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  344. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  345. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +10 -9
  346. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
  347. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +12 -11
  348. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -1
  349. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +12 -11
  350. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  351. package/dist/astro/routes/api/widget-areas/_name_.mjs +7 -6
  352. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
  353. package/dist/astro/routes/api/widget-areas/index.mjs +12 -11
  354. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  355. package/dist/astro/routes/api/widget-components.mjs +4 -4
  356. package/dist/astro/routes/robots.txt.mjs +7 -6
  357. package/dist/astro/routes/robots.txt.mjs.map +1 -1
  358. package/dist/astro/routes/sitemap-_collection_.xml.mjs +10 -10
  359. package/dist/astro/routes/sitemap.xml.mjs +8 -7
  360. package/dist/astro/routes/sitemap.xml.mjs.map +1 -1
  361. package/dist/astro/types.d.mts +35 -17
  362. package/dist/astro/types.d.mts.map +1 -1
  363. package/dist/auth/providers/github.d.mts +1 -1
  364. package/dist/auth/providers/google.d.mts +1 -1
  365. package/dist/{authorize-qRhWQnel.mjs → authorize-1iFJzPaZ.mjs} +2 -2
  366. package/dist/{authorize-qRhWQnel.mjs.map → authorize-1iFJzPaZ.mjs.map} +1 -1
  367. package/dist/{backup-CtA6LDNw.mjs → backup-LHjIAVNP.mjs} +4 -4
  368. package/dist/{backup-CtA6LDNw.mjs.map → backup-LHjIAVNP.mjs.map} +1 -1
  369. package/dist/{base64-B-PsqheR.mjs → base64-CvLhUKQv.mjs} +1 -1
  370. package/dist/{base64-B-PsqheR.mjs.map → base64-CvLhUKQv.mjs.map} +1 -1
  371. package/dist/bundle-CBEXrBnb.mjs +663 -0
  372. package/dist/bundle-CBEXrBnb.mjs.map +1 -0
  373. package/dist/{byline-fields-CNc0Yq5i.mjs → byline-fields-C5S8wygO.mjs} +2 -2
  374. package/dist/{byline-fields-CNc0Yq5i.mjs.map → byline-fields-C5S8wygO.mjs.map} +1 -1
  375. package/dist/{byline-Cp6csL84.mjs → byline-pEcoDps8.mjs} +5 -5
  376. package/dist/{byline-Cp6csL84.mjs.map → byline-pEcoDps8.mjs.map} +1 -1
  377. package/dist/{byline-registry-ZkPKqEwC.mjs → byline-registry-DDun8sxh.mjs} +2 -2
  378. package/dist/{byline-registry-ZkPKqEwC.mjs.map → byline-registry-DDun8sxh.mjs.map} +1 -1
  379. package/dist/{bylines-CEj5CdT4.mjs → bylines-BWemdX2k.mjs} +7 -7
  380. package/dist/{bylines-CEj5CdT4.mjs.map → bylines-BWemdX2k.mjs.map} +1 -1
  381. package/dist/{bylines-cf-C9lmF.mjs → bylines-DJfSfXCL.mjs} +5 -5
  382. package/dist/{bylines-cf-C9lmF.mjs.map → bylines-DJfSfXCL.mjs.map} +1 -1
  383. package/dist/{cache-C9FptTFR.mjs → cache-CBJaDy_E.mjs} +3 -3
  384. package/dist/{cache-C9FptTFR.mjs.map → cache-CBJaDy_E.mjs.map} +1 -1
  385. package/dist/{challenge-store-D9VNKELo.mjs → challenge-store-CZyFVaad.mjs} +1 -1
  386. package/dist/{challenge-store-D9VNKELo.mjs.map → challenge-store-CZyFVaad.mjs.map} +1 -1
  387. package/dist/{chunks-DbYzib_k.mjs → chunks-DfPax1I0.mjs} +2 -2
  388. package/dist/{chunks-DbYzib_k.mjs.map → chunks-DfPax1I0.mjs.map} +1 -1
  389. package/dist/cli/index.mjs +176 -698
  390. package/dist/cli/index.mjs.map +1 -1
  391. package/dist/client/cf-access.d.mts +1 -1
  392. package/dist/client/index.d.mts +74 -4
  393. package/dist/client/index.d.mts.map +1 -1
  394. package/dist/client/index.mjs +25 -2
  395. package/dist/client/index.mjs.map +1 -1
  396. package/dist/collection-deletion-C8BugSGz.mjs +779 -0
  397. package/dist/collection-deletion-C8BugSGz.mjs.map +1 -0
  398. package/dist/{comment-BIkJ6Fil.mjs → comment-Dxlep6cE.mjs} +2 -2
  399. package/dist/{comment-BIkJ6Fil.mjs.map → comment-Dxlep6cE.mjs.map} +1 -1
  400. package/dist/{comment-reaction-D-laEceb.mjs → comment-reaction-D6qfHKBc.mjs} +2 -2
  401. package/dist/{comment-reaction-D-laEceb.mjs.map → comment-reaction-D6qfHKBc.mjs.map} +1 -1
  402. package/dist/{comments-0_w6KChA.mjs → comments-CTOuhTSX.mjs} +3 -3
  403. package/dist/{comments-0_w6KChA.mjs.map → comments-CTOuhTSX.mjs.map} +1 -1
  404. package/dist/{components-BPxrRjpE.mjs → components-CQy3lh9x.mjs} +1 -1
  405. package/dist/{components-BPxrRjpE.mjs.map → components-CQy3lh9x.mjs.map} +1 -1
  406. package/dist/{config-DyF3OKg_.mjs → config-C3EBstHi.mjs} +18 -2
  407. package/dist/config-C3EBstHi.mjs.map +1 -0
  408. package/dist/{content-CJ94NEx5.mjs → content-BNfwh7xX.mjs} +509 -78
  409. package/dist/content-BNfwh7xX.mjs.map +1 -0
  410. package/dist/content-list-query-DhQ84eVV.d.mts +26 -0
  411. package/dist/content-list-query-DhQ84eVV.d.mts.map +1 -0
  412. package/dist/content-refresh-DNERP4-f.mjs +2560 -0
  413. package/dist/content-refresh-DNERP4-f.mjs.map +1 -0
  414. package/dist/{context-C_1nrqnW.mjs → context-DRgOvSnW.mjs} +25 -17
  415. package/dist/context-DRgOvSnW.mjs.map +1 -0
  416. package/dist/{cron-DRV-UC4K.mjs → cron-Y9aLtgrA.mjs} +1 -1
  417. package/dist/{cron-DRV-UC4K.mjs.map → cron-Y9aLtgrA.mjs.map} +1 -1
  418. package/dist/{dashboard-DINnNVVU.mjs → dashboard-CB8J89rJ.mjs} +44 -10
  419. package/dist/dashboard-CB8J89rJ.mjs.map +1 -0
  420. package/dist/db/index.d.mts +4 -4
  421. package/dist/db/index.mjs +2 -2
  422. package/dist/db/index.mjs.map +1 -1
  423. package/dist/db/libsql.d.mts +1 -1
  424. package/dist/db/postgres.d.mts +1 -1
  425. package/dist/db/sqlite.d.mts +1 -1
  426. package/dist/{db-errors-CcWLaRiR.mjs → db-errors-Cl-sKYTm.mjs} +1 -1
  427. package/dist/{db-errors-CcWLaRiR.mjs.map → db-errors-Cl-sKYTm.mjs.map} +1 -1
  428. package/dist/{default-BD2FG0xV.mjs → default-DdDl3fxv.mjs} +1 -1
  429. package/dist/{default-BD2FG0xV.mjs.map → default-DdDl3fxv.mjs.map} +1 -1
  430. package/dist/{deferred-tasks-C-WRCcKo.d.mts → deferred-tasks-BMsa9F64.d.mts} +1 -1
  431. package/dist/{deferred-tasks-C-WRCcKo.d.mts.map → deferred-tasks-BMsa9F64.d.mts.map} +1 -1
  432. package/dist/{device-flow-CTqd8mud.mjs → device-flow-CaioYGK3.mjs} +4 -4
  433. package/dist/{device-flow-CTqd8mud.mjs.map → device-flow-CaioYGK3.mjs.map} +1 -1
  434. package/dist/dist-D_6CKR8z.mjs +810 -0
  435. package/dist/dist-D_6CKR8z.mjs.map +1 -0
  436. package/dist/{email-console-C6WdcWbL.mjs → email-console-BHNjIwiB.mjs} +1 -1
  437. package/dist/{email-console-C6WdcWbL.mjs.map → email-console-BHNjIwiB.mjs.map} +1 -1
  438. package/dist/{enrich-CFJJgxs_.mjs → enrich-_ySMEvEE.mjs} +2 -2
  439. package/dist/{enrich-CFJJgxs_.mjs.map → enrich-_ySMEvEE.mjs.map} +1 -1
  440. package/dist/{error-oh_9i6bR.mjs → error-DupyJZE2.mjs} +3 -3
  441. package/dist/{error-oh_9i6bR.mjs.map → error-DupyJZE2.mjs.map} +1 -1
  442. package/dist/{errors-BucQ8VYz.mjs → errors-CLUPm7aD.mjs} +14 -2
  443. package/dist/errors-CLUPm7aD.mjs.map +1 -0
  444. package/dist/{escape-CXps5F_v.mjs → escape-C_aLKP3H.mjs} +1 -1
  445. package/dist/{escape-CXps5F_v.mjs.map → escape-C_aLKP3H.mjs.map} +1 -1
  446. package/dist/{field-defs-cache-WD82dMQq.mjs → field-defs-cache-hg6QkjV9.mjs} +4 -4
  447. package/dist/{field-defs-cache-WD82dMQq.mjs.map → field-defs-cache-hg6QkjV9.mjs.map} +1 -1
  448. package/dist/{fts-manager-BITakW_R.mjs → fts-manager-CZ-5dVwJ.mjs} +76 -50
  449. package/dist/fts-manager-CZ-5dVwJ.mjs.map +1 -0
  450. package/dist/{hreflang-BaLCNcDx.d.mts → hreflang-D3Uehfv2.d.mts} +2 -2
  451. package/dist/{hreflang-BaLCNcDx.d.mts.map → hreflang-D3Uehfv2.d.mts.map} +1 -1
  452. package/dist/{hreflang-BdZuVBhL.mjs → hreflang-DNswoYsi.mjs} +7 -7
  453. package/dist/{hreflang-BdZuVBhL.mjs.map → hreflang-DNswoYsi.mjs.map} +1 -1
  454. package/dist/{import-C-9uqyT3.mjs → import-B41u8Rot.mjs} +5 -5
  455. package/dist/{import-C-9uqyT3.mjs.map → import-B41u8Rot.mjs.map} +1 -1
  456. package/dist/{index-M37iz29I.d.mts → index-C3Y-rsyN.d.mts} +226 -73
  457. package/dist/index-C3Y-rsyN.d.mts.map +1 -0
  458. package/dist/{index-MGw47uWq.d.mts → index-Cof4-Fab.d.mts} +5 -10
  459. package/dist/index-Cof4-Fab.d.mts.map +1 -0
  460. package/dist/index.d.mts +20 -19
  461. package/dist/index.mjs +73 -67
  462. package/dist/{init-lock-DJkX6Hto.mjs → init-lock-6b309ZrF.mjs} +1 -1
  463. package/dist/{init-lock-DJkX6Hto.mjs.map → init-lock-6b309ZrF.mjs.map} +1 -1
  464. package/dist/{load-DV1DZuUJ.mjs → load-DmvJrtxS.mjs} +2 -2
  465. package/dist/{load-DV1DZuUJ.mjs.map → load-DmvJrtxS.mjs.map} +1 -1
  466. package/dist/{loader-CGugY7Zl.mjs → loader-DLBqRiGP.mjs} +95 -53
  467. package/dist/loader-DLBqRiGP.mjs.map +1 -0
  468. package/dist/{manifest-schema-Da7kj23y.mjs → manifest-schema-BXbUAHod.mjs} +1 -1
  469. package/dist/{manifest-schema-Da7kj23y.mjs.map → manifest-schema-BXbUAHod.mjs.map} +1 -1
  470. package/dist/media/image-endpoint.mjs +1 -1
  471. package/dist/media/index.d.mts +1 -1
  472. package/dist/media/index.mjs +3 -2
  473. package/dist/media/index.mjs.map +1 -1
  474. package/dist/media/local-runtime.d.mts +12 -12
  475. package/dist/media/local-runtime.mjs +6 -5
  476. package/dist/media/local-runtime.mjs.map +1 -1
  477. package/dist/{media-OhYL-7Io.mjs → media-BWWWb8kg.mjs} +92 -3
  478. package/dist/media-BWWWb8kg.mjs.map +1 -0
  479. package/dist/{media-BP7S-nHT.mjs → media-CzhAn2--.mjs} +2 -2
  480. package/dist/{media-BP7S-nHT.mjs.map → media-CzhAn2--.mjs.map} +1 -1
  481. package/dist/{media-allowlist-D-peH1H5.mjs → media-allowlist-BD6HhgXA.mjs} +14 -3
  482. package/dist/media-allowlist-BD6HhgXA.mjs.map +1 -0
  483. package/dist/{media-upload-DtrwU2B0.mjs → media-upload-9yas9zGH.mjs} +10 -8
  484. package/dist/{media-upload-DtrwU2B0.mjs.map → media-upload-9yas9zGH.mjs.map} +1 -1
  485. package/dist/{media-url-DYs_YLOx.mjs → media-url-BvoX88FA.mjs} +1 -1
  486. package/dist/{media-url-DYs_YLOx.mjs.map → media-url-BvoX88FA.mjs.map} +1 -1
  487. package/dist/{media-usage-BlxfTkN0.mjs → media-usage-De3qvwjc.mjs} +137 -60
  488. package/dist/media-usage-De3qvwjc.mjs.map +1 -0
  489. package/dist/media-usage-work-B9Bksh_b.mjs +152 -0
  490. package/dist/media-usage-work-B9Bksh_b.mjs.map +1 -0
  491. package/dist/media-usage-work-DrCbqBcl.mjs +424 -0
  492. package/dist/media-usage-work-DrCbqBcl.mjs.map +1 -0
  493. package/dist/media-usage-write-fence-aHEgN1zB.mjs +42 -0
  494. package/dist/media-usage-write-fence-aHEgN1zB.mjs.map +1 -0
  495. package/dist/{menus-Y54RDPIN.mjs → menus-CC-yn1F9.mjs} +351 -95
  496. package/dist/menus-CC-yn1F9.mjs.map +1 -0
  497. package/dist/{menus-BcQWxeXu.mjs → menus-fxvEDYE6.mjs} +3 -3
  498. package/dist/{menus-BcQWxeXu.mjs.map → menus-fxvEDYE6.mjs.map} +1 -1
  499. package/dist/{mode-BWyTBe3I.mjs → mode-Bpe-tNNy.mjs} +1 -1
  500. package/dist/{mode-BWyTBe3I.mjs.map → mode-Bpe-tNNy.mjs.map} +1 -1
  501. package/dist/{normalize-C-SHXmra.mjs → normalize-Bc-s_r-a.mjs} +1 -1
  502. package/dist/{normalize-C-SHXmra.mjs.map → normalize-Bc-s_r-a.mjs.map} +1 -1
  503. package/dist/{oauth-authorization-ClvktmrL.mjs → oauth-authorization-BXO1MKej.mjs} +4 -4
  504. package/dist/{oauth-authorization-ClvktmrL.mjs.map → oauth-authorization-BXO1MKej.mjs.map} +1 -1
  505. package/dist/{oauth-clients-8ao-U66l.mjs → oauth-clients-C_DNqtRu.mjs} +1 -1
  506. package/dist/{oauth-clients-8ao-U66l.mjs.map → oauth-clients-C_DNqtRu.mjs.map} +1 -1
  507. package/dist/{oauth-state-store-B1ofdTiQ.mjs → oauth-state-store-DwAxMtk4.mjs} +1 -1
  508. package/dist/{oauth-state-store-B1ofdTiQ.mjs.map → oauth-state-store-DwAxMtk4.mjs.map} +1 -1
  509. package/dist/{oauth-user-lookup-CscEuIiR.mjs → oauth-user-lookup-BxfZizdk.mjs} +1 -1
  510. package/dist/{oauth-user-lookup-CscEuIiR.mjs.map → oauth-user-lookup-BxfZizdk.mjs.map} +1 -1
  511. package/dist/object-cache/memory.d.mts +1 -1
  512. package/dist/{options-CA4eVX6P.d.mts → options-DRe1pIBL.d.mts} +4 -3
  513. package/dist/options-DRe1pIBL.d.mts.map +1 -0
  514. package/dist/page/index.d.mts +2 -2
  515. package/dist/{parse-CJKNuewM.mjs → parse-DFbuc-Fh.mjs} +2 -2
  516. package/dist/{parse-CJKNuewM.mjs.map → parse-DFbuc-Fh.mjs.map} +1 -1
  517. package/dist/{passkey-config-D-zrzMJI.mjs → passkey-config-_2GOwwK8.mjs} +1 -1
  518. package/dist/{passkey-config-D-zrzMJI.mjs.map → passkey-config-_2GOwwK8.mjs.map} +1 -1
  519. package/dist/{placeholder-DaeNS-VG.d.mts → placeholder-CzW7Lshs.d.mts} +1 -1
  520. package/dist/{placeholder-DaeNS-VG.d.mts.map → placeholder-CzW7Lshs.d.mts.map} +1 -1
  521. package/dist/plugin-types.d.mts +8 -1
  522. package/dist/plugin-types.d.mts.map +1 -1
  523. package/dist/plugin-utils.d.mts +10 -10
  524. package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
  525. package/dist/plugins/adapt-sandbox-entry.mjs +7 -4
  526. package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
  527. package/dist/{portable-text-B_kqBmXB.mjs → portable-text-DhKbDAGr.mjs} +1 -1
  528. package/dist/{portable-text-B_kqBmXB.mjs.map → portable-text-DhKbDAGr.mjs.map} +1 -1
  529. package/dist/{preview-BU6PaLpM.mjs → preview-PW-nOnq4.mjs} +2 -2
  530. package/dist/{preview-BU6PaLpM.mjs.map → preview-PW-nOnq4.mjs.map} +1 -1
  531. package/dist/{public-url-Ox9oOlgp.mjs → public-url-CWoFhQT8.mjs} +1 -1
  532. package/dist/{public-url-Ox9oOlgp.mjs.map → public-url-CWoFhQT8.mjs.map} +1 -1
  533. package/dist/{query-C5w7PsRQ.mjs → query-BgjfiLUQ.mjs} +31 -49
  534. package/dist/query-BgjfiLUQ.mjs.map +1 -0
  535. package/dist/{query-rC9HKv1N.mjs → query-vgZNwIhh.mjs} +3 -3
  536. package/dist/{query-rC9HKv1N.mjs.map → query-vgZNwIhh.mjs.map} +1 -1
  537. package/dist/{rate-limit-kug6q99V.mjs → rate-limit-L5anykgo.mjs} +2 -2
  538. package/dist/{rate-limit-kug6q99V.mjs.map → rate-limit-L5anykgo.mjs.map} +1 -1
  539. package/dist/{redirect-DIJxXKOG.mjs → redirect-COsS6SWJ.mjs} +2 -2
  540. package/dist/{redirect-DIJxXKOG.mjs.map → redirect-COsS6SWJ.mjs.map} +1 -1
  541. package/dist/{redirect-Egf2R9yP.mjs → redirect-KBNE3UEs.mjs} +1 -1
  542. package/dist/{redirect-Egf2R9yP.mjs.map → redirect-KBNE3UEs.mjs.map} +1 -1
  543. package/dist/{redirects-Bzm812bY.mjs → redirects-CufRQt0Q.mjs} +4 -4
  544. package/dist/{redirects-Bzm812bY.mjs.map → redirects-CufRQt0Q.mjs.map} +1 -1
  545. package/dist/{redirects-G8wAhWAf.mjs → redirects-cV9g7V-0.mjs} +133 -14
  546. package/dist/redirects-cV9g7V-0.mjs.map +1 -0
  547. package/dist/registry-C581V4TP.mjs +1275 -0
  548. package/dist/registry-C581V4TP.mjs.map +1 -0
  549. package/dist/{relation-Cbe3Sd3m.mjs → relation-DtmAQH7s.mjs} +3 -3
  550. package/dist/{relation-Cbe3Sd3m.mjs.map → relation-DtmAQH7s.mjs.map} +1 -1
  551. package/dist/{relations-Bw_E1TXo.mjs → relations-BBApI4e2.mjs} +3 -3
  552. package/dist/{relations-Bw_E1TXo.mjs.map → relations-BBApI4e2.mjs.map} +1 -1
  553. package/dist/{relations-qHwpUe66.mjs → relations-DICSyfsh.mjs} +6 -6
  554. package/dist/{relations-qHwpUe66.mjs.map → relations-DICSyfsh.mjs.map} +1 -1
  555. package/dist/{relations-G2ta7GIl.d.mts → relations-DItI3MN9.d.mts} +369 -35
  556. package/dist/relations-DItI3MN9.d.mts.map +1 -0
  557. package/dist/request-context.d.mts +1 -1
  558. package/dist/{request-meta-Df-jFbAd.mjs → request-meta-DgZJh3zG.mjs} +2 -2
  559. package/dist/{request-meta-Df-jFbAd.mjs.map → request-meta-DgZJh3zG.mjs.map} +1 -1
  560. package/dist/{resolve-DZzG4HqM.mjs → resolve-DOhVEvty.mjs} +2 -2
  561. package/dist/{resolve-DZzG4HqM.mjs.map → resolve-DOhVEvty.mjs.map} +1 -1
  562. package/dist/{runner-BFTrkYhu.mjs → runner-BiDvq5dv.mjs} +1157 -254
  563. package/dist/runner-BiDvq5dv.mjs.map +1 -0
  564. package/dist/{runner-BaADli8l.d.mts → runner-CgQbELYC.d.mts} +2 -2
  565. package/dist/{runner-BaADli8l.d.mts.map → runner-CgQbELYC.d.mts.map} +1 -1
  566. package/dist/runtime.d.mts +11 -11
  567. package/dist/runtime.mjs +4 -3
  568. package/dist/runtime.mjs.map +1 -1
  569. package/dist/{schema-CiQXr6_F.mjs → schema-BFyTg38T.mjs} +3 -3
  570. package/dist/{schema-CiQXr6_F.mjs.map → schema-BFyTg38T.mjs.map} +1 -1
  571. package/dist/schema-CeQSNwB3.mjs +390 -0
  572. package/dist/schema-CeQSNwB3.mjs.map +1 -0
  573. package/dist/{scopes-CNJVT5i5.mjs → scopes-BVeuhGBE.mjs} +3 -3
  574. package/dist/{scopes-CNJVT5i5.mjs.map → scopes-BVeuhGBE.mjs.map} +1 -1
  575. package/dist/{search-FZhx5dDU.mjs → search-BpuPKZb0.mjs} +25 -15
  576. package/dist/search-BpuPKZb0.mjs.map +1 -0
  577. package/dist/{secrets-DLd8RXee.mjs → secrets-dtYs2hDo.mjs} +3 -3
  578. package/dist/{secrets-DLd8RXee.mjs.map → secrets-dtYs2hDo.mjs.map} +1 -1
  579. package/dist/{sections-BrIrMUCn.mjs → sections-COctk6hf.mjs} +3 -3
  580. package/dist/{sections-BrIrMUCn.mjs.map → sections-COctk6hf.mjs.map} +1 -1
  581. package/dist/seed/index.d.mts +2 -2
  582. package/dist/seed/index.mjs +24 -22
  583. package/dist/seo/index.d.mts +3 -3
  584. package/dist/seo/index.mjs +16 -15
  585. package/dist/seo/index.mjs.map +1 -1
  586. package/dist/{seo-CobNfOvb.mjs → seo-AFpVvTqr.mjs} +5 -3
  587. package/dist/seo-AFpVvTqr.mjs.map +1 -0
  588. package/dist/{seo-DTHRntNC.mjs → seo-CvDxfvFb.mjs} +2 -2
  589. package/dist/{seo-DTHRntNC.mjs.map → seo-CvDxfvFb.mjs.map} +1 -1
  590. package/dist/{service-B-pYGPgR.mjs → service-xMiMSTsR.mjs} +3 -3
  591. package/dist/{service-B-pYGPgR.mjs.map → service-xMiMSTsR.mjs.map} +1 -1
  592. package/dist/{session-user-BvM9-zNl.mjs → session-user-BzVemLkw.mjs} +1 -1
  593. package/dist/{session-user-BvM9-zNl.mjs.map → session-user-BzVemLkw.mjs.map} +1 -1
  594. package/dist/{settings-kJhGiQ4z.mjs → settings-B372MV0p.mjs} +4 -4
  595. package/dist/{settings-kJhGiQ4z.mjs.map → settings-B372MV0p.mjs.map} +1 -1
  596. package/dist/{settings-DPHau-WH.mjs → settings-BE9aqn_9.mjs} +3 -3
  597. package/dist/{settings-DPHau-WH.mjs.map → settings-BE9aqn_9.mjs.map} +1 -1
  598. package/dist/{setup-complete-u50Qm8rY.mjs → setup-complete-DF7TAfD5.mjs} +1 -1
  599. package/dist/{setup-complete-u50Qm8rY.mjs.map → setup-complete-DF7TAfD5.mjs.map} +1 -1
  600. package/dist/{setup-nonce-DCjiiOD2.mjs → setup-nonce-Do-U_cg9.mjs} +1 -1
  601. package/dist/{setup-nonce-DCjiiOD2.mjs.map → setup-nonce-Do-U_cg9.mjs.map} +1 -1
  602. package/dist/{single-flight-cache-DW3w11Pu.mjs → single-flight-cache-B0eLKS6K.mjs} +2 -2
  603. package/dist/{single-flight-cache-DW3w11Pu.mjs.map → single-flight-cache-B0eLKS6K.mjs.map} +1 -1
  604. package/dist/{site-url-I-lJ5kma.mjs → site-url-Bowsi9T-.mjs} +2 -2
  605. package/dist/{site-url-I-lJ5kma.mjs.map → site-url-Bowsi9T-.mjs.map} +1 -1
  606. package/dist/slugify-B994zkXC.mjs +17 -0
  607. package/dist/slugify-B994zkXC.mjs.map +1 -0
  608. package/dist/{snapshot-I_fjLDaD.mjs → snapshot-B5h6aPMh.mjs} +1 -1
  609. package/dist/{snapshot-I_fjLDaD.mjs.map → snapshot-B5h6aPMh.mjs.map} +1 -1
  610. package/dist/{ssrf-CTa6v21i.mjs → ssrf-Cpvg_n3A.mjs} +1 -1
  611. package/dist/{ssrf-CTa6v21i.mjs.map → ssrf-Cpvg_n3A.mjs.map} +1 -1
  612. package/dist/{state-CQvoefYP.mjs → state-DYwPue40.mjs} +1 -1
  613. package/dist/{state-CQvoefYP.mjs.map → state-DYwPue40.mjs.map} +1 -1
  614. package/dist/{status-CIsmlC1E.mjs → status-CWVYpbD8.mjs} +1 -1
  615. package/dist/{status-CIsmlC1E.mjs.map → status-CWVYpbD8.mjs.map} +1 -1
  616. package/dist/storage/local.d.mts +1 -1
  617. package/dist/storage/local.mjs +1 -1
  618. package/dist/storage/s3.d.mts +1 -1
  619. package/dist/storage/s3.mjs +1 -1
  620. package/dist/{taxonomies-CLN1N92E.mjs → taxonomies-B0o9ExNV.mjs} +75 -64
  621. package/dist/taxonomies-B0o9ExNV.mjs.map +1 -0
  622. package/dist/{taxonomies-CKuaZER5.mjs → taxonomies-Dk3MAklL.mjs} +280 -56
  623. package/dist/taxonomies-Dk3MAklL.mjs.map +1 -0
  624. package/dist/{taxonomy-pOrB2kZe.mjs → taxonomy-CPeM8d2o.mjs} +131 -78
  625. package/dist/taxonomy-CPeM8d2o.mjs.map +1 -0
  626. package/dist/{tokens-DagaJGK8.mjs → tokens-C39klX8R.mjs} +2 -2
  627. package/dist/{tokens-DagaJGK8.mjs.map → tokens-C39klX8R.mjs.map} +1 -1
  628. package/dist/{transport-DVsa5YYo.mjs → transport--CfOflrp.mjs} +1 -1
  629. package/dist/{transport-DVsa5YYo.mjs.map → transport--CfOflrp.mjs.map} +1 -1
  630. package/dist/{transport-CAwTaTp_.d.mts → transport-B_rfeU-a.d.mts} +1 -1
  631. package/dist/{transport-CAwTaTp_.d.mts.map → transport-B_rfeU-a.d.mts.map} +1 -1
  632. package/dist/{trusted-proxy-D20_7fyX.mjs → trusted-proxy-CEVekpby.mjs} +1 -1
  633. package/dist/{trusted-proxy-D20_7fyX.mjs.map → trusted-proxy-CEVekpby.mjs.map} +1 -1
  634. package/dist/{types-NBI3rF-_.mjs → types-75KIqzL9.mjs} +18 -2
  635. package/dist/types-75KIqzL9.mjs.map +1 -0
  636. package/dist/{types-CbUcuxxc.d.mts → types-BPuloofb.d.mts} +1 -1
  637. package/dist/{types-CbUcuxxc.d.mts.map → types-BPuloofb.d.mts.map} +1 -1
  638. package/dist/{types-BjxTKxrZ.mjs → types-BW1syrlw.mjs} +1 -1
  639. package/dist/{types-BjxTKxrZ.mjs.map → types-BW1syrlw.mjs.map} +1 -1
  640. package/dist/{types-BnFP1M3J.d.mts → types-C3_AbkDP.d.mts} +32 -10
  641. package/dist/types-C3_AbkDP.d.mts.map +1 -0
  642. package/dist/{types-Dc4ntQjQ.d.mts → types-CAGdePf3.d.mts} +124 -1
  643. package/dist/types-CAGdePf3.d.mts.map +1 -0
  644. package/dist/{types-DLG4IFEQ.d.mts → types-CFUfyt1s.d.mts} +1 -1
  645. package/dist/{types-DLG4IFEQ.d.mts.map → types-CFUfyt1s.d.mts.map} +1 -1
  646. package/dist/{types-LoagAGzH.d.mts → types-CPx2lIGo.d.mts} +1 -1
  647. package/dist/{types-LoagAGzH.d.mts.map → types-CPx2lIGo.d.mts.map} +1 -1
  648. package/dist/{types-Cd8iuS1J.mjs → types-CQPWhPxE.mjs} +9 -12
  649. package/dist/types-CQPWhPxE.mjs.map +1 -0
  650. package/dist/{types-Cz8hNch2.d.mts → types-Cs-TFLNf.d.mts} +25 -5
  651. package/dist/types-Cs-TFLNf.d.mts.map +1 -0
  652. package/dist/types-CtzytVXn.mjs.map +1 -1
  653. package/dist/{types-BGWPMiBO.d.mts → types-D4_1Ga4L.d.mts} +44 -5
  654. package/dist/types-D4_1Ga4L.d.mts.map +1 -0
  655. package/dist/{types-C8oz_ayJ.d.mts → types-DefV3OiO.d.mts} +1 -1
  656. package/dist/{types-C8oz_ayJ.d.mts.map → types-DefV3OiO.d.mts.map} +1 -1
  657. package/dist/{types-BK6U01Ro.d.mts → types-X0MThr7x.d.mts} +1 -1
  658. package/dist/{types-BK6U01Ro.d.mts.map → types-X0MThr7x.d.mts.map} +1 -1
  659. package/dist/{upload-attempts-D8QAFLUJ.mjs → upload-attempts-hlne3iA1.mjs} +1 -1
  660. package/dist/{upload-attempts-D8QAFLUJ.mjs.map → upload-attempts-hlne3iA1.mjs.map} +1 -1
  661. package/dist/url-pattern-BHS0V5Ng.mjs +33 -0
  662. package/dist/url-pattern-BHS0V5Ng.mjs.map +1 -0
  663. package/dist/{user-DBrq4UVq.mjs → user-sHgJ62SP.mjs} +3 -3
  664. package/dist/{user-DBrq4UVq.mjs.map → user-sHgJ62SP.mjs.map} +1 -1
  665. package/dist/{utils-hLzi_2Fn.mjs → utils-D4vD_Y98.mjs} +3 -3
  666. package/dist/{utils-hLzi_2Fn.mjs.map → utils-D4vD_Y98.mjs.map} +1 -1
  667. package/dist/{validate-mKo3RxBM.mjs → validate-BkqIG_Uj.mjs} +24 -5
  668. package/dist/validate-BkqIG_Uj.mjs.map +1 -0
  669. package/dist/{validate-C3oSmA7F.d.mts → validate-DeGtBN84.d.mts} +15 -7
  670. package/dist/validate-DeGtBN84.d.mts.map +1 -0
  671. package/dist/{validation-BgpucsvF.mjs → validation-CiJb_X5o.mjs} +11 -10
  672. package/dist/{validation-BgpucsvF.mjs.map → validation-CiJb_X5o.mjs.map} +1 -1
  673. package/dist/version-x0NjTScG.mjs +7 -0
  674. package/dist/{version-C4PnpmoV.mjs.map → version-x0NjTScG.mjs.map} +1 -1
  675. package/dist/{widgets-CJJtkiKh.mjs → widgets-Cwzvww0W.mjs} +3 -3
  676. package/dist/{widgets-CJJtkiKh.mjs.map → widgets-Cwzvww0W.mjs.map} +1 -1
  677. package/dist/{wxr-taxonomies-Bkpp_2tK.d.mts → wxr-taxonomies-CmC0ZsDr.d.mts} +1 -1
  678. package/dist/{wxr-taxonomies-Bkpp_2tK.d.mts.map → wxr-taxonomies-CmC0ZsDr.d.mts.map} +1 -1
  679. package/dist/{wxr-taxonomies-9PPSy8X6.mjs → wxr-taxonomies-QZjWxjyk.mjs} +13 -32
  680. package/dist/{wxr-taxonomies-9PPSy8X6.mjs.map → wxr-taxonomies-QZjWxjyk.mjs.map} +1 -1
  681. package/dist/{zod-generator-CG64Hnbh.mjs → zod-generator-D11MhxG4.mjs} +52 -5
  682. package/dist/zod-generator-D11MhxG4.mjs.map +1 -0
  683. package/package.json +16 -8
  684. package/src/api/errors.ts +12 -0
  685. package/src/api/handlers/content.ts +127 -29
  686. package/src/api/handlers/dashboard.ts +12 -2
  687. package/src/api/handlers/index.ts +16 -0
  688. package/src/api/handlers/manifest.ts +2 -0
  689. package/src/api/handlers/media-allowlist.ts +13 -2
  690. package/src/api/handlers/media-usage-work.ts +188 -0
  691. package/src/api/handlers/media-usage.ts +5 -3
  692. package/src/api/handlers/schema.ts +9 -3
  693. package/src/api/handlers/seo.ts +5 -2
  694. package/src/api/handlers/taxonomies.ts +345 -82
  695. package/src/api/media-usage-write-fence.ts +64 -0
  696. package/src/api/openapi/document.ts +199 -0
  697. package/src/api/schemas/common.ts +3 -1
  698. package/src/api/schemas/content.ts +122 -1
  699. package/src/api/schemas/media-usage.ts +133 -0
  700. package/src/api/schemas/schema.ts +78 -3
  701. package/src/api/schemas/taxonomies.ts +40 -8
  702. package/src/api/types.ts +1 -0
  703. package/src/astro/integration/index.ts +55 -42
  704. package/src/astro/integration/routes.ts +34 -4
  705. package/src/astro/integration/runtime.ts +15 -0
  706. package/src/astro/integration/virtual-modules.ts +25 -1
  707. package/src/astro/integration/vite-config.ts +16 -1
  708. package/src/astro/middleware/media-usage-write-fence.ts +30 -0
  709. package/src/astro/middleware/redirect.ts +12 -2
  710. package/src/astro/middleware.ts +75 -8
  711. package/src/astro/routes/api/admin/media-usage/collection-deletions/index.ts +22 -0
  712. package/src/astro/routes/api/admin/media-usage/collection-deletions/retry.ts +22 -0
  713. package/src/astro/routes/api/admin/media-usage/work/index.ts +26 -0
  714. package/src/astro/routes/api/admin/media-usage/work/retry.ts +26 -0
  715. package/src/astro/routes/api/admin/plugins/[id]/disable.ts +4 -0
  716. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +4 -0
  717. package/src/astro/routes/api/admin/plugins/[id]/uninstall.ts +4 -0
  718. package/src/astro/routes/api/admin/plugins/[id]/update.ts +4 -0
  719. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +4 -0
  720. package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +4 -0
  721. package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +4 -0
  722. package/src/astro/routes/api/admin/plugins/registry/install.ts +4 -0
  723. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +67 -31
  724. package/src/astro/routes/api/import/wordpress/execute.ts +3 -10
  725. package/src/astro/routes/api/mcp.ts +1 -0
  726. package/src/astro/routes/api/plugins/[pluginId]/[...path].ts +7 -1
  727. package/src/astro/routes/api/schema/collections/[slug]/index.ts +1 -7
  728. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +1 -0
  729. package/src/astro/routes/api/taxonomies/[name]/translations.ts +48 -0
  730. package/src/astro/routes/api/taxonomies/[name].ts +102 -0
  731. package/src/astro/types.ts +25 -4
  732. package/src/cleanup.ts +6 -12
  733. package/src/cli/commands/doctor.ts +193 -6
  734. package/src/cli/commands/export-seed.ts +4 -1
  735. package/src/client/index.ts +119 -0
  736. package/src/components/Block.astro +12 -0
  737. package/src/components/InlinePortableTextEditor.tsx +89 -1
  738. package/src/content/converters/mark-safety.ts +120 -0
  739. package/src/content/converters/portable-text-to-prosemirror.ts +25 -16
  740. package/src/content/converters/prosemirror-to-portable-text.ts +12 -2
  741. package/src/content-list-query.ts +29 -0
  742. package/src/database/migrations/060_collection_admin_config.ts +16 -0
  743. package/src/database/migrations/061_media_usage_cleanup.ts +77 -0
  744. package/src/database/migrations/062_media_usage_cleanup_fence.ts +295 -0
  745. package/src/database/migrations/063_media_usage_incremental_work.ts +397 -0
  746. package/src/database/migrations/064_fts_plain_text.ts +253 -0
  747. package/src/database/migrations/065_media_usage_collection_deletion.ts +85 -0
  748. package/src/database/migrations/066_media_usage_reconciliation.ts +115 -0
  749. package/src/database/migrations/067_indexed_content_fields.ts +39 -0
  750. package/src/database/migrations/068_content_taxonomy_entry_groups.ts +61 -0
  751. package/src/database/migrations/069_collection_title_date_fields.ts +45 -0
  752. package/src/database/migrations/070_collection_routable.ts +18 -0
  753. package/src/database/migrations/runner.ts +22 -0
  754. package/src/database/repositories/content.ts +861 -96
  755. package/src/database/repositories/media-usage-work.ts +848 -0
  756. package/src/database/repositories/media-usage.ts +1502 -138
  757. package/src/database/repositories/revision.ts +17 -6
  758. package/src/database/repositories/taxonomy.ts +234 -103
  759. package/src/database/repositories/types.ts +51 -2
  760. package/src/database/types.ts +134 -16
  761. package/src/db/adapters.ts +28 -0
  762. package/src/db/index.ts +3 -0
  763. package/src/emdash-runtime.ts +227 -20
  764. package/src/fields/file.ts +7 -4
  765. package/src/fields/image.ts +8 -1
  766. package/src/fields/types.ts +18 -5
  767. package/src/i18n/config.ts +32 -0
  768. package/src/i18n/repair-locale-casing.ts +0 -14
  769. package/src/i18n/taxonomy-locale-diagnostic.ts +47 -0
  770. package/src/import/wxr-taxonomies.ts +7 -47
  771. package/src/index.ts +25 -2
  772. package/src/loader.ts +119 -65
  773. package/src/mcp/server.ts +242 -34
  774. package/src/media/usage/activation.ts +626 -0
  775. package/src/media/usage/capture-triggers.ts +543 -0
  776. package/src/media/usage/cleanup.ts +305 -0
  777. package/src/media/usage/collection-deletion-processor.ts +356 -0
  778. package/src/media/usage/collection-deletion.ts +836 -0
  779. package/src/media/usage/content-fields.ts +40 -3
  780. package/src/media/usage/content-refresh.ts +356 -47
  781. package/src/media/usage/content-repair.ts +180 -61
  782. package/src/media/usage/content-snapshots.ts +85 -105
  783. package/src/media/usage/projection-fingerprint.ts +129 -0
  784. package/src/media/usage/reconciliation-processor.ts +372 -0
  785. package/src/media/usage/reconciliation.ts +1117 -0
  786. package/src/media/usage/source-key.ts +4 -0
  787. package/src/media/usage/types.ts +2 -0
  788. package/src/media/usage/work-processor.ts +248 -0
  789. package/src/menus/index.ts +246 -141
  790. package/src/plugin-types.ts +8 -0
  791. package/src/plugins/adapt-sandbox-entry.ts +24 -5
  792. package/src/plugins/context.ts +24 -7
  793. package/src/plugins/index.ts +9 -0
  794. package/src/plugins/routes.ts +43 -1
  795. package/src/plugins/sandbox/index.ts +10 -1
  796. package/src/plugins/sandbox/types.ts +78 -1
  797. package/src/plugins/scheduler/node.ts +13 -1
  798. package/src/plugins/scheduler/types.ts +2 -0
  799. package/src/plugins/types.ts +39 -2
  800. package/src/query.ts +29 -37
  801. package/src/scheduler-health.ts +46 -0
  802. package/src/schema/registry.ts +777 -255
  803. package/src/schema/types.ts +50 -8
  804. package/src/schema/url-pattern.ts +33 -0
  805. package/src/schema/zod-generator.ts +77 -5
  806. package/src/search/fts-manager.ts +117 -76
  807. package/src/search/query.ts +32 -11
  808. package/src/search/types.ts +2 -0
  809. package/src/seed/apply.ts +68 -15
  810. package/src/seed/types.ts +11 -3
  811. package/src/seed/validate.ts +52 -2
  812. package/src/taxonomies/index.ts +77 -75
  813. package/src/taxonomies/term-counts.ts +21 -8
  814. package/src/utils/slugify.ts +1 -29
  815. package/src/virtual-modules.d.ts +16 -0
  816. package/dist/adapters-BMyNSSZi.d.mts.map +0 -1
  817. package/dist/api-D2hunekQ.mjs.map +0 -1
  818. package/dist/apply-kwNEJW2l.mjs.map +0 -1
  819. package/dist/config-DyF3OKg_.mjs.map +0 -1
  820. package/dist/content-CJ94NEx5.mjs.map +0 -1
  821. package/dist/content-refresh-Xw7aKmou.mjs +0 -1629
  822. package/dist/content-refresh-Xw7aKmou.mjs.map +0 -1
  823. package/dist/context-C_1nrqnW.mjs.map +0 -1
  824. package/dist/dashboard-DINnNVVU.mjs.map +0 -1
  825. package/dist/errors-BucQ8VYz.mjs.map +0 -1
  826. package/dist/fts-manager-BITakW_R.mjs.map +0 -1
  827. package/dist/index-M37iz29I.d.mts.map +0 -1
  828. package/dist/index-MGw47uWq.d.mts.map +0 -1
  829. package/dist/loader-CGugY7Zl.mjs.map +0 -1
  830. package/dist/media-OhYL-7Io.mjs.map +0 -1
  831. package/dist/media-allowlist-D-peH1H5.mjs.map +0 -1
  832. package/dist/media-usage-BlxfTkN0.mjs.map +0 -1
  833. package/dist/menus-Y54RDPIN.mjs.map +0 -1
  834. package/dist/options-CA4eVX6P.d.mts.map +0 -1
  835. package/dist/query-C5w7PsRQ.mjs.map +0 -1
  836. package/dist/redirects-G8wAhWAf.mjs.map +0 -1
  837. package/dist/registry-Dbodb4Uo.mjs +0 -840
  838. package/dist/registry-Dbodb4Uo.mjs.map +0 -1
  839. package/dist/relations-G2ta7GIl.d.mts.map +0 -1
  840. package/dist/runner-BFTrkYhu.mjs.map +0 -1
  841. package/dist/search-FZhx5dDU.mjs.map +0 -1
  842. package/dist/seo-CobNfOvb.mjs.map +0 -1
  843. package/dist/slugify-C_tqlU4G.mjs +0 -30
  844. package/dist/slugify-C_tqlU4G.mjs.map +0 -1
  845. package/dist/taxonomies-CKuaZER5.mjs.map +0 -1
  846. package/dist/taxonomies-CLN1N92E.mjs.map +0 -1
  847. package/dist/taxonomy-pOrB2kZe.mjs.map +0 -1
  848. package/dist/types-BGWPMiBO.d.mts.map +0 -1
  849. package/dist/types-BnFP1M3J.d.mts.map +0 -1
  850. package/dist/types-Cd8iuS1J.mjs.map +0 -1
  851. package/dist/types-Cz8hNch2.d.mts.map +0 -1
  852. package/dist/types-Dc4ntQjQ.d.mts.map +0 -1
  853. package/dist/types-NBI3rF-_.mjs.map +0 -1
  854. package/dist/validate-C3oSmA7F.d.mts.map +0 -1
  855. package/dist/validate-mKo3RxBM.mjs.map +0 -1
  856. package/dist/version-C4PnpmoV.mjs +0 -7
  857. package/dist/zod-generator-CG64Hnbh.mjs.map +0 -1
  858. /package/dist/{api-tokens-Dai9dND0.mjs → api-tokens-CyTsLszZ.mjs} +0 -0
  859. /package/dist/{ssrf-Cj568Dgs.mjs → ssrf-DpXgKsna.mjs} +0 -0
  860. /package/dist/{types-DKuWPYV5.mjs → types-CP1CflWf.mjs} +0 -0
@@ -1,15 +1,16 @@
1
- import { _ as UpdateFieldInput, f as FieldValidation, g as UpdateCollectionInput, i as CollectionWithFields, o as CreateCollectionInput, s as CreateFieldInput, t as Collection, u as Field } from "./types-BnFP1M3J.mjs";
2
- import { f as UpdateContentInput, i as ContentItem, l as FindManyOptions, o as ContentSeoInput, r as ContentDateField, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-BGWPMiBO.mjs";
3
- import { d as ContentListResponse, f as ContentResponse, h as ManifestResponse, u as ApiResult } from "./options-CA4eVX6P.mjs";
4
- import { t as Database } from "./types-Dc4ntQjQ.mjs";
5
- import { At as StorageCollection, Ct as QueryOptions, Et as ResolvedPlugin, H as HttpAccess, O as CronEvent, R as EmailMessage, St as PublicPageContext, Z as MediaItem$1, _t as PluginMcpManifestConfig, bt as PortableTextBlockConfig, c as CommentBeforeCreateEvent, ct as PaginatedResult, et as PageFragmentContribution, ft as PluginCapability, gt as PluginManifest, i as CommentAfterCreateEvent, it as PageMetadataEvent, kt as SettingField, mt as PluginDefinition, o as CommentAfterModerateEvent, rt as PageMetadataContribution, tt as PageFragmentEvent, wt as RequestMeta, yt as PluginStorageConfig, z as FieldWidgetConfig, zt as WhereClause } from "./types-Cz8hNch2.mjs";
6
- import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-DaeNS-VG.mjs";
7
- import { w as ContentBylineInput } from "./index-MGw47uWq.mjs";
8
- import { t as DatabaseDescriptor } from "./adapters-BMyNSSZi.mjs";
9
- import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-CbUcuxxc.mjs";
10
- import { r as ObjectCacheDescriptor } from "./types-BK6U01Ro.mjs";
11
- import { d as Storage } from "./types-DLG4IFEQ.mjs";
12
- import { i as SiteSettings, r as SiteSettingKey } from "./types-LoagAGzH.mjs";
1
+ import { r as ContentFieldFilters } from "./content-list-query-DhQ84eVV.mjs";
2
+ import { _ as UpdateCollectionInput, a as CollectionWithFields, c as CreateFieldInput, d as Field, p as FieldValidation, s as CreateCollectionInput, t as Collection, v as UpdateFieldInput } from "./types-C3_AbkDP.mjs";
3
+ import { f as UpdateContentInput, i as ContentItem, l as FindManyOptions, o as ContentSeoInput, r as ContentDateField, s as CreateContentInput, t as BylineSummary, u as FindManyResult } from "./types-D4_1Ga4L.mjs";
4
+ import { d as ContentListResponse, f as ContentResponse, h as ManifestResponse, u as ApiResult } from "./options-DRe1pIBL.mjs";
5
+ import { t as Database } from "./types-CAGdePf3.mjs";
6
+ import { At as SettingField, B as FieldWidgetConfig, Bt as UserInfo, Ct as PublicPageContext, Dt as ResolvedPlugin, Q as MediaItem$1, Tt as RequestMeta, U as HttpAccess, Vt as WhereClause, _t as PluginManifest, at as PageMetadataEvent, bt as PluginStorageConfig, c as CommentBeforeCreateEvent, ht as PluginDefinition, i as CommentAfterCreateEvent, it as PageMetadataContribution, jt as StorageCollection, k as CronEvent, lt as PaginatedResult, nt as PageFragmentEvent, o as CommentAfterModerateEvent, pt as PluginCapability, tt as PageFragmentContribution, vt as PluginMcpManifestConfig, wt as QueryOptions, xt as PortableTextBlockConfig, z as EmailMessage } from "./types-Cs-TFLNf.mjs";
7
+ import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-CzW7Lshs.mjs";
8
+ import { T as ContentBylineInput } from "./index-Cof4-Fab.mjs";
9
+ import { r as DatabaseDescriptor } from "./adapters-34EN2eXO.mjs";
10
+ import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-BPuloofb.mjs";
11
+ import { r as ObjectCacheDescriptor } from "./types-X0MThr7x.mjs";
12
+ import { d as Storage } from "./types-CFUfyt1s.mjs";
13
+ import { i as SiteSettings, r as SiteSettingKey } from "./types-CPx2lIGo.mjs";
13
14
  import { EmDashManifest } from "./astro/types.mjs";
14
15
  import { Dialect, Kysely, sql } from "kysely";
15
16
  import { z } from "astro/zod";
@@ -56,7 +57,7 @@ declare class ContentRepository {
56
57
  * (optionally scoped to a locale) and appends a numeric suffix (`-1`,
57
58
  * `-2`, etc.) on collision to guarantee uniqueness.
58
59
  *
59
- * Returns `null` if `baseSlug` is empty after slugification.
60
+ * Returns null when slug normalization cannot produce a value.
60
61
  */
61
62
  generateUniqueSlug(type: string, text: string, locale?: string): Promise<string | null>;
62
63
  /**
@@ -102,6 +103,13 @@ declare class ContentRepository {
102
103
  * Update content
103
104
  */
104
105
  update(type: string, id: string, input: UpdateContentInput): Promise<ContentItem>;
106
+ /**
107
+ * Update plugin-authored fields without letting content columns diverge
108
+ * from the revision pointers that publication promotes.
109
+ */
110
+ updateDraftAware(type: string, id: string, input: UpdateContentInput): Promise<ContentItem>;
111
+ private deleteUnstagedRevision;
112
+ private replaceDraftRevisionForUpdate;
105
113
  /**
106
114
  * Delete content (soft delete - moves to trash)
107
115
  */
@@ -110,19 +118,6 @@ declare class ContentRepository {
110
118
  * Restore content from trash
111
119
  */
112
120
  restore(type: string, id: string): Promise<ContentItem | null>;
113
- /**
114
- * Re-stamp the denormalized filter + sort columns on every
115
- * `content_taxonomies` pivot row for an entry from its authoritative `ec_*`
116
- * row (migration 051). Called after any mutation that moves one of those
117
- * columns so a taxonomy-filtered listing can seek the entry directly.
118
- *
119
- * A single correlated `UPDATE` reads the post-mutation values from `ec_*`, so
120
- * the pivot converges to the authoritative row. This is NOT atomic with the
121
- * `ec_*` mutation on D1 (no transactions), which is why the read path
122
- * re-checks the real predicates on the joined `ec_*` row. Untagged entries
123
- * have no pivot rows, so the statement is a cheap no-op for them.
124
- */
125
- private restampEntryPivot;
126
121
  /**
127
122
  * Permanently delete content (cannot be undone)
128
123
  */
@@ -171,10 +166,25 @@ declare class ContentRepository {
171
166
  * range naturally excludes never-published rows (their column is NULL).
172
167
  */
173
168
  private applyDateFilter;
169
+ /**
170
+ * Apply the optional byline filter as a correlated (NOT) EXISTS against
171
+ * `_emdash_content_bylines`.
172
+ *
173
+ * Correlating from the content table preserves the outer sort index so
174
+ * `LIMIT` can short-circuit. `mode: "none"` tests the junction rather than
175
+ * `primary_byline_id` because the two are written in the same call but
176
+ * are not atomically consistent, so the junction is authoritative.
177
+ *
178
+ * Whether a credit *renders* is locale-scoped; whether one *exists* is
179
+ * not. Both are needed: the first decides what the filter matches, the
180
+ * second decides whether the author fallback applies at all.
181
+ */
182
+ private applyBylineFilter;
174
183
  /**
175
184
  * Count content items
176
185
  */
177
186
  count(type: string, where?: FindManyOptions["where"]): Promise<number>;
187
+ private countWithResolvedFilters;
178
188
  /**
179
189
  * Distinct, non-null `author_id` values across the collection's live
180
190
  * (non-trashed) content. Used to populate the admin author filter with
@@ -182,11 +192,12 @@ declare class ContentRepository {
182
192
  * full user directory (which requires admin privileges to read).
183
193
  */
184
194
  findDistinctAuthorIds(type: string): Promise<string[]>;
185
- getStats(type: string): Promise<{
195
+ getStats(type: string, now?: Date): Promise<{
186
196
  total: number;
187
197
  published: number;
188
198
  draft: number;
189
199
  scheduled: number;
200
+ overdueScheduled: number;
190
201
  }>;
191
202
  /**
192
203
  * Schedule content for future publishing
@@ -263,6 +274,8 @@ declare class ContentRepository {
263
274
  * Syncs the draft revision's data into the content table columns so the
264
275
  * content table always reflects the published version.
265
276
  * If no draft revision exists, creates one from current data and publishes it.
277
+ * When `promoteRevision` is false, publishes the current content-table data
278
+ * by changing lifecycle metadata only.
266
279
  *
267
280
  * `publishedAt` (optional) overrides the publication timestamp. If omitted,
268
281
  * the existing `published_at` is preserved (idempotent re-publish keeps the
@@ -274,7 +287,7 @@ declare class ContentRepository {
274
287
  * `expectedScheduledAt` additionally fences changes made after a sweep
275
288
  * selected the row but before publication preparation began.
276
289
  */
277
- publish(type: string, id: string, publishedAt?: string, requireDue?: boolean, expectedScheduledAt?: string): Promise<ContentItem>;
290
+ publish(type: string, id: string, publishedAt?: string, requireDue?: boolean, expectedScheduledAt?: string, promoteRevision?: boolean, requireSlug?: boolean): Promise<ContentItem>;
278
291
  /**
279
292
  * Unpublish content
280
293
  *
@@ -314,11 +327,17 @@ declare class ContentRepository {
314
327
  * Excludes null values from data to match input semantics
315
328
  */
316
329
  private mapRow;
330
+ private normalizeFilterScalar;
331
+ private normalizeFieldFilter;
332
+ private collectionExists;
333
+ private resolveFieldFilters;
334
+ private applyFieldFilters;
317
335
  /**
318
336
  * Map order field names to database columns.
319
337
  * Only allows known fields to prevent column enumeration via crafted orderBy values.
320
338
  */
321
339
  private mapOrderField;
340
+ private resolveOrderField;
322
341
  }
323
342
  //#endregion
324
343
  //#region src/database/repositories/media.d.ts
@@ -693,14 +712,27 @@ interface PortableTextBlock$1 {
693
712
  */
694
713
  type ImageValue = MediaValue;
695
714
  /**
696
- * File field value
715
+ * Persisted file field value.
716
+ *
717
+ * File values are references with cached metadata, not implicitly hydrated
718
+ * media records. Use the media provider API when current metadata is needed.
697
719
  */
698
720
  interface FileValue {
699
721
  id: string;
700
- url: string;
701
- filename: string;
702
- mimeType: string;
703
- size: number;
722
+ /** Legacy cached URL. Provider-backed values commonly omit this. */
723
+ url?: string;
724
+ /** Direct URL used by external media providers. */
725
+ src?: string;
726
+ /** Cached original filename, when available. */
727
+ filename?: string;
728
+ /** Cached MIME type, when available. */
729
+ mimeType?: string;
730
+ /** Cached file size in bytes, when persisted with the value. */
731
+ size?: number;
732
+ /** Media provider ID. Defaults to `local` when omitted. */
733
+ provider?: string;
734
+ /** Provider-specific data needed to resolve or render the file. */
735
+ meta?: Record<string, unknown>;
704
736
  }
705
737
  //#endregion
706
738
  //#region src/fields/image.d.ts
@@ -769,6 +801,10 @@ declare function handleContentList(db: Kysely<Database>, collection: string, par
769
801
  dateField?: ContentDateField;
770
802
  dateFrom?: string;
771
803
  dateTo?: string;
804
+ bylines?: string[];
805
+ bylinesNone?: boolean;
806
+ includeInferredBylines?: boolean;
807
+ fieldFilters?: ContentFieldFilters;
772
808
  }): Promise<ApiResult<ContentListResponse>>;
773
809
  /** A content author option for the admin author filter. */
774
810
  interface ContentAuthor {
@@ -806,7 +842,7 @@ declare function handleContentGetIncludingTrashed(db: Kysely<Database>, collecti
806
842
  */
807
843
  declare function handleContentCreate(db: Kysely<Database>, collection: string, body: {
808
844
  data: Record<string, unknown>;
809
- slug?: string;
845
+ slug?: string | null;
810
846
  status?: string;
811
847
  authorId?: string;
812
848
  bylines?: ContentBylineInput[];
@@ -826,7 +862,7 @@ declare function handleContentCreate(db: Kysely<Database>, collection: string, b
826
862
  */
827
863
  declare function handleContentUpdate(db: Kysely<Database>, collection: string, id: string, body: {
828
864
  data?: Record<string, unknown>;
829
- slug?: string;
865
+ slug?: string | null;
830
866
  status?: string;
831
867
  authorId?: string | null;
832
868
  bylines?: ContentBylineInput[];
@@ -954,6 +990,7 @@ interface CollectionDefinition {
954
990
  label: string;
955
991
  labelSingular?: string;
956
992
  supports?: string[];
993
+ routable?: boolean;
957
994
  };
958
995
  }
959
996
  type CollectionMap = Record<string, CollectionDefinition>;
@@ -1046,7 +1083,7 @@ declare function handleMediaDelete(db: Kysely<Database>, id: string): Promise<Ap
1046
1083
  }>>;
1047
1084
  //#endregion
1048
1085
  //#region src/media/usage/content-refresh.d.ts
1049
- type ContentMediaUsageRefreshErrorCode = "CONTENT_NOT_FOUND" | "DRAFT_REVISION_NOT_FOUND" | "DRAFT_REVISION_MISMATCH" | "DRAFT_REVISION_INVALID" | "CONTENT_USAGE_REFRESH_ERROR" | "CONTENT_USAGE_DELETE_ERROR" | "CONTENT_USAGE_GENERATION_CONFLICT" | "CONTENT_USAGE_STALE";
1086
+ type ContentMediaUsageRefreshErrorCode = "CONTENT_NOT_FOUND" | "DRAFT_REVISION_NOT_FOUND" | "DRAFT_REVISION_MISMATCH" | "DRAFT_REVISION_INVALID" | "CONTENT_USAGE_REFRESH_ERROR" | "CONTENT_USAGE_DELETE_ERROR" | "CONTENT_USAGE_GENERATION_CONFLICT" | "CONTENT_USAGE_RESOURCE_LIMIT" | "CONTENT_USAGE_STALE";
1050
1087
  declare function markContentMediaUsageCollectionStaleSafely(db: Kysely<Database>, collectionSlug: string, lastErrorCode: ContentMediaUsageRefreshErrorCode): Promise<boolean>;
1051
1088
  //#endregion
1052
1089
  //#region src/schema/registry.d.ts
@@ -1096,6 +1133,12 @@ declare class SchemaRegistry {
1096
1133
  * a manifest that is now built fresh per admin request (no cache).
1097
1134
  */
1098
1135
  listCollectionsWithFields(): Promise<CollectionWithFields[]>;
1136
+ /**
1137
+ * Validate `titleField`/`dateField` against the collection's fields:
1138
+ * `titleField` must be a text-like field; `dateField` must be a `datetime` field.
1139
+ * Only truthy values are checked (undefined = unchanged, null/"" = cleared).
1140
+ */
1141
+ private validateTitleDateFields;
1099
1142
  /**
1100
1143
  * Create a new collection
1101
1144
  */
@@ -1111,6 +1154,7 @@ declare class SchemaRegistry {
1111
1154
  * in parameter-safe batches.
1112
1155
  */
1113
1156
  createSeedCollection(input: Omit<CreateCollectionInput, "source">, fields: readonly CreateFieldInput[]): Promise<void>;
1157
+ private assertSeedFieldDefinitions;
1114
1158
  /**
1115
1159
  * Update a collection
1116
1160
  */
@@ -1173,6 +1217,10 @@ declare class SchemaRegistry {
1173
1217
  * Create a content table for a collection
1174
1218
  */
1175
1219
  private createContentTable;
1220
+ private getFieldIndexName;
1221
+ private getLocaleFieldIndexName;
1222
+ private createFieldIndex;
1223
+ private dropFieldIndex;
1176
1224
  /**
1177
1225
  * Add a column to a content table
1178
1226
  */
@@ -1918,6 +1966,19 @@ interface EmDashConfig {
1918
1966
  */
1919
1967
  allowedOrigins?: string[];
1920
1968
  trustedProxyHeaders?: string[];
1969
+ /**
1970
+ * User middleware that wraps the complete EmDash request pipeline.
1971
+ *
1972
+ * Before `next()` it runs before EmDash initializes its runtime or database,
1973
+ * so `locals.emdash`, the authenticated user, and request-scoped EmDash state
1974
+ * are unavailable. This allows cached responses and request gates to return
1975
+ * without paying initialization cost. When it calls `next()`, the resolved
1976
+ * response includes EmDash HTML injection and all other response mutations,
1977
+ * allowing the middleware to finalize caching and response headers safely.
1978
+ */
1979
+ middleware?: {
1980
+ /** Astro middleware module entrypoint. */outer: string | URL;
1981
+ };
1921
1982
  /**
1922
1983
  * Enable playground mode for ephemeral "try EmDash" sites.
1923
1984
  *
@@ -2126,6 +2187,8 @@ interface SandboxOptions {
2126
2187
  storage?: PluginCodeStorage;
2127
2188
  /** Database for bridge operations */
2128
2189
  db: Kysely<Database>;
2190
+ /** Called immediately before a sandboxed plugin content mutation. */
2191
+ beforeContentWrite?: () => Promise<void>;
2129
2192
  /** Default resource limits */
2130
2193
  limits?: ResourceLimits;
2131
2194
  /** Site info for plugin context (injected into wrapper at generation time) */
@@ -2194,7 +2257,36 @@ interface SerializedRequest {
2194
2257
  headers: Record<string, string>;
2195
2258
  /** Normalized request metadata extracted before RPC serialization */
2196
2259
  meta: RequestMeta;
2260
+ /**
2261
+ * Authenticated caller for private routes, resolved by the host before
2262
+ * dispatch. Undefined for public routes and unbound machine tokens.
2263
+ */
2264
+ user?: UserInfo;
2197
2265
  }
2266
+ declare const SANDBOX_ROUTE_ERROR_DEFINITIONS: {
2267
+ readonly MEDIA_USAGE_ACTIVATION_IN_PROGRESS: {
2268
+ readonly message: "Media usage activation is in progress";
2269
+ readonly status: 503;
2270
+ };
2271
+ readonly MEDIA_USAGE_ACTIVATION_CHECK_FAILED: {
2272
+ readonly message: "Unable to verify media usage activation state";
2273
+ readonly status: 503;
2274
+ };
2275
+ };
2276
+ type SandboxRouteErrorCode = keyof typeof SANDBOX_ROUTE_ERROR_DEFINITIONS;
2277
+ interface SandboxRouteErrorDetails {
2278
+ code: SandboxRouteErrorCode;
2279
+ message: string;
2280
+ status: 503;
2281
+ }
2282
+ interface SandboxRouteErrorEnvelope {
2283
+ __emdashSandboxRouteError: true;
2284
+ error: SandboxRouteErrorDetails;
2285
+ }
2286
+ declare function getSandboxRouteErrorDetails(error: unknown): SandboxRouteErrorDetails | null;
2287
+ declare function createSandboxRouteError(code: SandboxRouteErrorCode): Error & SandboxRouteErrorDetails;
2288
+ declare function createSandboxRouteErrorEnvelope(error: unknown): SandboxRouteErrorEnvelope | null;
2289
+ declare function getSandboxRouteErrorEnvelope(value: unknown): SandboxRouteErrorEnvelope | null;
2198
2290
  /**
2199
2291
  * Sandbox runner interface.
2200
2292
  * Platform adapters implement this to provide plugin isolation.
@@ -2330,6 +2422,7 @@ interface SiteInfoOptions {
2330
2422
  }
2331
2423
  interface PluginContextFactoryOptions {
2332
2424
  db: Kysely<Database>;
2425
+ beforeContentWrite?: () => Promise<void>;
2333
2426
  /**
2334
2427
  * Resolver for the database connection, preferred over `db` when present.
2335
2428
  * Called per `createContext()` so connection-backed adapters (e.g. Postgres
@@ -2760,6 +2853,18 @@ interface RouteResult<T = unknown> {
2760
2853
  };
2761
2854
  status: number;
2762
2855
  }
2856
+ /**
2857
+ * Host-side user shape accepted when dispatching a plugin route. Structurally
2858
+ * matches `User` from `@emdash-cms/auth` so hosts can pass `locals.user`
2859
+ * directly without the plugin layer depending on the auth package.
2860
+ */
2861
+ interface RouteCallerInput {
2862
+ id: string;
2863
+ email: string;
2864
+ name: string | null;
2865
+ role: number;
2866
+ createdAt: Date | string;
2867
+ }
2763
2868
  /**
2764
2869
  * Route invocation options
2765
2870
  */
@@ -2768,6 +2873,11 @@ interface InvokeRouteOptions {
2768
2873
  request: Request;
2769
2874
  /** Request body (already parsed) */
2770
2875
  body?: unknown;
2876
+ /**
2877
+ * Authenticated caller resolved by the host, exposed to the handler as
2878
+ * `ctx.user`. Undefined for public routes and unbound machine tokens.
2879
+ */
2880
+ user?: UserInfo;
2771
2881
  }
2772
2882
  /**
2773
2883
  * Error class for plugin routes
@@ -2824,6 +2934,8 @@ interface CronScheduler {
2824
2934
  reschedule(): void;
2825
2935
  /** Register a system cleanup function to run alongside each tick. */
2826
2936
  setSystemCleanup(fn: SystemCleanupFn): void;
2937
+ /** Register bounded Media Usage maintenance to run after the general tick settles. */
2938
+ setMediaUsageMaintenance?(fn: SystemCleanupFn): void;
2827
2939
  }
2828
2940
  /**
2829
2941
  * System cleanup callback invoked alongside each scheduler tick.
@@ -2991,6 +3103,7 @@ interface EmDashRuntimeParts {
2991
3103
  pipelineFactoryOptions: {
2992
3104
  db: Kysely<Database>;
2993
3105
  getDb?: () => Kysely<Database>;
3106
+ beforeContentWrite?: () => Promise<void>;
2994
3107
  storage?: Storage;
2995
3108
  siteInfo?: {
2996
3109
  siteName?: string;
@@ -3004,6 +3117,16 @@ interface EmDashRuntimeParts {
3004
3117
  current: HookPipeline;
3005
3118
  };
3006
3119
  }
3120
+ type MediaUsageMaintenanceTaskClass = "entry_work" | "collection_deletion" | "reconciliation";
3121
+ type MediaUsageMaintenanceResult = {
3122
+ outcome: "inactive" | "admission_closed";
3123
+ taskClass: null;
3124
+ turn: null;
3125
+ } | {
3126
+ outcome: "processed";
3127
+ taskClass: MediaUsageMaintenanceTaskClass;
3128
+ turn: number;
3129
+ };
3007
3130
  /**
3008
3131
  * EmDashRuntime - singleton per worker
3009
3132
  */
@@ -3084,6 +3207,7 @@ declare class EmDashRuntime {
3084
3207
  * Returns the items promoted so callers can invalidate their cache tags.
3085
3208
  */
3086
3209
  publishScheduled(): Promise<PublishedRef[]>;
3210
+ private publishScheduledWithFence;
3087
3211
  /**
3088
3212
  * Run the full scheduled-maintenance batch: cron tasks, scheduled
3089
3213
  * publishing, and system cleanup. For request-less drivers — the
@@ -3103,6 +3227,7 @@ declare class EmDashRuntime {
3103
3227
  }): Promise<{
3104
3228
  published: PublishedRef[];
3105
3229
  }>;
3230
+ runScheduledMediaUsageTasks(): Promise<MediaUsageMaintenanceResult>;
3106
3231
  /**
3107
3232
  * Materialize plugin-declared storage indexes, once per process.
3108
3233
  *
@@ -3327,6 +3452,10 @@ declare class EmDashRuntime {
3327
3452
  dateField?: ContentDateField;
3328
3453
  dateFrom?: string;
3329
3454
  dateTo?: string;
3455
+ bylines?: string[];
3456
+ bylinesNone?: boolean;
3457
+ includeInferredBylines?: boolean;
3458
+ fieldFilters?: ContentFieldFilters;
3330
3459
  }): Promise<ApiResult<ContentListResponse>>;
3331
3460
  handleContentAuthors(collection: string): Promise<ApiResult<{
3332
3461
  items: ContentAuthor[];
@@ -3346,7 +3475,7 @@ declare class EmDashRuntime {
3346
3475
  private hydrateDraftData;
3347
3476
  handleContentCreate(collection: string, body: {
3348
3477
  data: Record<string, unknown>;
3349
- slug?: string;
3478
+ slug?: string | null;
3350
3479
  status?: string;
3351
3480
  authorId?: string;
3352
3481
  bylines?: Array<{
@@ -3375,7 +3504,7 @@ declare class EmDashRuntime {
3375
3504
  }>;
3376
3505
  handleContentUpdate(collection: string, id: string, body: {
3377
3506
  data?: Record<string, unknown>;
3378
- slug?: string;
3507
+ slug?: string | null;
3379
3508
  status?: string;
3380
3509
  authorId?: string | null;
3381
3510
  bylines?: Array<{
@@ -3523,13 +3652,14 @@ declare class EmDashRuntime {
3523
3652
  * contract of `getPluginSettingsSchema` for build-time plugins.
3524
3653
  */
3525
3654
  getRuntimePluginSettingsSchema(pluginId: string): Record<string, SettingField> | null;
3526
- handlePluginApiRoute(pluginId: string, _method: string, path: string, request: Request): Promise<{
3655
+ handlePluginApiRoute(pluginId: string, _method: string, path: string, request: Request, user?: RouteCallerInput | null): Promise<{
3527
3656
  success: boolean;
3528
3657
  data?: unknown;
3529
3658
  error?: {
3530
3659
  code: string;
3531
3660
  message: string;
3532
3661
  };
3662
+ status?: number;
3533
3663
  }>;
3534
3664
  getPluginMcpTools(pluginId?: string): Promise<{
3535
3665
  pluginId: string;
@@ -3552,13 +3682,14 @@ declare class EmDashRuntime {
3552
3682
  outputSchema?: z$1.ZodType;
3553
3683
  }[]>;
3554
3684
  serializePluginMcpConsent(tools: Awaited<ReturnType<EmDashRuntime["getPluginMcpTools"]>>, pluginId: string): string;
3555
- handlePluginMcpTool(pluginId: string, toolName: string, route: string, input: unknown, actorId: string, request: Request): Promise<{
3685
+ handlePluginMcpTool(pluginId: string, toolName: string, route: string, input: unknown, actorId: string, request: Request, caller?: RouteCallerInput | null): Promise<{
3556
3686
  success: boolean;
3557
3687
  data?: unknown;
3558
3688
  error?: {
3559
3689
  code: string;
3560
3690
  message: string;
3561
3691
  };
3692
+ status?: number;
3562
3693
  }>;
3563
3694
  handlePluginMcpDenied(pluginId: string, toolName: string, route: string, actorId: string, request: Request, reason: string): Promise<void>;
3564
3695
  private findSandboxedPlugin;
@@ -4458,6 +4589,8 @@ interface I18nConfig {
4458
4589
  * Returns null if i18n is not configured.
4459
4590
  */
4460
4591
  declare function getI18nConfig(): I18nConfig | null;
4592
+ /** Resolve the locale for a new content row. */
4593
+ declare function resolveContentCreateLocale(locale: unknown, config?: I18nConfig | null): string;
4461
4594
  /**
4462
4595
  * Check if i18n is enabled.
4463
4596
  * Returns true when multiple locales are configured.
@@ -4814,12 +4947,12 @@ declare const pluginManifestSchema: z$1.ZodObject<{
4814
4947
  number: "number";
4815
4948
  boolean: "boolean";
4816
4949
  slug: "slug";
4950
+ text: "text";
4951
+ select: "select";
4817
4952
  file: "file";
4818
4953
  image: "image";
4819
4954
  datetime: "datetime";
4820
- text: "text";
4821
4955
  integer: "integer";
4822
- select: "select";
4823
4956
  multiSelect: "multiSelect";
4824
4957
  portableText: "portableText";
4825
4958
  reference: "reference";
@@ -5072,8 +5205,10 @@ declare class NodeCronScheduler implements CronScheduler {
5072
5205
  private timer;
5073
5206
  private running;
5074
5207
  private systemCleanup;
5208
+ private mediaUsageMaintenance;
5075
5209
  constructor(executor: CronExecutor);
5076
5210
  setSystemCleanup(fn: SystemCleanupFn): void;
5211
+ setMediaUsageMaintenance(fn: SystemCleanupFn): void;
5077
5212
  start(): void;
5078
5213
  stop(): void;
5079
5214
  reschedule(): void;
@@ -5768,8 +5903,8 @@ declare function getTaxonomyTerms(taxonomyName: string, options?: TaxonomyTermsO
5768
5903
  */
5769
5904
  declare function getTerm(taxonomyName: string, slug: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm | null>;
5770
5905
  /**
5771
- * Terms assigned to a content entry, resolved into the active locale. Terms
5772
- * whose translation_group lacks a row in the requested locale are omitted.
5906
+ * Terms assigned to a content entry, resolved into the active locale and then
5907
+ * the configured default locale.
5773
5908
  */
5774
5909
  declare function getEntryTerms(collection: string, entryId: string, taxonomyName?: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm[]>;
5775
5910
  /**
@@ -5875,6 +6010,8 @@ interface SearchConfig {
5875
6010
  enabled: boolean;
5876
6011
  /** Field weights for ranking (higher = more important) */
5877
6012
  weights?: Record<string, number>;
6013
+ /** Field slug used as the result title, from the collection's titleField. */
6014
+ titleField?: string;
5878
6015
  /** FTS5 tokenizer configuration (defaults to English Porter stemming) */
5879
6016
  tokenize?: SearchTokenizer;
5880
6017
  }
@@ -6013,6 +6150,30 @@ declare class FTSManager {
6013
6150
  * @param tokenize - Optional FTS5 tokenizer configuration
6014
6151
  */
6015
6152
  createFtsTable(collectionSlug: string, searchableFields: string[], _weights?: Record<string, number>, tokenize?: SearchTokenizer): Promise<void>;
6153
+ /**
6154
+ * SQL expression producing the indexed value for one searchable field.
6155
+ *
6156
+ * Portable Text fields are stored as JSON; indexing the raw JSON pollutes
6157
+ * the index with structural tokens (`_type`, style values like `normal`,
6158
+ * `_key` ULIDs) and makes snippets show JSON fragments. Extract the prose
6159
+ * instead: every JSON string under a `text`, `alt`, `caption`, or `code`
6160
+ * key (span text, image alt/caption, code blocks). This is a superset of
6161
+ * `extractPlainText` in text-extraction.ts, which walks only known block
6162
+ * shapes — the SQL variant takes those keys at any depth, so search and
6163
+ * the extractPlainText consumers (vectorize/ai-search) can see different
6164
+ * text for the same document. Only JSON documents
6165
+ * (arrays/objects) are extracted; legacy rows holding a bare string or a
6166
+ * JSON scalar (`Some title`, `2024`) are indexed as-is. Extraction must
6167
+ * live in SQL because the sync triggers cannot call into JS.
6168
+ *
6169
+ * `ref` must be a validated column reference (`NEW.x`, `OLD.x`, `"x"`).
6170
+ */
6171
+ private searchValueExpr;
6172
+ /**
6173
+ * Field type per slug for a collection, for choosing the indexed-value
6174
+ * expression. Fields missing from the schema fall back to raw indexing.
6175
+ */
6176
+ private getFieldTypes;
6016
6177
  /**
6017
6178
  * Create triggers to keep FTS table in sync with content table.
6018
6179
  *
@@ -6021,31 +6182,20 @@ declare class FTSManager {
6021
6182
  * search index and ensures the FTS row count matches the non-deleted
6022
6183
  * content count (which `verifyAndRepairIndex` relies on).
6023
6184
  *
6024
- * IMPORTANT: The FTS5 virtual table is created with `content='ec_<slug>'`
6025
- * which makes it an *external content* FTS5 table. For external-content
6026
- * tables, removing a row must use the documented `'delete'` command and
6027
- * supply the OLD column values explicitly, e.g.:
6028
- *
6029
- * INSERT INTO fts(fts, rowid, col1, col2)
6030
- * VALUES('delete', OLD.rowid, OLD.col1, OLD.col2);
6031
- *
6032
- * Using `DELETE FROM fts WHERE rowid = OLD.rowid` is the correct form
6033
- * for *contentless* tables but is unsafe for external-content tables:
6034
- * FTS5 then reads column values from the backing content table, which
6035
- * in an AFTER UPDATE trigger already holds the NEW values. The wrong
6036
- * tokens get removed and the inverted index drifts out of sync until
6037
- * SQLite raises `SQLITE_CORRUPT_VTAB` on the next mutation. See
6038
- * https://www.sqlite.org/fts5.html#external_content_tables.
6039
- *
6040
- * The UPDATE and DELETE triggers gate the `'delete'` on
6041
- * `OLD.deleted_at IS NULL` because the INSERT trigger never indexed
6042
- * rows that were already soft-deleted. Issuing `'delete'` for a rowid
6043
- * that was never inserted into the FTS index is itself a corruption
6044
- * trigger -- FTS5's `'delete'` is not a no-op on missing rowids and
6045
- * raises `SQLITE_CORRUPT_VTAB`. Affected paths include restore-from-
6046
- * trash (UPDATE where `OLD.deleted_at IS NOT NULL`), permanent-delete
6047
- * from trash (DELETE on a soft-deleted row), and any edit on a row
6048
- * that's currently in the trash.
6185
+ * The FTS table stores its own values (no `content=` option), so removal
6186
+ * is a plain `DELETE FROM fts WHERE rowid = OLD.rowid` — a harmless no-op
6187
+ * for rows that were never indexed (soft-deleted content). The
6188
+ * external-content `'delete'`-command choreography and its corruption
6189
+ * modes (migration 039) do not apply to self-contained tables.
6190
+ *
6191
+ * `INSERT OR REPLACE` keeps the insert path idempotent: re-running a
6192
+ * populate (D1 has no migration lock, so two isolates can race) converges
6193
+ * on one index row per content row instead of failing on the rowid
6194
+ * constraint.
6195
+ *
6196
+ * The trigger SQL emitted here MUST stay in lock-step with migration
6197
+ * `064_fts_plain_text.ts`. If this changes again, add a new migration
6198
+ * rather than editing shipped ones — migrations are forward-only.
6049
6199
  */
6050
6200
  private createTriggers;
6051
6201
  /**
@@ -6063,7 +6213,10 @@ declare class FTSManager {
6063
6213
  */
6064
6214
  rebuildIndex(collectionSlug: string, searchableFields: string[], weights?: Record<string, number>, tokenize?: SearchTokenizer): Promise<void>;
6065
6215
  /**
6066
- * Populate the FTS table from existing content
6216
+ * Populate the FTS table from existing content.
6217
+ *
6218
+ * `INSERT OR REPLACE` so a concurrent double-populate (D1 has no
6219
+ * migration lock) converges instead of failing on the rowid constraint.
6067
6220
  */
6068
6221
  populateFromContent(collectionSlug: string, searchableFields: string[]): Promise<void>;
6069
6222
  /**
@@ -6084,7 +6237,7 @@ declare class FTSManager {
6084
6237
  * `title` is not a system column on `ec_*` tables -- it exists only when a
6085
6238
  * collection defines a field with slug `title`. Search and suggestion SQL
6086
6239
  * that selects `c.title` must check this first; otherwise collections
6087
- * without a title field raise "no such column: c.title" (#1178).
6240
+ * without a title field raise "no such column: c.title".
6088
6241
  */
6089
6242
  hasTitleColumn(collectionSlug: string): Promise<boolean>;
6090
6243
  /**
@@ -6241,5 +6394,5 @@ declare function extractPlainText(blocks: PortableTextBlock[] | string | null |
6241
6394
  */
6242
6395
  declare function extractSearchableFields(entry: Record<string, unknown>, fields: string[]): Record<string, string>;
6243
6396
  //#endregion
6244
- export { MenuItem as $, CronScheduler as $n, handleContentPublish as $r, CollectionFilter as $t, WidgetType as A, portableTextToProsemirror as An, handleMediaDelete as Ar, createPluginManager as At, CreateTermInput as B, ProseMirrorDocument as Bn, handleContentAuthors as Br, invalidateCollectionCache as Bt, CreateWidgetInput as C, EmDashDatabaseError as Ci, WhereValue as Cn, getCollectionInfo as Cr, parseContentId as Ct, Widget as D, sanitizeHref as Dn, MediaListResponse as Dr, createNoopSandboxRunner as Dt, UpdateWidgetInput as E, isSafeHref as En, markContentMediaUsageCollectionStaleSafely as Er, SandboxNotAvailableError as Et, getTaxonomyDefs as F, PortableTextLinkMark as Fn, RevisionResponse as Fr, CachedQueryOptions as Ft, getByline as G, CreateSectionInput as Gn, handleContentDelete as Gr, invalidateTaxonomyObjectCache as Gt, TaxonomyTerm as H, ProseMirrorNode as Hn, handleContentCountScheduled as Hr, invalidateMenuObjectCache as Ht, getTaxonomyTerms as I, PortableTextMarkDef as In, handleRevisionGet as Ir, cachedQuery as It, getMenu as J, SectionSource as Jn, handleContentGet as Jr, getI18nConfig as Jt, getBylineBySlug as K, GetSectionsOptions as Kn, handleContentDiscardDraft as Kr, I18nConfig as Kt, getTerm as L, PortableTextSpan as Ln, handleRevisionList as Lr, contentNamespace as Lt, getEntriesByTerm as M, PortableTextCodeBlock as Mn, handleMediaList as Mr, pluginManifestSchema as Mt, getEntryTerms as N, PortableTextHtmlBlock as Nn, handleMediaUpdate as Nr, definePlugin as Nt, WidgetArea as O, computeContentHash as On, MediaResponse as Or, NodeCronScheduler as Ot, getTaxonomyDef as P, PortableTextImageBlock as Pn, RevisionListResponse as Pr, CacheNamespace as Pt, Menu as Q, PublishedRef as Qn, handleContentPermanentDelete as Qr, CacheHint as Qt, getTermsForEntries as R, PortableTextTextBlock as Rn, handleRevisionRestore as Rr, contentNamespaces as Rt, CreateWidgetAreaInput as S, DatabaseConfig as Si, WhereRange as Sn, StorageDescriptor as Sr, generatePreviewToken as St, ReorderWidgetsInput as T, getDb as Tn, SchemaRegistry as Tr, NoopSandboxRunner as Tt, TaxonomyTermRow as U, getSection as Un, handleContentCountTrashed as Ur, invalidateObjectCache as Ut, TaxonomyDef as V, ProseMirrorMark as Vn, handleContentCompare as Vr, invalidateCommentObjectCache as Vt, UpdateTermInput as W, getSections as Wn, handleContentCreate as Wr, invalidateSchemaObjectCache as Wt, CreateMenuInput as X, EmDashRuntime as Xn, handleContentList as Xr, WaitUntilFn as Xt, getMenus as Y, UpdateSectionInput as Yn, handleContentGetIncludingTrashed as Yr, isI18nEnabled as Yt, CreateMenuItemInput as Z, SandboxedPluginEntry as Zn, handleContentListTrashed as Zr, after as Zt, SuggestOptions as _, UserRepository as _i, createEditable as _n, EmDashConfig as _r, getPreviewUrl as _t, search as a, handleContentUpdate as ai, InferCollectionData as an, HookResult as ar, GetCommentsResult as at, getWidgetAreas as b, MediaRepository as bi, EntryData as bn, LocalStorageConfig as br, VerifyPreviewTokenOptions as bt, FTSManager as c, file as ci, TranslationsResult as cn, createUnrestrictedHttpAccess as cr, getPluginSetting as ct, SearchConfig as d, FieldUIHints as di, getEmDashEntry as dn, SandboxOptions as dr, getSiteSettings as dt, handleContentRestore as ei, CollectionResult as en, SystemCleanupFn as er, MenuItemType as et, SearchOptions as f, FileValue as fi, getTranslations as fn, SandboxRunner as fr, setSiteSettings as ft, SearchTokenizer as g, PluginStorageRepository as gi, FieldAnnotation as gn, SerializedRequest as gr, buildPreviewUrl as gt, SearchStats as h, CompoundSelectLimitedAdapter as hi, EditProxy as hn, SandboxedPluginInstance as hr, GetPreviewUrlOptions as ht, getSuggestions as i, handleContentUnschedule as ii, EntryResult as in, HookPipeline as ir, GetCommentsOptions as it, getAllTermsForEntries as j, prosemirrorToPortableText as jn, handleMediaGet as jr, ValidatedPluginManifest as jt, WidgetComponentDef as k, hashString as kn, handleMediaCreate as kr, PluginManager as kt, CollectionSearchOptions as l, image as li, getEditMeta as ln, SandboxEmailMessage as lr, getPluginSettings as lt, SearchResult as m, PortableTextBlock$1 as mi, CMSAnnotation as mn, SandboxUnavailableError as mr, isPreviewRequest as mt, extractSearchableFields as n, handleContentTranslations as ni, EditFieldMeta as nn, RouteMeta as nr, UpdateMenuInput as nt, searchCollection as o, portableText as oi, ResolvePathResult as on, createHookPipeline as or, getCommentCount as ot, SearchResponse as p, ImageValue as pi, resolveEmDashPath as pn, SandboxRunnerFactory as pr, getPreviewToken as pt, getEntriesByByline as q, Section as qn, handleContentDuplicate as qr, getFallbackChain as qt, getSearchStats as r, handleContentUnpublish as ri, EmDashCollections as rn, EmailPipeline as rr, UpdateMenuItemInput as rt, searchWithDb as s, reference as si, TranslationSummary as sn, createHttpAccess as sr, getComments as st, extractPlainText as t, handleContentSchedule as ti, ContentEntry as tn, PluginRouteError as tr, ReorderMenuItemsInput as tt, SEARCH_TOKENIZERS as u, FieldDefinition as ui, getEmDashCollection as un, SandboxEmailSendCallback as ur, getSiteSetting as ut, Suggestion as v, CreateMediaInput as vi, createNoop as vn, PluginDescriptor as vr, GeneratePreviewTokenOptions as vt, PropDef as w, emdashLoader as wn, SchemaError as wr, verifyPreviewToken as wt, getWidgetComponents as x, ContentRepository as xi, EntryFilter as xn, S3StorageConfig as xr, VerifyPreviewTokenResult as xt, getWidgetArea as y, MediaItem as yi, CollectionFilter$1 as yn, getStoredConfig as yr, PreviewTokenPayload as yt, invalidateTermCache as z, PortableTextUnknownBlock as zn, generateManifest as zr, invalidateBylineObjectCache as zt };
6245
- //# sourceMappingURL=index-M37iz29I.d.mts.map
6397
+ export { MenuItem as $, SandboxedPluginEntry as $n, handleContentCountTrashed as $r, CacheHint as $t, WidgetType as A, MediaRepository as Ai, hashString as An, LocalStorageConfig as Ar, createPluginManager as At, CreateTermInput as B, PortableTextUnknownBlock as Bn, handleMediaDelete as Br, invalidateCollectionCache as Bt, CreateWidgetInput as C, ImageValue as Ci, WhereRange as Cn, createSandboxRouteError as Cr, parseContentId as Ct, Widget as D, UserRepository as Di, isSafeHref as Dn, EmDashConfig as Dr, createNoopSandboxRunner as Dt, UpdateWidgetInput as E, PluginStorageRepository as Ei, getDb as En, getSandboxRouteErrorEnvelope as Er, SandboxNotAvailableError as Et, getTaxonomyDefs as F, PortableTextImageBlock as Fn, SchemaRegistry as Fr, CachedQueryOptions as Ft, getByline as G, getSections as Gn, RevisionResponse as Gr, invalidateTaxonomyObjectCache as Gt, TaxonomyTerm as H, ProseMirrorMark as Hn, handleMediaList as Hr, invalidateMenuObjectCache as Ht, getTaxonomyTerms as I, PortableTextLinkMark as In, markContentMediaUsageCollectionStaleSafely as Ir, cachedQuery as It, getMenu as J, Section as Jn, handleRevisionRestore as Jr, getI18nConfig as Jt, getBylineBySlug as K, CreateSectionInput as Kn, handleRevisionGet as Kr, I18nConfig as Kt, getTerm as L, PortableTextMarkDef as Ln, MediaListResponse as Lr, contentNamespace as Lt, getEntriesByTerm as M, DatabaseConfig as Mi, prosemirrorToPortableText as Mn, StorageDescriptor as Mr, pluginManifestSchema as Mt, getEntryTerms as N, EmDashDatabaseError as Ni, PortableTextCodeBlock as Nn, getCollectionInfo as Nr, definePlugin as Nt, WidgetArea as O, CreateMediaInput as Oi, sanitizeHref as On, PluginDescriptor as Or, NodeCronScheduler as Ot, getTaxonomyDef as P, PortableTextHtmlBlock as Pn, SchemaError as Pr, CacheNamespace as Pt, Menu as Q, MediaUsageMaintenanceResult as Qn, handleContentCountScheduled as Qr, after as Qt, getTermsForEntries as R, PortableTextSpan as Rn, MediaResponse as Rr, contentNamespaces as Rt, CreateWidgetAreaInput as S, FileValue as Si, EntryFilter as Sn, SerializedRequest as Sr, generatePreviewToken as St, ReorderWidgetsInput as T, CompoundSelectLimitedAdapter as Ti, emdashLoader as Tn, getSandboxRouteErrorDetails as Tr, NoopSandboxRunner as Tt, TaxonomyTermRow as U, ProseMirrorNode as Un, handleMediaUpdate as Ur, invalidateObjectCache as Ut, TaxonomyDef as V, ProseMirrorDocument as Vn, handleMediaGet as Vr, invalidateCommentObjectCache as Vt, UpdateTermInput as W, getSection as Wn, RevisionListResponse as Wr, invalidateSchemaObjectCache as Wt, CreateMenuInput as X, UpdateSectionInput as Xn, handleContentAuthors as Xr, resolveContentCreateLocale as Xt, getMenus as Y, SectionSource as Yn, generateManifest as Yr, isI18nEnabled as Yt, CreateMenuItemInput as Z, EmDashRuntime as Zn, handleContentCompare as Zr, WaitUntilFn as Zt, SuggestOptions as _, reference as _i, FieldAnnotation as _n, SandboxRouteErrorEnvelope as _r, getPreviewUrl as _t, search as a, handleContentGetIncludingTrashed as ai, EntryResult as an, RouteMeta as ar, GetCommentsResult as at, getWidgetAreas as b, FieldDefinition as bi, CollectionFilter$1 as bn, SandboxUnavailableError as br, VerifyPreviewTokenOptions as bt, FTSManager as c, handleContentPermanentDelete as ci, TranslationSummary as cn, HookResult as cr, getPluginSetting as ct, SearchConfig as d, handleContentSchedule as di, getEmDashCollection as dn, createUnrestrictedHttpAccess as dr, getSiteSettings as dt, handleContentCreate as ei, CollectionFilter as en, PublishedRef as er, MenuItemType as et, SearchOptions as f, handleContentTranslations as fi, getEmDashEntry as fn, SandboxEmailMessage as fr, setSiteSettings as ft, SearchTokenizer as g, portableText as gi, EditProxy as gn, SandboxRouteErrorDetails as gr, buildPreviewUrl as gt, SearchStats as h, handleContentUpdate as hi, CMSAnnotation as hn, SandboxRouteErrorCode as hr, GetPreviewUrlOptions as ht, getSuggestions as i, handleContentGet as ii, EmDashCollections as in, RouteCallerInput as ir, GetCommentsOptions as it, getAllTermsForEntries as j, ContentRepository as ji, portableTextToProsemirror as jn, S3StorageConfig as jr, ValidatedPluginManifest as jt, WidgetComponentDef as k, MediaItem as ki, computeContentHash as kn, getStoredConfig as kr, PluginManager as kt, CollectionSearchOptions as l, handleContentPublish as li, TranslationsResult as ln, createHookPipeline as lr, getPluginSettings as lt, SearchResult as m, handleContentUnschedule as mi, resolveEmDashPath as mn, SandboxOptions as mr, isPreviewRequest as mt, extractSearchableFields as n, handleContentDiscardDraft as ni, ContentEntry as nn, SystemCleanupFn as nr, UpdateMenuInput as nt, searchCollection as o, handleContentList as oi, InferCollectionData as on, EmailPipeline as or, getCommentCount as ot, SearchResponse as p, handleContentUnpublish as pi, getTranslations as pn, SandboxEmailSendCallback as pr, getPreviewToken as pt, getEntriesByByline as q, GetSectionsOptions as qn, handleRevisionList as qr, getFallbackChain as qt, getSearchStats as r, handleContentDuplicate as ri, EditFieldMeta as rn, PluginRouteError as rr, UpdateMenuItemInput as rt, searchWithDb as s, handleContentListTrashed as si, ResolvePathResult as sn, HookPipeline as sr, getComments as st, extractPlainText as t, handleContentDelete as ti, CollectionResult as tn, CronScheduler as tr, ReorderMenuItemsInput as tt, SEARCH_TOKENIZERS as u, handleContentRestore as ui, getEditMeta as un, createHttpAccess as ur, getSiteSetting as ut, Suggestion as v, file as vi, createEditable as vn, SandboxRunner as vr, GeneratePreviewTokenOptions as vt, PropDef as w, PortableTextBlock$1 as wi, WhereValue as wn, createSandboxRouteErrorEnvelope as wr, verifyPreviewToken as wt, getWidgetComponents as x, FieldUIHints as xi, EntryData as xn, SandboxedPluginInstance as xr, VerifyPreviewTokenResult as xt, getWidgetArea as y, image as yi, createNoop as yn, SandboxRunnerFactory as yr, PreviewTokenPayload as yt, invalidateTermCache as z, PortableTextTextBlock as zn, handleMediaCreate as zr, invalidateBylineObjectCache as zt };
6398
+ //# sourceMappingURL=index-C3Y-rsyN.d.mts.map