emdash 0.36.0 → 0.38.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 (991) hide show
  1. package/dist/{activation-K0kGBWuJ.mjs → activation-DyNTe_Tl.mjs} +3 -3
  2. package/dist/{activation-K0kGBWuJ.mjs.map → activation-DyNTe_Tl.mjs.map} +1 -1
  3. package/dist/{adapters-CzL3H752.d.mts → adapters-DCEgOBXi.d.mts} +4 -2
  4. package/dist/{adapters-CzL3H752.d.mts.map → adapters-DCEgOBXi.d.mts.map} +1 -1
  5. package/dist/{allowed-origins-maylGaHv.mjs → allowed-origins-GFUVavRj.mjs} +2 -2
  6. package/dist/{allowed-origins-maylGaHv.mjs.map → allowed-origins-GFUVavRj.mjs.map} +1 -1
  7. package/dist/api/route-utils.d.mts +3 -3
  8. package/dist/api/route-utils.mjs +25 -24
  9. package/dist/api/route-utils.mjs.map +1 -1
  10. package/dist/api/schemas/index.d.mts +2 -2
  11. package/dist/api/schemas/index.mjs +5 -5
  12. package/dist/api-BvxJmnFY.mjs +10094 -0
  13. package/dist/api-BvxJmnFY.mjs.map +1 -0
  14. package/dist/{api-tokens-9YrrCoE6.mjs → api-tokens-xpGqMHrC.mjs} +2 -2
  15. package/dist/{api-tokens-9YrrCoE6.mjs.map → api-tokens-xpGqMHrC.mjs.map} +1 -1
  16. package/dist/{apply-B_VMpJ2P.mjs → apply-DLmM3R7f.mjs} +26 -22
  17. package/dist/apply-DLmM3R7f.mjs.map +1 -0
  18. package/dist/artifact-fetch-P2JXVwOq.mjs +972 -0
  19. package/dist/artifact-fetch-P2JXVwOq.mjs.map +1 -0
  20. package/dist/astro/image-endpoint.mjs +2 -2
  21. package/dist/astro/image-endpoint.mjs.map +1 -1
  22. package/dist/astro/index.d.mts +12 -12
  23. package/dist/astro/index.d.mts.map +1 -1
  24. package/dist/astro/index.mjs +138 -39
  25. package/dist/astro/index.mjs.map +1 -1
  26. package/dist/astro/middleware/auth.d.mts +10 -10
  27. package/dist/astro/middleware/auth.mjs +6 -6
  28. package/dist/astro/middleware/media-usage-write-fence.mjs +3 -3
  29. package/dist/astro/middleware/redirect.mjs +7 -5
  30. package/dist/astro/middleware/redirect.mjs.map +1 -1
  31. package/dist/astro/middleware/request-context.mjs +3 -3
  32. package/dist/astro/middleware/setup.mjs +1 -1
  33. package/dist/astro/middleware.d.mts +10 -10
  34. package/dist/astro/middleware.d.mts.map +1 -1
  35. package/dist/astro/middleware.mjs +223 -232
  36. package/dist/astro/middleware.mjs.map +1 -1
  37. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +6 -6
  38. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +6 -6
  39. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +3 -3
  40. package/dist/astro/routes/api/admin/api-tokens/index.d.mts.map +1 -1
  41. package/dist/astro/routes/api/admin/api-tokens/index.mjs +5 -5
  42. package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -1
  43. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +4 -4
  44. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +9 -9
  45. package/dist/astro/routes/api/admin/byline-fields/index.mjs +9 -9
  46. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +9 -9
  47. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +17 -17
  48. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +17 -17
  49. package/dist/astro/routes/api/admin/bylines/index.mjs +17 -17
  50. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +13 -13
  51. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  52. package/dist/astro/routes/api/admin/comments/bulk.mjs +10 -10
  53. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  54. package/dist/astro/routes/api/admin/comments/index.mjs +10 -10
  55. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +4 -4
  56. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  57. package/dist/astro/routes/api/admin/media-usage/activation.mjs +13 -13
  58. package/dist/astro/routes/api/admin/media-usage/collection-deletions/index.mjs +15 -15
  59. package/dist/astro/routes/api/admin/media-usage/collection-deletions/retry.mjs +15 -15
  60. package/dist/astro/routes/api/admin/media-usage/progress.mjs +14 -14
  61. package/dist/astro/routes/api/admin/media-usage/repair.mjs +17 -17
  62. package/dist/astro/routes/api/admin/media-usage/work/index.mjs +15 -15
  63. package/dist/astro/routes/api/admin/media-usage/work/retry.mjs +15 -15
  64. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +4 -4
  65. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs.map +1 -1
  66. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +4 -4
  67. package/dist/astro/routes/api/admin/oauth-clients/index.mjs.map +1 -1
  68. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +59 -56
  69. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
  70. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +59 -56
  71. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
  72. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +57 -54
  73. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  74. package/dist/astro/routes/api/admin/plugins/_id_/mcp.mjs +4 -4
  75. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs +57 -54
  76. package/dist/astro/routes/api/admin/plugins/_id_/settings.mjs.map +1 -1
  77. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +58 -55
  78. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  79. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +58 -55
  80. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  81. package/dist/astro/routes/api/admin/plugins/index.mjs +57 -54
  82. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  83. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  84. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +57 -54
  85. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +58 -55
  87. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  88. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +57 -54
  89. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  90. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +58 -55
  91. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  92. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.d.mts.map +1 -1
  93. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +64 -57
  94. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  95. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +18 -16
  96. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
  97. package/dist/astro/routes/api/admin/plugins/registry/install.d.mts.map +1 -1
  98. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +65 -58
  99. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  100. package/dist/astro/routes/api/admin/plugins/registry/verify.d.mts +8 -0
  101. package/dist/astro/routes/api/admin/plugins/registry/verify.d.mts.map +1 -0
  102. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs +96 -0
  103. package/dist/astro/routes/api/admin/plugins/registry/verify.mjs.map +1 -0
  104. package/dist/astro/routes/api/admin/plugins/updates.mjs +57 -54
  105. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  106. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +57 -54
  107. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  108. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  109. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +57 -54
  110. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  111. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  112. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  113. package/dist/astro/routes/api/admin/users/_id_/index.mjs +6 -6
  114. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
  115. package/dist/astro/routes/api/admin/users/index.mjs +6 -6
  116. package/dist/astro/routes/api/auth/dev-bypass.mjs +3 -3
  117. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  118. package/dist/astro/routes/api/auth/invite/complete.mjs +11 -11
  119. package/dist/astro/routes/api/auth/invite/index.mjs +8 -8
  120. package/dist/astro/routes/api/auth/invite/register-options.mjs +10 -10
  121. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  122. package/dist/astro/routes/api/auth/magic-link/send.mjs +10 -10
  123. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  124. package/dist/astro/routes/api/auth/me.mjs +7 -7
  125. package/dist/astro/routes/api/auth/mode.mjs +2 -2
  126. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +4 -4
  127. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  128. package/dist/astro/routes/api/auth/passkey/_id_.mjs +6 -6
  129. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  130. package/dist/astro/routes/api/auth/passkey/options.mjs +12 -12
  131. package/dist/astro/routes/api/auth/passkey/register/options.mjs +10 -10
  132. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +11 -11
  133. package/dist/astro/routes/api/auth/passkey/verify.mjs +11 -11
  134. package/dist/astro/routes/api/auth/signup/complete.mjs +11 -11
  135. package/dist/astro/routes/api/auth/signup/request.mjs +10 -10
  136. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  137. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +14 -14
  138. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +13 -13
  139. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  140. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts.map +1 -1
  141. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +19 -5
  142. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
  143. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +3 -3
  144. package/dist/astro/routes/api/content/_collection_/_id_/lock.d.mts +10 -0
  145. package/dist/astro/routes/api/content/_collection_/_id_/lock.d.mts.map +1 -0
  146. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs +66 -0
  147. package/dist/astro/routes/api/content/_collection_/_id_/lock.mjs.map +1 -0
  148. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +2 -2
  149. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +11 -11
  150. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts.map +1 -1
  151. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +18 -10
  152. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
  153. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs +20 -18
  154. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/children.mjs.map +1 -1
  155. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs +20 -18
  156. package/dist/astro/routes/api/content/_collection_/_id_/references/_relation_/parents.mjs.map +1 -1
  157. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +3 -3
  158. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  159. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts.map +1 -1
  160. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +15 -8
  161. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
  162. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +16 -15
  163. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  164. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  165. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts.map +1 -1
  166. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +19 -5
  167. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
  168. package/dist/astro/routes/api/content/_collection_/_id_.d.mts.map +1 -1
  169. package/dist/astro/routes/api/content/_collection_/_id_.mjs +23 -11
  170. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  171. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  172. package/dist/astro/routes/api/content/_collection_/index.mjs +14 -9
  173. package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -1
  174. package/dist/astro/routes/api/content/_collection_/trash.mjs +7 -7
  175. package/dist/astro/routes/api/dashboard.mjs +8 -8
  176. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  177. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  178. package/dist/astro/routes/api/import/probe.mjs +18 -18
  179. package/dist/astro/routes/api/import/wordpress/analyze.mjs +3 -3
  180. package/dist/astro/routes/api/import/wordpress/execute.d.mts +11 -11
  181. package/dist/astro/routes/api/import/wordpress/execute.mjs +15 -14
  182. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  183. package/dist/astro/routes/api/import/wordpress/media.d.mts +10 -10
  184. package/dist/astro/routes/api/import/wordpress/media.mjs +11 -11
  185. package/dist/astro/routes/api/import/wordpress/prepare.mjs +10 -10
  186. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +11 -11
  187. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +13 -13
  188. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  189. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +18 -18
  190. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +11 -11
  191. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +29 -28
  192. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  193. package/dist/astro/routes/api/manifest.mjs +4 -4
  194. package/dist/astro/routes/api/manifest.mjs.map +1 -1
  195. package/dist/astro/routes/api/mcp.mjs +213 -74
  196. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  197. package/dist/astro/routes/api/media/_id_/confirm.mjs +11 -11
  198. package/dist/astro/routes/api/media/_id_/replace.d.mts +8 -0
  199. package/dist/astro/routes/api/media/_id_/replace.d.mts.map +1 -0
  200. package/dist/astro/routes/api/media/_id_/replace.mjs +91 -0
  201. package/dist/astro/routes/api/media/_id_/replace.mjs.map +1 -0
  202. package/dist/astro/routes/api/media/_id_/upload.mjs +6 -6
  203. package/dist/astro/routes/api/media/_id_/usage.mjs +19 -19
  204. package/dist/astro/routes/api/media/_id_.mjs +18 -18
  205. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -1
  206. package/dist/astro/routes/api/media/file/_...key_.mjs +3 -2
  207. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -1
  208. package/dist/astro/routes/api/media/folders/_id_.mjs +8 -8
  209. package/dist/astro/routes/api/media/folders/index.mjs +8 -8
  210. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  211. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  212. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  213. package/dist/astro/routes/api/media/upload-url.mjs +16 -14
  214. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  215. package/dist/astro/routes/api/media.d.mts.map +1 -1
  216. package/dist/astro/routes/api/media.mjs +53 -30
  217. package/dist/astro/routes/api/media.mjs.map +1 -1
  218. package/dist/astro/routes/api/menus/_name_/items/_id_.d.mts.map +1 -1
  219. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +20 -13
  220. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -1
  221. package/dist/astro/routes/api/menus/_name_/items.d.mts.map +1 -1
  222. package/dist/astro/routes/api/menus/_name_/items.mjs +15 -11
  223. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -1
  224. package/dist/astro/routes/api/menus/_name_/reorder.d.mts.map +1 -1
  225. package/dist/astro/routes/api/menus/_name_/reorder.mjs +15 -11
  226. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -1
  227. package/dist/astro/routes/api/menus/_name_/translations.d.mts.map +1 -1
  228. package/dist/astro/routes/api/menus/_name_/translations.mjs +16 -12
  229. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -1
  230. package/dist/astro/routes/api/menus/_name_.d.mts.map +1 -1
  231. package/dist/astro/routes/api/menus/_name_.mjs +21 -14
  232. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -1
  233. package/dist/astro/routes/api/menus/index.d.mts.map +1 -1
  234. package/dist/astro/routes/api/menus/index.mjs +15 -11
  235. package/dist/astro/routes/api/menus/index.mjs.map +1 -1
  236. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  237. package/dist/astro/routes/api/oauth/device/authorize.mjs +5 -5
  238. package/dist/astro/routes/api/oauth/device/code.mjs +8 -8
  239. package/dist/astro/routes/api/oauth/device/token.mjs +7 -7
  240. package/dist/astro/routes/api/oauth/register.mjs +2 -2
  241. package/dist/astro/routes/api/oauth/token/refresh.mjs +5 -5
  242. package/dist/astro/routes/api/oauth/token/revoke.mjs +5 -5
  243. package/dist/astro/routes/api/oauth/token.mjs +5 -5
  244. package/dist/astro/routes/api/openapi.json.mjs +184 -52
  245. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  246. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  247. package/dist/astro/routes/api/redirects/404s/index.mjs +12 -11
  248. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  249. package/dist/astro/routes/api/redirects/404s/summary.mjs +12 -11
  250. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  251. package/dist/astro/routes/api/redirects/_id_.mjs +13 -12
  252. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  253. package/dist/astro/routes/api/redirects/index.mjs +13 -12
  254. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  255. package/dist/astro/routes/api/relations/_id_/index.mjs +20 -18
  256. package/dist/astro/routes/api/relations/_id_/index.mjs.map +1 -1
  257. package/dist/astro/routes/api/relations/_id_/translations.mjs +15 -13
  258. package/dist/astro/routes/api/relations/_id_/translations.mjs.map +1 -1
  259. package/dist/astro/routes/api/relations/index.mjs +20 -18
  260. package/dist/astro/routes/api/relations/index.mjs.map +1 -1
  261. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  262. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +3 -3
  263. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +57 -54
  264. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  265. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +57 -54
  266. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  267. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +57 -54
  268. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  269. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +57 -54
  270. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  271. package/dist/astro/routes/api/schema/collections/index.mjs +57 -54
  272. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  273. package/dist/astro/routes/api/schema/collections/reorder.mjs +57 -54
  274. package/dist/astro/routes/api/schema/collections/reorder.mjs.map +1 -1
  275. package/dist/astro/routes/api/schema/index.mjs +13 -11
  276. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  277. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +57 -54
  278. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  279. package/dist/astro/routes/api/schema/orphans/index.mjs +57 -54
  280. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  281. package/dist/astro/routes/api/search/enable.mjs +12 -11
  282. package/dist/astro/routes/api/search/enable.mjs.map +1 -1
  283. package/dist/astro/routes/api/search/index.mjs +11 -10
  284. package/dist/astro/routes/api/search/index.mjs.map +1 -1
  285. package/dist/astro/routes/api/search/rebuild.mjs +12 -11
  286. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -1
  287. package/dist/astro/routes/api/search/stats.mjs +7 -6
  288. package/dist/astro/routes/api/search/stats.mjs.map +1 -1
  289. package/dist/astro/routes/api/search/suggest.mjs +11 -10
  290. package/dist/astro/routes/api/search/suggest.mjs.map +1 -1
  291. package/dist/astro/routes/api/sections/_slug_.mjs +11 -10
  292. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  293. package/dist/astro/routes/api/sections/index.mjs +11 -10
  294. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  295. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs +7 -6
  296. package/dist/astro/routes/api/settings/backups/archives/_name_.mjs.map +1 -1
  297. package/dist/astro/routes/api/settings/backups/archives/index.mjs +6 -5
  298. package/dist/astro/routes/api/settings/backups/archives/index.mjs.map +1 -1
  299. package/dist/astro/routes/api/settings/backups/export.mjs +7 -6
  300. package/dist/astro/routes/api/settings/backups/export.mjs.map +1 -1
  301. package/dist/astro/routes/api/settings/backups/index.mjs +8 -7
  302. package/dist/astro/routes/api/settings/backups/index.mjs.map +1 -1
  303. package/dist/astro/routes/api/settings/email.mjs +5 -5
  304. package/dist/astro/routes/api/settings/email.mjs.map +1 -1
  305. package/dist/astro/routes/api/settings.d.mts.map +1 -1
  306. package/dist/astro/routes/api/settings.mjs +21 -17
  307. package/dist/astro/routes/api/settings.mjs.map +1 -1
  308. package/dist/astro/routes/api/setup/admin-verify.mjs +12 -12
  309. package/dist/astro/routes/api/setup/admin.mjs +11 -11
  310. package/dist/astro/routes/api/setup/dev-bypass.mjs +35 -33
  311. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  312. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  313. package/dist/astro/routes/api/setup/index.mjs +35 -33
  314. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  315. package/dist/astro/routes/api/setup/status.mjs +3 -3
  316. package/dist/astro/routes/api/snapshot.mjs +8 -7
  317. package/dist/astro/routes/api/snapshot.mjs.map +1 -1
  318. package/dist/astro/routes/api/taxonomies/_name_/reorder.d.mts.map +1 -1
  319. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs +22 -17
  320. package/dist/astro/routes/api/taxonomies/_name_/reorder.mjs.map +1 -1
  321. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.d.mts.map +1 -1
  322. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +23 -18
  323. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  324. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts.map +1 -1
  325. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +27 -19
  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 +22 -17
  329. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  330. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs +16 -15
  331. package/dist/astro/routes/api/taxonomies/_name_/translations.mjs.map +1 -1
  332. package/dist/astro/routes/api/taxonomies/_name_.d.mts.map +1 -1
  333. package/dist/astro/routes/api/taxonomies/_name_.mjs +28 -20
  334. package/dist/astro/routes/api/taxonomies/_name_.mjs.map +1 -1
  335. package/dist/astro/routes/api/taxonomies/index.d.mts.map +1 -1
  336. package/dist/astro/routes/api/taxonomies/index.mjs +22 -17
  337. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  338. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  339. package/dist/astro/routes/api/typegen.mjs +4 -4
  340. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  341. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  342. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  343. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts.map +1 -1
  344. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +10 -8
  345. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -1
  346. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts.map +1 -1
  347. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +18 -14
  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.d.mts.map +1 -1
  350. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +16 -13
  351. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -1
  352. package/dist/astro/routes/api/widget-areas/_name_.d.mts.map +1 -1
  353. package/dist/astro/routes/api/widget-areas/_name_.mjs +9 -7
  354. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -1
  355. package/dist/astro/routes/api/widget-areas/index.d.mts.map +1 -1
  356. package/dist/astro/routes/api/widget-areas/index.mjs +16 -13
  357. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -1
  358. package/dist/astro/routes/api/widget-components.mjs +2 -2
  359. package/dist/astro/routes/robots.txt.mjs +8 -8
  360. package/dist/astro/routes/sitemap-_collection_.xml.mjs +13 -12
  361. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  362. package/dist/astro/routes/sitemap.xml.mjs +9 -9
  363. package/dist/astro/types.d.mts +50 -20
  364. package/dist/astro/types.d.mts.map +1 -1
  365. package/dist/auth/providers/github.d.mts +1 -1
  366. package/dist/auth/providers/google.d.mts +1 -1
  367. package/dist/{authorize-ByYs-Uxs.mjs → authorize-C2QHlWSS.mjs} +2 -2
  368. package/dist/{authorize-ByYs-Uxs.mjs.map → authorize-C2QHlWSS.mjs.map} +1 -1
  369. package/dist/{backup-ChyHfIoX.mjs → backup-oS8ft5Cm.mjs} +5 -5
  370. package/dist/{backup-ChyHfIoX.mjs.map → backup-oS8ft5Cm.mjs.map} +1 -1
  371. package/dist/{bundle-DZFhFurR.mjs → bundle-CL0JjIPx.mjs} +4 -4
  372. package/dist/{bundle-DZFhFurR.mjs.map → bundle-CL0JjIPx.mjs.map} +1 -1
  373. package/dist/{byline-Cpnwrje1.mjs → byline-Vdi85CsZ.mjs} +27 -14
  374. package/dist/byline-Vdi85CsZ.mjs.map +1 -0
  375. package/dist/{byline-fields-CAyA_Umd.mjs → byline-fields-DPVRFMz2.mjs} +2 -2
  376. package/dist/{byline-fields-CAyA_Umd.mjs.map → byline-fields-DPVRFMz2.mjs.map} +1 -1
  377. package/dist/{byline-registry-Bpu9-MVs.mjs → byline-registry-BxDGIO0I.mjs} +2 -2
  378. package/dist/{byline-registry-Bpu9-MVs.mjs.map → byline-registry-BxDGIO0I.mjs.map} +1 -1
  379. package/dist/{bylines-BSo9B9RX.mjs → bylines-BX8QhcTk.mjs} +7 -7
  380. package/dist/{bylines-BSo9B9RX.mjs.map → bylines-BX8QhcTk.mjs.map} +1 -1
  381. package/dist/{bylines-CHjvehVX.mjs → bylines-w-E1IEQd.mjs} +3 -3
  382. package/dist/{bylines-CHjvehVX.mjs.map → bylines-w-E1IEQd.mjs.map} +1 -1
  383. package/dist/{cache-5VirJ2Cn.mjs → cache--7HKu5Xm.mjs} +4 -4
  384. package/dist/{cache-5VirJ2Cn.mjs.map → cache--7HKu5Xm.mjs.map} +1 -1
  385. package/dist/{capture-triggers-CNW1q3HK.mjs → capture-triggers-CeAsC76Z.mjs} +2 -2
  386. package/dist/{capture-triggers-CNW1q3HK.mjs.map → capture-triggers-CeAsC76Z.mjs.map} +1 -1
  387. package/dist/{challenge-store-D5pSY2S1.mjs → challenge-store-BIOak-tp.mjs} +5 -3
  388. package/dist/challenge-store-BIOak-tp.mjs.map +1 -0
  389. package/dist/chrome-tags-DzDQBCjX.mjs +24 -0
  390. package/dist/chrome-tags-DzDQBCjX.mjs.map +1 -0
  391. package/dist/{chunks-bNiX6_DR.mjs → chunks-VG_tyqnP.mjs} +2 -2
  392. package/dist/{chunks-bNiX6_DR.mjs.map → chunks-VG_tyqnP.mjs.map} +1 -1
  393. package/dist/cli/index.mjs +68 -40
  394. package/dist/cli/index.mjs.map +1 -1
  395. package/dist/client/cf-access.d.mts +1 -1
  396. package/dist/client/index.d.mts +17 -7
  397. package/dist/client/index.d.mts.map +1 -1
  398. package/dist/client/index.mjs +17 -12
  399. package/dist/client/index.mjs.map +1 -1
  400. package/dist/{collection-deletion-m_oi2c0N.mjs → collection-deletion-BCwaWTDw.mjs} +4 -4
  401. package/dist/{collection-deletion-m_oi2c0N.mjs.map → collection-deletion-BCwaWTDw.mjs.map} +1 -1
  402. package/dist/collection-slugs-cache-7lTmNzeA.mjs +85 -0
  403. package/dist/collection-slugs-cache-7lTmNzeA.mjs.map +1 -0
  404. package/dist/{comment-reaction-CRuItEjt.mjs → comment-reaction-CDyvPQRj.mjs} +2 -2
  405. package/dist/{comment-reaction-CRuItEjt.mjs.map → comment-reaction-CDyvPQRj.mjs.map} +1 -1
  406. package/dist/{comment-DhvLEdhQ.mjs → comment-vxOzWbZN.mjs} +2 -2
  407. package/dist/{comment-DhvLEdhQ.mjs.map → comment-vxOzWbZN.mjs.map} +1 -1
  408. package/dist/{comments-CLj4bi8I.mjs → comments-VzmVLyaC.mjs} +2 -2
  409. package/dist/{comments-CLj4bi8I.mjs.map → comments-VzmVLyaC.mjs.map} +1 -1
  410. package/dist/{components-v4U4DT2y.mjs → components-CL6Wkdk-.mjs} +1 -1
  411. package/dist/{components-v4U4DT2y.mjs.map → components-CL6Wkdk-.mjs.map} +1 -1
  412. package/dist/config--eWjQJE5.mjs +217 -0
  413. package/dist/config--eWjQJE5.mjs.map +1 -0
  414. package/dist/{index-DWbJrsAg.d.mts → config-CGAhyOjP.d.mts} +276 -76
  415. package/dist/config-CGAhyOjP.d.mts.map +1 -0
  416. package/dist/{config-DrfghTPe.d.mts → config-ChFzshGd.d.mts} +1 -1
  417. package/dist/{config-DrfghTPe.d.mts.map → config-ChFzshGd.d.mts.map} +1 -1
  418. package/dist/{content-CP-SeXNa.mjs → content-CNfMWuhY.mjs} +202 -46
  419. package/dist/content-CNfMWuhY.mjs.map +1 -0
  420. package/dist/{content-list-query-BhejKVqb.d.mts → content-list-query-B8d4UQp9.d.mts} +1 -1
  421. package/dist/{content-list-query-BhejKVqb.d.mts.map → content-list-query-B8d4UQp9.d.mts.map} +1 -1
  422. package/dist/{content-refresh-DLOfIhYc.mjs → content-refresh-GTMyi2Xy.mjs} +53 -26
  423. package/dist/content-refresh-GTMyi2Xy.mjs.map +1 -0
  424. package/dist/{content-repair-BCxzy0r4.mjs → content-repair-CIMt5C0U.mjs} +4 -4
  425. package/dist/{content-repair-BCxzy0r4.mjs.map → content-repair-CIMt5C0U.mjs.map} +1 -1
  426. package/dist/{context-BR5hRWiK.mjs → context-C9PB8vGd.mjs} +308 -33
  427. package/dist/context-C9PB8vGd.mjs.map +1 -0
  428. package/dist/{cron-CWfWrWKG.mjs → cron-DHAy9oyq.mjs} +1 -1
  429. package/dist/{cron-CWfWrWKG.mjs.map → cron-DHAy9oyq.mjs.map} +1 -1
  430. package/dist/{dashboard-CkIV2rnQ.mjs → dashboard-BNSvAN8A.mjs} +5 -5
  431. package/dist/{dashboard-CkIV2rnQ.mjs.map → dashboard-BNSvAN8A.mjs.map} +1 -1
  432. package/dist/db/index.d.mts +3 -3
  433. package/dist/db/index.mjs +2 -2
  434. package/dist/db/index.mjs.map +1 -1
  435. package/dist/db/libsql-migrations.d.mts +1 -1
  436. package/dist/db/libsql-migrations.mjs +5 -5
  437. package/dist/db/libsql.d.mts +1 -1
  438. package/dist/db/postgres-migrations.d.mts +1 -1
  439. package/dist/db/postgres-migrations.mjs +5 -5
  440. package/dist/db/postgres.d.mts +1 -1
  441. package/dist/db/postgres.d.mts.map +1 -1
  442. package/dist/db/postgres.mjs +19 -3
  443. package/dist/db/postgres.mjs.map +1 -1
  444. package/dist/db/sqlite-migrations.d.mts +1 -1
  445. package/dist/db/sqlite-migrations.mjs +5 -5
  446. package/dist/db/sqlite.d.mts +1 -1
  447. package/dist/db/sqlite.mjs +1 -1
  448. package/dist/{default-YMEfcQUx.mjs → default-ByZ0JqZo.mjs} +1 -1
  449. package/dist/{default-YMEfcQUx.mjs.map → default-ByZ0JqZo.mjs.map} +1 -1
  450. package/dist/{deferred-tasks-DfqxH5Xf.d.mts → deferred-tasks-Cu4NSJpa.d.mts} +1 -1
  451. package/dist/{deferred-tasks-DfqxH5Xf.d.mts.map → deferred-tasks-Cu4NSJpa.d.mts.map} +1 -1
  452. package/dist/dev-typegen-DHT7lcMU.mjs +29 -0
  453. package/dist/dev-typegen-DHT7lcMU.mjs.map +1 -0
  454. package/dist/{device-flow-CojjSBwb.mjs → device-flow-Cf6bhCCT.mjs} +4 -4
  455. package/dist/{device-flow-CojjSBwb.mjs.map → device-flow-Cf6bhCCT.mjs.map} +1 -1
  456. package/dist/{dialect-helpers-BSbfaO3F.mjs → dialect-helpers-BcQvkHgn.mjs} +83 -2
  457. package/dist/dialect-helpers-BcQvkHgn.mjs.map +1 -0
  458. package/dist/{direct-executor-BWeWiRYB.mjs → direct-executor-yAyUGSqB.mjs} +3 -3
  459. package/dist/{direct-executor-BWeWiRYB.mjs.map → direct-executor-yAyUGSqB.mjs.map} +1 -1
  460. package/dist/{dist-89xCrGqi.mjs → dist-BAsh8dbf.mjs} +1 -1
  461. package/dist/{dist-89xCrGqi.mjs.map → dist-BAsh8dbf.mjs.map} +1 -1
  462. package/dist/{email-console-CEJgR_LB.mjs → email-console-DNup1Fku.mjs} +1 -1
  463. package/dist/{email-console-CEJgR_LB.mjs.map → email-console-DNup1Fku.mjs.map} +1 -1
  464. package/dist/{enrich-BX0IDp4z.mjs → enrich-t2Xvjdqa.mjs} +3 -3
  465. package/dist/{enrich-BX0IDp4z.mjs.map → enrich-t2Xvjdqa.mjs.map} +1 -1
  466. package/dist/entry-lock-BEr8gDkG.mjs +163 -0
  467. package/dist/entry-lock-BEr8gDkG.mjs.map +1 -0
  468. package/dist/{relations-C7B46bcU.d.mts → entry-lock-CGAtrwAR.d.mts} +265 -76
  469. package/dist/entry-lock-CGAtrwAR.d.mts.map +1 -0
  470. package/dist/{redirects-CRIM55KH.mjs → entry-lock-DIYHAaSw.mjs} +112 -34
  471. package/dist/entry-lock-DIYHAaSw.mjs.map +1 -0
  472. package/dist/entry-locks-BEcX7ET0.mjs +167 -0
  473. package/dist/entry-locks-BEcX7ET0.mjs.map +1 -0
  474. package/dist/{error-D9w94fjV.mjs → error-BDcFyoRt.mjs} +2 -2
  475. package/dist/{error-D9w94fjV.mjs.map → error-BDcFyoRt.mjs.map} +1 -1
  476. package/dist/{errors-n2j49uNf.mjs → errors-DvMdNrgf.mjs} +10 -1
  477. package/dist/errors-DvMdNrgf.mjs.map +1 -0
  478. package/dist/{escape-DN4Qmjsl.mjs → escape-B3asJC6W.mjs} +1 -1
  479. package/dist/{escape-DN4Qmjsl.mjs.map → escape-B3asJC6W.mjs.map} +1 -1
  480. package/dist/{field-defs-cache-Bh4q6oar.mjs → field-defs-cache-Cf5FHK0M.mjs} +5 -5
  481. package/dist/{field-defs-cache-Bh4q6oar.mjs.map → field-defs-cache-Cf5FHK0M.mjs.map} +1 -1
  482. package/dist/{fts-manager-BhOdW0bi.mjs → fts-manager-iddym8cd.mjs} +4 -4
  483. package/dist/{fts-manager-BhOdW0bi.mjs.map → fts-manager-iddym8cd.mjs.map} +1 -1
  484. package/dist/{hash-CTcngWvj.mjs → hash-BRweX6jz.mjs} +1 -1
  485. package/dist/{hash-CTcngWvj.mjs.map → hash-BRweX6jz.mjs.map} +1 -1
  486. package/dist/hook-result-BrshYHLx.d.mts +31 -0
  487. package/dist/hook-result-BrshYHLx.d.mts.map +1 -0
  488. package/dist/{hreflang-7pTHsLZJ.d.mts → hreflang-CQpu5bMy.d.mts} +2 -2
  489. package/dist/{hreflang-7pTHsLZJ.d.mts.map → hreflang-CQpu5bMy.d.mts.map} +1 -1
  490. package/dist/{hreflang-Huc6O5wa.mjs → hreflang-DshnweTC.mjs} +9 -8
  491. package/dist/{hreflang-Huc6O5wa.mjs.map → hreflang-DshnweTC.mjs.map} +1 -1
  492. package/dist/{identity-DXmb4aVp.mjs → identity-CjGKDq8J.mjs} +3 -3
  493. package/dist/{identity-DXmb4aVp.mjs.map → identity-CjGKDq8J.mjs.map} +1 -1
  494. package/dist/{import-C4_O3KXU.mjs → import-D96g2otw.mjs} +6 -6
  495. package/dist/{import-C4_O3KXU.mjs.map → import-D96g2otw.mjs.map} +1 -1
  496. package/dist/{index-6bRee8zb.d.mts → index-1ECYpfiF.d.mts} +3 -3
  497. package/dist/{index-6bRee8zb.d.mts.map → index-1ECYpfiF.d.mts.map} +1 -1
  498. package/dist/index.d.mts +22 -21
  499. package/dist/index.mjs +84 -81
  500. package/dist/{init-lock-DJkX6Hto.mjs → init-lock-CFNBe_iH.mjs} +1 -1
  501. package/dist/{init-lock-DJkX6Hto.mjs.map → init-lock-CFNBe_iH.mjs.map} +1 -1
  502. package/dist/{load-Bo7fZAbg.mjs → load-DPtY9cZo.mjs} +2 -2
  503. package/dist/{load-Bo7fZAbg.mjs.map → load-DPtY9cZo.mjs.map} +1 -1
  504. package/dist/{loader-ZsjE4paL.mjs → loader-WJi6GFRn.mjs} +90 -17
  505. package/dist/loader-WJi6GFRn.mjs.map +1 -0
  506. package/dist/{manifest-builder-QXuqvVMP.mjs → manifest-builder-BfNlGQIA.mjs} +2 -2
  507. package/dist/{manifest-builder-QXuqvVMP.mjs.map → manifest-builder-BfNlGQIA.mjs.map} +1 -1
  508. package/dist/{manifest-schema-CUYPfCEH.mjs → manifest-schema-CILooI5J.mjs} +5 -5
  509. package/dist/manifest-schema-CILooI5J.mjs.map +1 -0
  510. package/dist/media/image-endpoint.d.mts +4 -2
  511. package/dist/media/image-endpoint.d.mts.map +1 -1
  512. package/dist/media/image-endpoint.mjs +6 -4
  513. package/dist/media/image-endpoint.mjs.map +1 -1
  514. package/dist/media/index.d.mts +1 -1
  515. package/dist/media/index.mjs +3 -3
  516. package/dist/media/local-runtime.d.mts +12 -12
  517. package/dist/media/local-runtime.mjs +7 -7
  518. package/dist/{media-D6SeAfBl.mjs → media-BBm8Wg3f.mjs} +30 -2
  519. package/dist/media-BBm8Wg3f.mjs.map +1 -0
  520. package/dist/{media-BjwNuLEu.mjs → media-C1EIZKh1.mjs} +35 -5
  521. package/dist/media-C1EIZKh1.mjs.map +1 -0
  522. package/dist/{media-allowlist-D35v7bmL.mjs → media-allowlist-elXJgb_K.mjs} +2 -2
  523. package/dist/{media-allowlist-D35v7bmL.mjs.map → media-allowlist-elXJgb_K.mjs.map} +1 -1
  524. package/dist/{media-folders-D-0CmRZj.mjs → media-folders-DASfX_DH.mjs} +1 -1
  525. package/dist/{media-folders-D-0CmRZj.mjs.map → media-folders-DASfX_DH.mjs.map} +1 -1
  526. package/dist/{media-upload-C7bLXGcI.mjs → media-upload-C7_AQJ5v.mjs} +9 -9
  527. package/dist/{media-upload-C7bLXGcI.mjs.map → media-upload-C7_AQJ5v.mjs.map} +1 -1
  528. package/dist/{media-url-DH7giMx_.mjs → media-url-8dVl1loq.mjs} +19 -2
  529. package/dist/media-url-8dVl1loq.mjs.map +1 -0
  530. package/dist/{media-usage-BTRJvS6V.mjs → media-usage-C1EswMTq.mjs} +10 -10
  531. package/dist/{media-usage-BTRJvS6V.mjs.map → media-usage-C1EswMTq.mjs.map} +1 -1
  532. package/dist/{media-usage-activation-Dx0kPV6b.mjs → media-usage-activation-CrHNltlL.mjs} +3 -3
  533. package/dist/{media-usage-activation-Dx0kPV6b.mjs.map → media-usage-activation-CrHNltlL.mjs.map} +1 -1
  534. package/dist/{media-usage-work-C-fhM30c.mjs → media-usage-work-C5B1zT1c.mjs} +2 -2
  535. package/dist/{media-usage-work-C-fhM30c.mjs.map → media-usage-work-C5B1zT1c.mjs.map} +1 -1
  536. package/dist/{media-usage-work-DWb2XPMI.mjs → media-usage-work-IkQx_Yz6.mjs} +4 -4
  537. package/dist/{media-usage-work-DWb2XPMI.mjs.map → media-usage-work-IkQx_Yz6.mjs.map} +1 -1
  538. package/dist/{media-usage-write-fence-BwoJVRDC.mjs → media-usage-write-fence-B9anjOSg.mjs} +3 -3
  539. package/dist/{media-usage-write-fence-BwoJVRDC.mjs.map → media-usage-write-fence-B9anjOSg.mjs.map} +1 -1
  540. package/dist/{menus-CNg0QlDt.mjs → menus-D8mC4eaN.mjs} +406 -175
  541. package/dist/menus-D8mC4eaN.mjs.map +1 -0
  542. package/dist/{menus-CD7EFLwz.mjs → menus-UdwjHZJC.mjs} +12 -4
  543. package/dist/{menus-CD7EFLwz.mjs.map → menus-UdwjHZJC.mjs.map} +1 -1
  544. package/dist/migrations/index.d.mts +1 -1
  545. package/dist/migrations/index.mjs +4 -4
  546. package/dist/{mime-CUIG6x84.mjs → mime-DYpsOAny.mjs} +1 -1
  547. package/dist/{mime-CUIG6x84.mjs.map → mime-DYpsOAny.mjs.map} +1 -1
  548. package/dist/{mode-DaUM_MB2.mjs → mode-Dm4BHhRH.mjs} +1 -1
  549. package/dist/{mode-DaUM_MB2.mjs.map → mode-Dm4BHhRH.mjs.map} +1 -1
  550. package/dist/{node-sqlite-compat-Udb4Y-rs.mjs → node-sqlite-compat-2sezm-Zd.mjs} +1 -1
  551. package/dist/{node-sqlite-compat-Udb4Y-rs.mjs.map → node-sqlite-compat-2sezm-Zd.mjs.map} +1 -1
  552. package/dist/{normalize-CSxdKBVa.mjs → normalize-4nkKGsuW.mjs} +15 -5
  553. package/dist/normalize-4nkKGsuW.mjs.map +1 -0
  554. package/dist/{oauth-authorization-Dpsb-fMJ.mjs → oauth-authorization-BxE_lURD.mjs} +4 -4
  555. package/dist/{oauth-authorization-Dpsb-fMJ.mjs.map → oauth-authorization-BxE_lURD.mjs.map} +1 -1
  556. package/dist/{oauth-clients-Bxnoe_67.mjs → oauth-clients-DJIdOdq0.mjs} +1 -1
  557. package/dist/{oauth-clients-Bxnoe_67.mjs.map → oauth-clients-DJIdOdq0.mjs.map} +1 -1
  558. package/dist/{oauth-state-store-0C4s0K6w.mjs → oauth-state-store-CsdxP57n.mjs} +1 -1
  559. package/dist/{oauth-state-store-0C4s0K6w.mjs.map → oauth-state-store-CsdxP57n.mjs.map} +1 -1
  560. package/dist/{oauth-user-lookup-wlGYSeqX.mjs → oauth-user-lookup-HzzW-dkF.mjs} +1 -1
  561. package/dist/{oauth-user-lookup-wlGYSeqX.mjs.map → oauth-user-lookup-HzzW-dkF.mjs.map} +1 -1
  562. package/dist/object-cache/memory.d.mts +1 -1
  563. package/dist/{object-cache-71tPfV4A.mjs → object-cache-DVKnyOfy.mjs} +19 -3
  564. package/dist/object-cache-DVKnyOfy.mjs.map +1 -0
  565. package/dist/{options-BHPeIbBd.mjs → options-D1FBiAv1.mjs} +60 -5
  566. package/dist/options-D1FBiAv1.mjs.map +1 -0
  567. package/dist/{options-BhZIeFY1.d.mts → options-D8Y0VHc7.d.mts} +30 -11
  568. package/dist/options-D8Y0VHc7.d.mts.map +1 -0
  569. package/dist/page/index.d.mts +2 -2
  570. package/dist/page/index.d.mts.map +1 -1
  571. package/dist/page/index.mjs +12 -0
  572. package/dist/page/index.mjs.map +1 -1
  573. package/dist/{parse-BRJg1kz8.mjs → parse-WRg5C3NX.mjs} +2 -2
  574. package/dist/{parse-BRJg1kz8.mjs.map → parse-WRg5C3NX.mjs.map} +1 -1
  575. package/dist/{passkey-config-B3P0nHRR.mjs → passkey-config-qIdO-wF6.mjs} +1 -1
  576. package/dist/{passkey-config-B3P0nHRR.mjs.map → passkey-config-qIdO-wF6.mjs.map} +1 -1
  577. package/dist/{patterns-D9iDO3j8.mjs → patterns-DC8CLptu.mjs} +1 -1
  578. package/dist/{patterns-D9iDO3j8.mjs.map → patterns-DC8CLptu.mjs.map} +1 -1
  579. package/dist/{placeholder-BR4ZhVJl.d.mts → placeholder-COrvARyD.d.mts} +1 -1
  580. package/dist/{placeholder-BR4ZhVJl.d.mts.map → placeholder-COrvARyD.d.mts.map} +1 -1
  581. package/dist/plugin-types.d.mts +8 -3
  582. package/dist/plugin-types.d.mts.map +1 -1
  583. package/dist/plugin-utils.d.mts +10 -10
  584. package/dist/plugins/adapt-sandbox-entry.d.mts +10 -10
  585. package/dist/plugins/adapt-sandbox-entry.mjs +2 -2
  586. package/dist/{policy-BVRganJQ.mjs → policy-XCfb-IE9.mjs} +2 -2
  587. package/dist/{policy-BVRganJQ.mjs.map → policy-XCfb-IE9.mjs.map} +1 -1
  588. package/dist/{portable-text-C8Tvp4_g.mjs → portable-text-BS3d5n-0.mjs} +1 -1
  589. package/dist/{portable-text-C8Tvp4_g.mjs.map → portable-text-BS3d5n-0.mjs.map} +1 -1
  590. package/dist/{preview-dn2dUyM0.mjs → preview-BxwsGgGp.mjs} +2 -2
  591. package/dist/{preview-dn2dUyM0.mjs.map → preview-BxwsGgGp.mjs.map} +1 -1
  592. package/dist/{protocol-CuBEsqgE.d.mts → protocol-CLn58-nw.d.mts} +2 -2
  593. package/dist/{protocol-CuBEsqgE.d.mts.map → protocol-CLn58-nw.d.mts.map} +1 -1
  594. package/dist/{public-url-DRz_AinV.mjs → public-url-FWWAvnre.mjs} +1 -1
  595. package/dist/{public-url-DRz_AinV.mjs.map → public-url-FWWAvnre.mjs.map} +1 -1
  596. package/dist/{query-D18vTdha.mjs → query-DygOte9M.mjs} +26 -17
  597. package/dist/query-DygOte9M.mjs.map +1 -0
  598. package/dist/{query-tZDEdtCN.mjs → query-gtXT03Wc.mjs} +5 -5
  599. package/dist/{query-tZDEdtCN.mjs.map → query-gtXT03Wc.mjs.map} +1 -1
  600. package/dist/{rate-limit-on7KPo-v.mjs → rate-limit-CQUPm0dh.mjs} +2 -2
  601. package/dist/{rate-limit-on7KPo-v.mjs.map → rate-limit-CQUPm0dh.mjs.map} +1 -1
  602. package/dist/{redirect-DrbEmU9a.mjs → redirect-D1cWafi6.mjs} +1 -1
  603. package/dist/{redirect-DrbEmU9a.mjs.map → redirect-D1cWafi6.mjs.map} +1 -1
  604. package/dist/{redirect-CZkbozu9.mjs → redirect-DId44BS1.mjs} +19 -6
  605. package/dist/redirect-DId44BS1.mjs.map +1 -0
  606. package/dist/{redirects-BahWiu8Z.mjs → redirects-DN-ZE33W.mjs} +5 -5
  607. package/dist/{redirects-BahWiu8Z.mjs.map → redirects-DN-ZE33W.mjs.map} +1 -1
  608. package/dist/{registry-Cx-jEJOS.mjs → registry-DTqaqxed.mjs} +46 -12
  609. package/dist/registry-DTqaqxed.mjs.map +1 -0
  610. package/dist/{relation-A6wLF_DS.mjs → relation-DxgCHOBw.mjs} +2 -2
  611. package/dist/{relation-A6wLF_DS.mjs.map → relation-DxgCHOBw.mjs.map} +1 -1
  612. package/dist/{relations-Cj5hZ6Zg.mjs → relations-KKDSLUwS.mjs} +4 -4
  613. package/dist/{relations-Cj5hZ6Zg.mjs.map → relations-KKDSLUwS.mjs.map} +1 -1
  614. package/dist/{relations-BTPM2saV.mjs → relations-rOmbndUJ.mjs} +8 -8
  615. package/dist/relations-rOmbndUJ.mjs.map +1 -0
  616. package/dist/{request-cache-DH9zdCOD.mjs → request-cache-DAZZmesc.mjs} +1 -1
  617. package/dist/{request-cache-DH9zdCOD.mjs.map → request-cache-DAZZmesc.mjs.map} +1 -1
  618. package/dist/request-context.d.mts +1 -1
  619. package/dist/{request-meta-DRp5ENd_.mjs → request-meta-BgjUQLQ-.mjs} +2 -2
  620. package/dist/{request-meta-DRp5ENd_.mjs.map → request-meta-BgjUQLQ-.mjs.map} +1 -1
  621. package/dist/{resolve-DxUpTMmE.mjs → resolve-Cy0aWSRj.mjs} +37 -4
  622. package/dist/resolve-Cy0aWSRj.mjs.map +1 -0
  623. package/dist/{runner-zgqA_CqP.d.mts → runner-CfwysRM0.d.mts} +3 -2
  624. package/dist/runner-CfwysRM0.d.mts.map +1 -0
  625. package/dist/{runner-77GOZCnH.mjs → runner-nEzvnogG.mjs} +476 -295
  626. package/dist/runner-nEzvnogG.mjs.map +1 -0
  627. package/dist/runtime.d.mts +11 -11
  628. package/dist/runtime.mjs +3 -2
  629. package/dist/runtime.mjs.map +1 -1
  630. package/dist/{schema-BY-oVntF.mjs → schema-CRu38Pr5.mjs} +3 -3
  631. package/dist/{schema-BY-oVntF.mjs.map → schema-CRu38Pr5.mjs.map} +1 -1
  632. package/dist/{schema-Cw9kVK0I.mjs → schema-DifxndJx.mjs} +5 -5
  633. package/dist/{schema-Cw9kVK0I.mjs.map → schema-DifxndJx.mjs.map} +1 -1
  634. package/dist/{scopes-vMR1uIbt.mjs → scopes-D5A1OZbq.mjs} +3 -3
  635. package/dist/{scopes-vMR1uIbt.mjs.map → scopes-D5A1OZbq.mjs.map} +1 -1
  636. package/dist/{search-CfT3KxO5.mjs → search-DEPFSBFq.mjs} +4 -4
  637. package/dist/{search-CfT3KxO5.mjs.map → search-DEPFSBFq.mjs.map} +1 -1
  638. package/dist/{secrets-BH2Qow1-.mjs → secrets-CdfzLdoO.mjs} +3 -3
  639. package/dist/{secrets-BH2Qow1-.mjs.map → secrets-CdfzLdoO.mjs.map} +1 -1
  640. package/dist/{sections-DTfjyf1z.mjs → sections-3X52kmIR.mjs} +2 -2
  641. package/dist/{sections-DTfjyf1z.mjs.map → sections-3X52kmIR.mjs.map} +1 -1
  642. package/dist/seed/index.d.mts +2 -2
  643. package/dist/seed/index.mjs +28 -26
  644. package/dist/seo/index.d.mts +3 -3
  645. package/dist/seo/index.d.mts.map +1 -1
  646. package/dist/seo/index.mjs +20 -21
  647. package/dist/seo/index.mjs.map +1 -1
  648. package/dist/{seo-Cm-dtvgk.mjs → seo-Bw68KxRc.mjs} +3 -3
  649. package/dist/{seo-Cm-dtvgk.mjs.map → seo-Bw68KxRc.mjs.map} +1 -1
  650. package/dist/{seo-BSiTIXzd.mjs → seo-C4AmbsMU.mjs} +3 -2
  651. package/dist/seo-C4AmbsMU.mjs.map +1 -0
  652. package/dist/{service-DYsDHEKe.mjs → service-J_-Vgo7R.mjs} +3 -3
  653. package/dist/{service-DYsDHEKe.mjs.map → service-J_-Vgo7R.mjs.map} +1 -1
  654. package/dist/{session-user-CNAfvsdw.mjs → session-user-CbnMMwk6.mjs} +1 -1
  655. package/dist/{session-user-CNAfvsdw.mjs.map → session-user-CbnMMwk6.mjs.map} +1 -1
  656. package/dist/{settings-DjtkUo__.mjs → settings-AnEFYICn.mjs} +3 -3
  657. package/dist/{settings-DjtkUo__.mjs.map → settings-AnEFYICn.mjs.map} +1 -1
  658. package/dist/{settings-BgN-0DT-.mjs → settings-DcMjREe5.mjs} +21 -8
  659. package/dist/settings-DcMjREe5.mjs.map +1 -0
  660. package/dist/{setup-complete-CcpXaPU7.mjs → setup-complete-BClXXTvr.mjs} +2 -2
  661. package/dist/{setup-complete-CcpXaPU7.mjs.map → setup-complete-BClXXTvr.mjs.map} +1 -1
  662. package/dist/{setup-nonce-Reyw30jg.mjs → setup-nonce-BheRa4RG.mjs} +1 -1
  663. package/dist/{setup-nonce-Reyw30jg.mjs.map → setup-nonce-BheRa4RG.mjs.map} +1 -1
  664. package/dist/{single-flight-cache-BPuGPdcN.mjs → single-flight-cache-jaswDzmQ.mjs} +2 -2
  665. package/dist/{single-flight-cache-BPuGPdcN.mjs.map → single-flight-cache-jaswDzmQ.mjs.map} +1 -1
  666. package/dist/{site-url-Cs_V9n3V.mjs → site-url-Bqf-ea3N.mjs} +3 -3
  667. package/dist/{site-url-Cs_V9n3V.mjs.map → site-url-Bqf-ea3N.mjs.map} +1 -1
  668. package/dist/{snapshot-DSB8P7Lm.mjs → snapshot-C4CtXntb.mjs} +51 -35
  669. package/dist/snapshot-C4CtXntb.mjs.map +1 -0
  670. package/dist/{ssrf-DqebVE34.mjs → ssrf-gl4gFNhw.mjs} +151 -93
  671. package/dist/ssrf-gl4gFNhw.mjs.map +1 -0
  672. package/dist/{state-BJfU9Uzw.mjs → state-1F6IOhdQ.mjs} +1 -1
  673. package/dist/{state-BJfU9Uzw.mjs.map → state-1F6IOhdQ.mjs.map} +1 -1
  674. package/dist/{status-DDu8HIQl.mjs → status-Cenfk_r5.mjs} +1 -1
  675. package/dist/{status-DDu8HIQl.mjs.map → status-Cenfk_r5.mjs.map} +1 -1
  676. package/dist/storage/local.d.mts +2 -1
  677. package/dist/storage/local.d.mts.map +1 -1
  678. package/dist/storage/local.mjs +1 -1
  679. package/dist/storage/local.mjs.map +1 -1
  680. package/dist/storage/s3.d.mts +2 -1
  681. package/dist/storage/s3.d.mts.map +1 -1
  682. package/dist/storage/s3.mjs +3 -2
  683. package/dist/storage/s3.mjs.map +1 -1
  684. package/dist/{target-D0o26Azo.mjs → target-CRzeTs8G.mjs} +1 -1
  685. package/dist/{target-D0o26Azo.mjs.map → target-CRzeTs8G.mjs.map} +1 -1
  686. package/dist/{taxonomies-CPGxo-bn.mjs → taxonomies-BOdxuZpV.mjs} +23 -13
  687. package/dist/taxonomies-BOdxuZpV.mjs.map +1 -0
  688. package/dist/{taxonomies-kmyudNGP.mjs → taxonomies-NcFDq5Gg.mjs} +58 -23
  689. package/dist/taxonomies-NcFDq5Gg.mjs.map +1 -0
  690. package/dist/{taxonomy-8X09dLN5.mjs → taxonomy-DP1vny4K.mjs} +12 -4
  691. package/dist/{taxonomy-8X09dLN5.mjs.map → taxonomy-DP1vny4K.mjs.map} +1 -1
  692. package/dist/{tokens-gTS-IVUp.mjs → tokens-CDk8ox9p.mjs} +1 -1
  693. package/dist/{tokens-gTS-IVUp.mjs.map → tokens-CDk8ox9p.mjs.map} +1 -1
  694. package/dist/{transport-_6R1ub7t.d.mts → transport-BVn4tVb9.d.mts} +1 -1
  695. package/dist/{transport-_6R1ub7t.d.mts.map → transport-BVn4tVb9.d.mts.map} +1 -1
  696. package/dist/{transport-fX59xaJz.mjs → transport-DP0JI-8i.mjs} +1 -1
  697. package/dist/{transport-fX59xaJz.mjs.map → transport-DP0JI-8i.mjs.map} +1 -1
  698. package/dist/{trusted-proxy-fe6nEgR4.mjs → trusted-proxy-BTM6UxqD.mjs} +1 -1
  699. package/dist/{trusted-proxy-fe6nEgR4.mjs.map → trusted-proxy-BTM6UxqD.mjs.map} +1 -1
  700. package/dist/{types-D_DWe7k9.d.mts → types-2n848aVW.d.mts} +3 -2
  701. package/dist/types-2n848aVW.d.mts.map +1 -0
  702. package/dist/types-A2cN6a4a.mjs +3 -0
  703. package/dist/{types-75KIqzL9.mjs → types-BMXnRIrX.mjs} +4 -2
  704. package/dist/types-BMXnRIrX.mjs.map +1 -0
  705. package/dist/{types-Vg6f5i3s.d.mts → types-BouXpOsa.d.mts} +121 -4
  706. package/dist/types-BouXpOsa.d.mts.map +1 -0
  707. package/dist/{types-BXUmsINL.mjs → types-ByG2coLw.mjs} +1 -1
  708. package/dist/{types-BXUmsINL.mjs.map → types-ByG2coLw.mjs.map} +1 -1
  709. package/dist/types-CQPWhPxE.mjs.map +1 -1
  710. package/dist/{types-Blb-MRC3.d.mts → types-DEfNJ__A.d.mts} +1 -1
  711. package/dist/{types-Blb-MRC3.d.mts.map → types-DEfNJ__A.d.mts.map} +1 -1
  712. package/dist/{types-Br-ERaxh.d.mts → types-DKcKSbtB.d.mts} +23 -7
  713. package/dist/types-DKcKSbtB.d.mts.map +1 -0
  714. package/dist/{types-BzBd3PeX.d.mts → types-DRYs7uTL.d.mts} +1 -1
  715. package/dist/{types-BzBd3PeX.d.mts.map → types-DRYs7uTL.d.mts.map} +1 -1
  716. package/dist/{types-CLqvnd05.d.mts → types-DaEg7KX2.d.mts} +1 -1
  717. package/dist/{types-CLqvnd05.d.mts.map → types-DaEg7KX2.d.mts.map} +1 -1
  718. package/dist/{types-DJQxln7q.d.mts → types-LU8utpP_.d.mts} +14 -10
  719. package/dist/types-LU8utpP_.d.mts.map +1 -0
  720. package/dist/{types-D5VVLr7J.d.mts → types-VpYfPUxN.d.mts} +1 -1
  721. package/dist/{types-D5VVLr7J.d.mts.map → types-VpYfPUxN.d.mts.map} +1 -1
  722. package/dist/{types-DM3vioBY.mjs → types-c9GP7Dj5.mjs} +1 -1
  723. package/dist/{types-DM3vioBY.mjs.map → types-c9GP7Dj5.mjs.map} +1 -1
  724. package/dist/{types-DHxzBjbD.d.mts → types-tJWDK__M.d.mts} +14 -1
  725. package/dist/types-tJWDK__M.d.mts.map +1 -0
  726. package/dist/{upload-attempts-CNyGSepg.mjs → upload-attempts-C6S2y-lp.mjs} +1 -1
  727. package/dist/{upload-attempts-CNyGSepg.mjs.map → upload-attempts-C6S2y-lp.mjs.map} +1 -1
  728. package/dist/{url-pattern-K-KdXcSe.mjs → url-pattern-UYtxVTuj.mjs} +1 -1
  729. package/dist/{url-pattern-K-KdXcSe.mjs.map → url-pattern-UYtxVTuj.mjs.map} +1 -1
  730. package/dist/{user-CtYY0tp2.mjs → user-DIsIXogT.mjs} +2 -2
  731. package/dist/{user-CtYY0tp2.mjs.map → user-DIsIXogT.mjs.map} +1 -1
  732. package/dist/{utils-HztC73hq.mjs → utils-BicP5Qbg.mjs} +2 -2
  733. package/dist/{utils-HztC73hq.mjs.map → utils-BicP5Qbg.mjs.map} +1 -1
  734. package/dist/{validate-Dd-IUjnZ.mjs → validate-D8VPn4Hv.mjs} +8 -3
  735. package/dist/validate-D8VPn4Hv.mjs.map +1 -0
  736. package/dist/{validate-DlqdOZXB.d.mts → validate-Df6Dvwbw.d.mts} +12 -7
  737. package/dist/validate-Df6Dvwbw.d.mts.map +1 -0
  738. package/dist/{validation-D83n7Npi.mjs → validation-CzMJn9Ku.mjs} +13 -11
  739. package/dist/{validation-D83n7Npi.mjs.map → validation-CzMJn9Ku.mjs.map} +1 -1
  740. package/dist/version-CK67_SXX.mjs +7 -0
  741. package/dist/{version-ri-sCyAp.mjs.map → version-CK67_SXX.mjs.map} +1 -1
  742. package/dist/{widgets-CpmZd9Q-.mjs → widgets-RFVAxQl3.mjs} +18 -5
  743. package/dist/widgets-RFVAxQl3.mjs.map +1 -0
  744. package/dist/{wxr-taxonomies-BFd0y72_.d.mts → wxr-taxonomies-BX4yQL9s.d.mts} +1 -1
  745. package/dist/{wxr-taxonomies-BFd0y72_.d.mts.map → wxr-taxonomies-BX4yQL9s.d.mts.map} +1 -1
  746. package/dist/{wxr-taxonomies-Df4vxWcU.mjs → wxr-taxonomies-Csdp7yde.mjs} +4 -4
  747. package/dist/{wxr-taxonomies-Df4vxWcU.mjs.map → wxr-taxonomies-Csdp7yde.mjs.map} +1 -1
  748. package/dist/{zod-generator-DylzusHh.mjs → zod-generator-CNRGdnBY.mjs} +11 -7
  749. package/dist/zod-generator-CNRGdnBY.mjs.map +1 -0
  750. package/package.json +16 -11
  751. package/src/api/errors.ts +9 -0
  752. package/src/api/handlers/content.ts +115 -90
  753. package/src/api/handlers/entry-lock.ts +206 -0
  754. package/src/api/handlers/index.ts +1 -0
  755. package/src/api/handlers/manifest.ts +162 -12
  756. package/src/api/handlers/marketplace.ts +28 -20
  757. package/src/api/handlers/media.ts +30 -0
  758. package/src/api/handlers/menus.ts +9 -0
  759. package/src/api/handlers/registry.ts +406 -297
  760. package/src/api/handlers/revision.ts +2 -1
  761. package/src/api/handlers/seo.ts +10 -1
  762. package/src/api/handlers/snapshot.ts +84 -72
  763. package/src/api/handlers/taxonomies.ts +25 -9
  764. package/src/api/openapi/document.ts +196 -11
  765. package/src/api/parse.ts +1 -1
  766. package/src/api/schemas/auth.ts +4 -4
  767. package/src/api/schemas/bylines.ts +3 -3
  768. package/src/api/schemas/comments.ts +1 -1
  769. package/src/api/schemas/common.ts +3 -2
  770. package/src/api/schemas/content.ts +86 -22
  771. package/src/api/schemas/entry-lock.ts +48 -0
  772. package/src/api/schemas/index.ts +1 -0
  773. package/src/api/schemas/media.ts +52 -0
  774. package/src/api/schemas/redirects.ts +6 -1
  775. package/src/api/schemas/schema.ts +14 -1
  776. package/src/api/schemas/setup.ts +1 -1
  777. package/src/api/schemas/taxonomies.ts +2 -2
  778. package/src/api/schemas/users.ts +1 -1
  779. package/src/api/types.ts +25 -10
  780. package/src/astro/dev-typegen.ts +35 -0
  781. package/src/astro/image-endpoint.ts +2 -2
  782. package/src/astro/integration/dev-typegen.ts +91 -0
  783. package/src/astro/integration/index.ts +18 -50
  784. package/src/astro/integration/routes.ts +10 -0
  785. package/src/astro/integration/runtime.ts +13 -5
  786. package/src/astro/integration/vite-config.ts +51 -2
  787. package/src/astro/middleware.ts +21 -0
  788. package/src/astro/routes/api/admin/api-tokens/index.ts +4 -1
  789. package/src/astro/routes/api/admin/oauth-clients/[id].ts +1 -1
  790. package/src/astro/routes/api/admin/oauth-clients/index.ts +1 -1
  791. package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +4 -0
  792. package/src/astro/routes/api/admin/plugins/registry/artifact.ts +3 -7
  793. package/src/astro/routes/api/admin/plugins/registry/install.ts +4 -0
  794. package/src/astro/routes/api/admin/plugins/registry/verify.ts +60 -0
  795. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +18 -2
  796. package/src/astro/routes/api/content/[collection]/[id]/lock.ts +133 -0
  797. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +12 -1
  798. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +20 -0
  799. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +16 -2
  800. package/src/astro/routes/api/content/[collection]/[id].ts +27 -2
  801. package/src/astro/routes/api/content/[collection]/index.ts +3 -0
  802. package/src/astro/routes/api/manifest.ts +1 -1
  803. package/src/astro/routes/api/media/[id]/replace.ts +114 -0
  804. package/src/astro/routes/api/media/file/[...key].ts +4 -1
  805. package/src/astro/routes/api/media/upload-url.ts +8 -4
  806. package/src/astro/routes/api/media.ts +54 -8
  807. package/src/astro/routes/api/menus/[name]/items/[id].ts +7 -2
  808. package/src/astro/routes/api/menus/[name]/items.ts +4 -1
  809. package/src/astro/routes/api/menus/[name]/reorder.ts +4 -1
  810. package/src/astro/routes/api/menus/[name]/translations.ts +4 -1
  811. package/src/astro/routes/api/menus/[name].ts +7 -2
  812. package/src/astro/routes/api/menus/index.ts +4 -1
  813. package/src/astro/routes/api/settings/email.ts +1 -1
  814. package/src/astro/routes/api/settings.ts +4 -1
  815. package/src/astro/routes/api/taxonomies/[name]/reorder.ts +4 -1
  816. package/src/astro/routes/api/taxonomies/[name]/terms/[slug]/translations.ts +4 -1
  817. package/src/astro/routes/api/taxonomies/[name]/terms/[slug].ts +7 -2
  818. package/src/astro/routes/api/taxonomies/[name]/terms/index.ts +4 -1
  819. package/src/astro/routes/api/taxonomies/[name].ts +7 -2
  820. package/src/astro/routes/api/taxonomies/index.ts +4 -1
  821. package/src/astro/routes/api/widget-areas/[name]/reorder.ts +3 -1
  822. package/src/astro/routes/api/widget-areas/[name]/widgets/[id].ts +5 -2
  823. package/src/astro/routes/api/widget-areas/[name]/widgets.ts +3 -1
  824. package/src/astro/routes/api/widget-areas/[name].ts +3 -1
  825. package/src/astro/routes/api/widget-areas/index.ts +3 -1
  826. package/src/astro/routes/sitemap-[collection].xml.ts +4 -0
  827. package/src/astro/types.ts +36 -8
  828. package/src/auth/challenge-store.ts +3 -1
  829. package/src/aws-sdk.d.ts +1 -0
  830. package/src/cache/chrome-tags.ts +24 -0
  831. package/src/cli/commands/content.ts +31 -5
  832. package/src/cli/commands/export-seed.ts +2 -0
  833. package/src/client/index.ts +34 -7
  834. package/src/components/EmDashBodyEnd.astro +4 -1
  835. package/src/components/EmDashBodyStart.astro +4 -1
  836. package/src/components/EmDashHead.astro +35 -16
  837. package/src/components/EmDashImage.astro +2 -1
  838. package/src/components/EmDashMedia.astro +2 -1
  839. package/src/components/Gallery.astro +18 -4
  840. package/src/components/InlineEditor.astro +3 -1
  841. package/src/components/InlinePortableTextEditor.tsx +112 -12
  842. package/src/components/PortableText.astro +4 -0
  843. package/src/components/Table.astro +147 -62
  844. package/src/components/widgets/Archives.astro +2 -37
  845. package/src/config/errors.ts +13 -0
  846. package/src/content/converters/index.ts +2 -0
  847. package/src/content/converters/mark-safety.ts +1 -0
  848. package/src/content/converters/portable-text-identity.ts +139 -0
  849. package/src/content/converters/portable-text-to-prosemirror.ts +226 -69
  850. package/src/content/converters/prosemirror-to-portable-text.ts +128 -28
  851. package/src/content/converters/types.ts +11 -0
  852. package/src/database/dialect-helpers.ts +125 -0
  853. package/src/database/migrations/017_authorization_codes.ts +14 -4
  854. package/src/database/migrations/074_content_deleted_scheduled_index.ts +55 -0
  855. package/src/database/migrations/075_entry_edit_locks.ts +44 -0
  856. package/src/database/migrations/076_collection_nav_group.ts +22 -0
  857. package/src/database/migrations/077_plugin_storage_revisions.ts +89 -0
  858. package/src/database/migrations/runner.ts +9 -1
  859. package/src/database/repositories/byline.ts +32 -16
  860. package/src/database/repositories/content.ts +284 -48
  861. package/src/database/repositories/entry-locks.ts +257 -0
  862. package/src/database/repositories/media-usage.ts +66 -37
  863. package/src/database/repositories/media.ts +60 -1
  864. package/src/database/repositories/options.ts +69 -5
  865. package/src/database/repositories/plugin-storage.ts +233 -9
  866. package/src/database/repositories/redirect.ts +17 -6
  867. package/src/database/repositories/taxonomy.ts +8 -0
  868. package/src/database/repositories/types.ts +11 -7
  869. package/src/database/types.ts +15 -1
  870. package/src/db/adapters.ts +8 -1
  871. package/src/db/postgres.ts +23 -0
  872. package/src/emdash-runtime.ts +196 -199
  873. package/src/fields/boolean.ts +1 -1
  874. package/src/fields/datetime.ts +1 -1
  875. package/src/fields/file.ts +1 -1
  876. package/src/fields/integer.ts +1 -1
  877. package/src/fields/json.ts +1 -1
  878. package/src/fields/multiselect.ts +1 -1
  879. package/src/fields/number.ts +1 -1
  880. package/src/fields/portable-text.ts +1 -1
  881. package/src/fields/richtext.ts +1 -1
  882. package/src/fields/select.ts +1 -1
  883. package/src/fields/slug.ts +1 -1
  884. package/src/fields/text.ts +1 -1
  885. package/src/fields/textarea.ts +1 -1
  886. package/src/fields/types.ts +2 -2
  887. package/src/i18n/resolve.ts +44 -4
  888. package/src/index.ts +39 -3
  889. package/src/loader.ts +96 -12
  890. package/src/mcp/server.ts +251 -29
  891. package/src/media/image-endpoint.ts +5 -2
  892. package/src/media/normalize.ts +15 -4
  893. package/src/media/responsive.ts +23 -0
  894. package/src/media/usage/cleanup.ts +9 -8
  895. package/src/media/usage/content-refresh.ts +2 -1
  896. package/src/menus/index.ts +33 -21
  897. package/src/object-cache/index.ts +44 -2
  898. package/src/page/seo-contributions.ts +78 -1
  899. package/src/page/seo-panel.ts +47 -0
  900. package/src/plugin-types.ts +27 -1
  901. package/src/plugins/conditional-storage.ts +30 -0
  902. package/src/plugins/context.ts +49 -17
  903. package/src/plugins/hooks.ts +10 -1
  904. package/src/plugins/index.ts +15 -0
  905. package/src/plugins/manager.ts +6 -2
  906. package/src/plugins/manifest-schema.ts +1 -1
  907. package/src/plugins/routes.ts +3 -1
  908. package/src/plugins/sandbox/hook-result.ts +52 -0
  909. package/src/plugins/sandbox/index.ts +10 -0
  910. package/src/plugins/sandbox/types.ts +16 -2
  911. package/src/plugins/storage-query.ts +45 -0
  912. package/src/plugins/storage-update.ts +96 -0
  913. package/src/plugins/types.ts +120 -0
  914. package/src/query.ts +29 -3
  915. package/src/registry/artifact-checksum.ts +15 -0
  916. package/src/registry/artifact-verification.ts +85 -0
  917. package/src/registry/authoritative-records.ts +180 -0
  918. package/src/registry/config.ts +130 -27
  919. package/src/registry/record-labels.ts +28 -0
  920. package/src/registry/types.ts +5 -6
  921. package/src/schema/collection-slugs-cache.ts +157 -0
  922. package/src/schema/registry.ts +45 -3
  923. package/src/schema/types.ts +25 -6
  924. package/src/schema/zod-generator.ts +16 -13
  925. package/src/security/ssrf.ts +172 -143
  926. package/src/seed/apply.ts +4 -0
  927. package/src/seed/types.ts +7 -2
  928. package/src/seed/validate.ts +18 -1
  929. package/src/seo/hreflang.ts +1 -0
  930. package/src/seo/index.ts +5 -10
  931. package/src/seo/media-url.ts +26 -0
  932. package/src/settings/index.ts +16 -0
  933. package/src/storage/local.ts +1 -0
  934. package/src/storage/s3.ts +2 -0
  935. package/src/storage/types.ts +2 -0
  936. package/src/taxonomies/index.ts +40 -20
  937. package/src/taxonomies/term-counts.ts +22 -5
  938. package/src/widgets/archives.ts +67 -0
  939. package/src/widgets/index.ts +16 -0
  940. package/dist/api-B0w3uBiG.mjs +0 -2269
  941. package/dist/api-B0w3uBiG.mjs.map +0 -1
  942. package/dist/apply-B_VMpJ2P.mjs.map +0 -1
  943. package/dist/byline-Cpnwrje1.mjs.map +0 -1
  944. package/dist/challenge-store-D5pSY2S1.mjs.map +0 -1
  945. package/dist/content-CP-SeXNa.mjs.map +0 -1
  946. package/dist/content-refresh-DLOfIhYc.mjs.map +0 -1
  947. package/dist/context-BR5hRWiK.mjs.map +0 -1
  948. package/dist/dialect-helpers-BSbfaO3F.mjs.map +0 -1
  949. package/dist/errors-n2j49uNf.mjs.map +0 -1
  950. package/dist/index-DWbJrsAg.d.mts.map +0 -1
  951. package/dist/loader-ZsjE4paL.mjs.map +0 -1
  952. package/dist/manifest-schema-CUYPfCEH.mjs.map +0 -1
  953. package/dist/media-BjwNuLEu.mjs.map +0 -1
  954. package/dist/media-D6SeAfBl.mjs.map +0 -1
  955. package/dist/media-url-DH7giMx_.mjs.map +0 -1
  956. package/dist/menus-CNg0QlDt.mjs.map +0 -1
  957. package/dist/normalize-CSxdKBVa.mjs.map +0 -1
  958. package/dist/object-cache-71tPfV4A.mjs.map +0 -1
  959. package/dist/options-BHPeIbBd.mjs.map +0 -1
  960. package/dist/options-BhZIeFY1.d.mts.map +0 -1
  961. package/dist/query-D18vTdha.mjs.map +0 -1
  962. package/dist/redirect-CZkbozu9.mjs.map +0 -1
  963. package/dist/redirects-CRIM55KH.mjs.map +0 -1
  964. package/dist/registry-BiO5WwPq.mjs +0 -2716
  965. package/dist/registry-BiO5WwPq.mjs.map +0 -1
  966. package/dist/registry-Cx-jEJOS.mjs.map +0 -1
  967. package/dist/relations-BTPM2saV.mjs.map +0 -1
  968. package/dist/relations-C7B46bcU.d.mts.map +0 -1
  969. package/dist/resolve-DxUpTMmE.mjs.map +0 -1
  970. package/dist/runner-77GOZCnH.mjs.map +0 -1
  971. package/dist/runner-zgqA_CqP.d.mts.map +0 -1
  972. package/dist/seo-BSiTIXzd.mjs.map +0 -1
  973. package/dist/settings-BgN-0DT-.mjs.map +0 -1
  974. package/dist/snapshot-DSB8P7Lm.mjs.map +0 -1
  975. package/dist/ssrf-DqebVE34.mjs.map +0 -1
  976. package/dist/taxonomies-CPGxo-bn.mjs.map +0 -1
  977. package/dist/taxonomies-kmyudNGP.mjs.map +0 -1
  978. package/dist/types-75KIqzL9.mjs.map +0 -1
  979. package/dist/types-Br-ERaxh.d.mts.map +0 -1
  980. package/dist/types-D6OcIp2P.mjs +0 -3
  981. package/dist/types-DHxzBjbD.d.mts.map +0 -1
  982. package/dist/types-DJQxln7q.d.mts.map +0 -1
  983. package/dist/types-D_DWe7k9.d.mts.map +0 -1
  984. package/dist/types-Vg6f5i3s.d.mts.map +0 -1
  985. package/dist/validate-Dd-IUjnZ.mjs.map +0 -1
  986. package/dist/validate-DlqdOZXB.d.mts.map +0 -1
  987. package/dist/version-ri-sCyAp.mjs +0 -7
  988. package/dist/widgets-CpmZd9Q-.mjs.map +0 -1
  989. package/dist/zod-generator-DylzusHh.mjs.map +0 -1
  990. /package/dist/{api-tokens-B5NHLNUN.mjs → api-tokens-B_lfpmH3.mjs} +0 -0
  991. /package/dist/{ssrf-BPKzkm6O.mjs → ssrf-TQhaljuI.mjs} +0 -0
@@ -1,23 +1,26 @@
1
- import { r as ContentFieldFilters } from "./content-list-query-BhejKVqb.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-Br-ERaxh.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-DJQxln7q.mjs";
4
- import { d as ContentListResponse, f as ContentResponse, h as ManifestResponse, u as ApiResult } from "./options-BhZIeFY1.mjs";
5
- import { t as Database } from "./types-DHxzBjbD.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-Vg6f5i3s.mjs";
7
- import { $n as MediaUsageRepairResponse, Qn as MediaUsageRepairRequest, Rn as MediaUsageActivationAdvanceRequest, Xn as MediaUsageProgress, zn as MediaUsageActivationAdvanceResponse } from "./relations-C7B46bcU.mjs";
8
- import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-BR4ZhVJl.mjs";
9
- import { T as ContentBylineInput } from "./index-6bRee8zb.mjs";
10
- import { r as DatabaseDescriptor } from "./adapters-CzL3H752.mjs";
11
- import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-BzBd3PeX.mjs";
12
- import { r as ObjectCacheDescriptor } from "./types-D5VVLr7J.mjs";
13
- import { d as Storage } from "./types-D_DWe7k9.mjs";
14
- import { i as SiteSettings, r as SiteSettingKey } from "./types-Blb-MRC3.mjs";
1
+ import { r as ContentFieldFilters } from "./content-list-query-B8d4UQp9.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-DKcKSbtB.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-LU8utpP_.mjs";
4
+ import { d as ContentListResponse, f as ContentResponse, u as ApiResult, v as ManifestResponse } from "./options-D8Y0VHc7.mjs";
5
+ import { t as Database } from "./types-tJWDK__M.mjs";
6
+ import { Dt as PublicPageContext, Ft as StorageCollection, Gt as UpdateIfResult, H as EmailMessage, Jt as WhereClause, K as HttpAccess, Kt as UserInfo, M as CronEvent, Ot as QueryOptions, Pt as SettingField, St as PluginMcpManifestConfig, Tt as PortableTextBlockConfig, U as FieldWidgetConfig, _t as PluginCapability, a as CommentAfterCreateEvent, at as PageFragmentContribution, ct as PageMetadataContribution, jt as ResolvedPlugin, kt as RequestMeta, l as CommentBeforeCreateEvent, lt as PageMetadataEvent, m as ConditionalWriteResult, ot as PageFragmentEvent, p as ConditionalDeleteResult, pt as PaginatedResult, qt as VersionedValue, s as CommentAfterModerateEvent, t as ActorInfo, tt as MediaItem$1, wt as PluginStorageConfig, xt as PluginManifest, yt as PluginDefinition } from "./types-BouXpOsa.mjs";
7
+ import { Gn as MediaUsageActivationAdvanceResponse, Wn as MediaUsageActivationAdvanceRequest, ar as MediaUsageRepairResponse, ir as MediaUsageRepairRequest, nr as MediaUsageProgress } from "./entry-lock-CGAtrwAR.mjs";
8
+ import { _ as MediaValue, f as MediaProvider, m as MediaProviderDescriptor, p as MediaProviderCapabilities } from "./placeholder-COrvARyD.mjs";
9
+ import { T as ContentBylineInput } from "./index-1ECYpfiF.mjs";
10
+ import { r as DatabaseDescriptor } from "./adapters-DCEgOBXi.mjs";
11
+ import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-DRYs7uTL.mjs";
12
+ import { r as ObjectCacheDescriptor } from "./types-VpYfPUxN.mjs";
13
+ import { d as Storage } from "./types-2n848aVW.mjs";
14
+ import { i as SiteSettings, r as SiteSettingKey } from "./types-DEfNJ__A.mjs";
15
15
  import { EmDashManifest } from "./astro/types.mjs";
16
16
  import { Dialect, Kysely, sql } from "kysely";
17
17
  import { z } from "astro/zod";
18
- import { z as z$1 } from "zod";
18
+ import { ZodType, z as z$1 } from "zod";
19
19
  import { ManifestHookEntry, ManifestRouteEntry } from "@emdash-cms/plugin-types";
20
20
  import "@emdash-cms/registry-client/env";
21
+ import "@emdash-cms/registry-client/direct-pds";
22
+ import { PortableTextTableAlignment, PortableTextTableBlock, PortableTextTableBlock as PortableTextTableBlock$1, PortableTextTableCell, PortableTextTableRow } from "@emdash-cms/admin/portable-text-table";
23
+ import { Extension, Extensions, Mark, Node } from "@tiptap/core";
21
24
  import { LiveLoader } from "astro/loaders";
22
25
 
23
26
  //#region src/database/errors.d.ts
@@ -37,7 +40,17 @@ interface DatabaseConfig {
37
40
  authToken?: string;
38
41
  }
39
42
  //#endregion
43
+ //#region src/config/errors.d.ts
44
+ type EmDashConfigurationErrorCode = "BINDING_NOT_FOUND" | "CONFIGURATION_ERROR";
45
+ /** A configuration failure whose message is safe to return from the API. */
46
+ declare class EmDashConfigurationError extends Error {
47
+ readonly code: EmDashConfigurationErrorCode;
48
+ cause?: unknown | undefined;
49
+ constructor(message: string, code: EmDashConfigurationErrorCode, cause?: unknown | undefined);
50
+ }
51
+ //#endregion
40
52
  //#region src/database/repositories/content.d.ts
53
+ type ContentRevisionPrecondition = Pick<ContentItem, "version" | "updatedAt">;
41
54
  /**
42
55
  * Repository for content CRUD operations
43
56
  *
@@ -100,6 +113,7 @@ declare class ContentRepository {
100
113
  * Find many content items with filtering and pagination
101
114
  */
102
115
  findMany(type: string, options?: FindManyOptions): Promise<FindManyResult<ContentItem>>;
116
+ private normalizeScheduledAt;
103
117
  /**
104
118
  * Update content
105
119
  */
@@ -111,6 +125,25 @@ declare class ContentRepository {
111
125
  updateDraftAware(type: string, id: string, input: UpdateContentInput): Promise<ContentItem>;
112
126
  private deleteUnstagedRevision;
113
127
  private replaceDraftRevisionForUpdate;
128
+ /**
129
+ * Copy non-translatable field values to every other entry in the
130
+ * translation group, trashed entries included.
131
+ *
132
+ * Only the fields present in `data` are copied. With `previous`, `data` is
133
+ * the entry's complete new state and only the fields whose value differs
134
+ * from `previous` are copied, an absent field as null. An entry that already
135
+ * holds every copied value is left untouched, so its `updated_at` does not
136
+ * move.
137
+ *
138
+ * On collections with revisions a changed entry also gets a new live
139
+ * revision, because republishing and unpublishing read that revision rather
140
+ * than the columns. A pending draft takes a value only where it still holds
141
+ * the entry's previous value, so an unpublished edit to the field survives.
142
+ */
143
+ syncNonTranslatableFields(type: string, sourceId: string, translationGroup: string, data: Record<string, unknown>, options?: {
144
+ previous?: Record<string, unknown>;
145
+ }): Promise<void>;
146
+ private syncSiblingValues;
114
147
  /**
115
148
  * Delete content (soft delete - moves to trash)
116
149
  */
@@ -136,13 +169,19 @@ declare class ContentRepository {
136
169
  /**
137
170
  * Find trashed content items
138
171
  */
139
- findTrashed(type: string, options?: Omit<FindManyOptions, "where">): Promise<FindManyResult<ContentItem & {
172
+ findTrashed(type: string, options?: Omit<FindManyOptions, "where"> & {
173
+ where?: {
174
+ locale?: string;
175
+ };
176
+ }): Promise<FindManyResult<ContentItem & {
140
177
  deletedAt: string;
141
178
  }>>;
142
179
  /**
143
180
  * Count trashed content items
144
181
  */
145
- countTrashed(type: string): Promise<number>;
182
+ countTrashed(type: string, options?: {
183
+ locale?: string;
184
+ }): Promise<number>;
146
185
  /**
147
186
  * Apply the optional `q` filter.
148
187
  *
@@ -231,6 +270,8 @@ declare class ContentRepository {
231
270
  * Find all translations in a translation group
232
271
  */
233
272
  findTranslations(type: string, translationGroup: string): Promise<ContentItem[]>;
273
+ /** Whether any row of `translationGroup` exists, trashed rows included. */
274
+ hasTranslationsIncludingTrashed(type: string, translationGroup: string): Promise<boolean>;
234
275
  /**
235
276
  * Batch variant of {@link findTranslations}: every (non-deleted) locale
236
277
  * variant for any of `translationGroups`, in one `WHERE translation_group IN
@@ -288,14 +329,14 @@ declare class ContentRepository {
288
329
  * `expectedScheduledAt` additionally fences changes made after a sweep
289
330
  * selected the row but before publication preparation began.
290
331
  */
291
- publish(type: string, id: string, publishedAt?: string, requireDue?: boolean, expectedScheduledAt?: string, promoteRevision?: boolean, requireSlug?: boolean): Promise<ContentItem>;
332
+ publish(type: string, id: string, publishedAt?: string, requireDue?: boolean, expectedScheduledAt?: string, promoteRevision?: boolean, requireSlug?: boolean, expectedRevision?: ContentRevisionPrecondition): Promise<ContentItem>;
292
333
  /**
293
334
  * Unpublish content
294
335
  *
295
- * Removes live pointer but preserves draft. If no draft exists,
296
- * creates one from the live version so the content isn't lost.
336
+ * Removes live pointer but preserves the draft and publication date. If no
337
+ * draft exists, creates one from the live version so the content isn't lost.
297
338
  */
298
- unpublish(type: string, id: string): Promise<ContentItem>;
339
+ unpublish(type: string, id: string, expectedRevision?: ContentRevisionPrecondition): Promise<ContentItem>;
299
340
  /**
300
341
  * Set the draft revision pointer for a content item.
301
342
  *
@@ -315,7 +356,7 @@ declare class ContentRepository {
315
356
  * Clears draft_revision_id. The content table columns already hold the
316
357
  * published version, so no data sync is needed.
317
358
  */
318
- discardDraft(type: string, id: string): Promise<ContentItem>;
359
+ discardDraft(type: string, id: string, expectedRevision?: ContentRevisionPrecondition): Promise<ContentItem>;
319
360
  /**
320
361
  * Count content items with a pending schedule.
321
362
  * Includes both draft-scheduled (status='scheduled') and published
@@ -383,6 +424,7 @@ interface CreateMediaInput {
383
424
  dominantColor?: string;
384
425
  status?: MediaStatus;
385
426
  authorId?: string;
427
+ folderId?: string | null;
386
428
  }
387
429
  interface FindManyMediaOptions {
388
430
  limit?: number;
@@ -402,6 +444,12 @@ interface UpdateMediaInput extends FocalPointUpdate {
402
444
  height?: number;
403
445
  folderId?: string | null;
404
446
  }
447
+ interface ReplaceReadyMediaInput {
448
+ size: number;
449
+ width: number;
450
+ height: number;
451
+ contentHash: string;
452
+ }
405
453
  interface FindMediaPageOptions extends Omit<FindManyMediaOptions, "cursor"> {
406
454
  page: number;
407
455
  }
@@ -429,6 +477,7 @@ declare class MediaRepository {
429
477
  storageKey: string;
430
478
  contentHash?: string;
431
479
  authorId?: string;
480
+ folderId?: string | null;
432
481
  }): Promise<MediaItem>;
433
482
  createUploadAttempt(mediaId: string, storageKey: string): Promise<void>;
434
483
  hasUploadAttempt(storageKey: string): Promise<boolean>;
@@ -461,6 +510,7 @@ declare class MediaRepository {
461
510
  * Useful for idempotent imports
462
511
  */
463
512
  findByFilename(filename: string): Promise<MediaItem | null>;
513
+ findAvailableFilename(filename: string): Promise<string>;
464
514
  /**
465
515
  * Find media by content hash
466
516
  * Used for deduplication - same content = same hash
@@ -478,6 +528,7 @@ declare class MediaRepository {
478
528
  * Update media metadata
479
529
  */
480
530
  update(id: string, input: UpdateMediaInput): Promise<MediaItem | null>;
531
+ replaceReadyFile(id: string, expectedStorageKey: string, input: ReplaceReadyMediaInput): Promise<MediaItem | null>;
481
532
  /**
482
533
  * Delete media item
483
534
  */
@@ -626,11 +677,6 @@ interface PublicComment {
626
677
  }
627
678
  //#endregion
628
679
  //#region src/database/repositories/plugin-storage.d.ts
629
- /**
630
- * Plugin Storage Repository
631
- *
632
- * Implements the StorageCollection interface for a specific plugin and collection.
633
- */
634
680
  declare class PluginStorageRepository<T = unknown> implements StorageCollection<T> {
635
681
  private db;
636
682
  private pluginId;
@@ -645,6 +691,9 @@ declare class PluginStorageRepository<T = unknown> implements StorageCollection<
645
691
  * Store a document
646
692
  */
647
693
  put(id: string, data: T): Promise<void>;
694
+ getVersioned(id: string): Promise<VersionedValue<T> | null>;
695
+ compareAndSet(id: string, expectedRevision: string | null, data: T): Promise<ConditionalWriteResult>;
696
+ compareAndDelete(id: string, expectedRevision: string): Promise<ConditionalDeleteResult>;
648
697
  /**
649
698
  * Delete a document
650
699
  */
@@ -679,6 +728,7 @@ declare class PluginStorageRepository<T = unknown> implements StorageCollection<
679
728
  * Count documents matching a filter
680
729
  */
681
730
  count(where?: WhereClause): Promise<number>;
731
+ updateIf(id: string, args: unknown): Promise<UpdateIfResult<T>>;
682
732
  }
683
733
  //#endregion
684
734
  //#region src/database/dialect-helpers.d.ts
@@ -702,7 +752,7 @@ type ColumnType = "TEXT" | "REAL" | "INTEGER" | "JSON";
702
752
  /**
703
753
  * Base field definition
704
754
  *
705
- * Note: schema uses z.ZodTypeAny to accommodate optional/default wrappers
755
+ * Note: schema uses z.ZodType to accommodate optional/default wrappers
706
756
  */
707
757
  interface FieldDefinition<_T = unknown> {
708
758
  type: string;
@@ -710,7 +760,7 @@ interface FieldDefinition<_T = unknown> {
710
760
  * The SQLite column type to use when storing this field
711
761
  */
712
762
  columnType: ColumnType;
713
- schema: z.ZodTypeAny;
763
+ schema: z.ZodType;
714
764
  options?: unknown;
715
765
  ui?: FieldUIHints;
716
766
  validation?: FieldValidation;
@@ -813,6 +863,8 @@ interface TrashedContentItem {
813
863
  type: string;
814
864
  slug: string | null;
815
865
  status: string;
866
+ locale: string | null;
867
+ translationGroup: string | null;
816
868
  data: Record<string, unknown>;
817
869
  authorId: string | null;
818
870
  createdAt: string;
@@ -943,6 +995,7 @@ declare function handleContentPermanentDelete(db: Kysely<Database>, collection:
943
995
  declare function handleContentListTrashed(db: Kysely<Database>, collection: string, options?: {
944
996
  limit?: number;
945
997
  cursor?: string;
998
+ locale?: string;
946
999
  }): Promise<ApiResult<{
947
1000
  items: TrashedContentItem[];
948
1001
  nextCursor?: string;
@@ -950,7 +1003,9 @@ declare function handleContentListTrashed(db: Kysely<Database>, collection: stri
950
1003
  /**
951
1004
  * Count trashed content items
952
1005
  */
953
- declare function handleContentCountTrashed(db: Kysely<Database>, collection: string): Promise<ApiResult<{
1006
+ declare function handleContentCountTrashed(db: Kysely<Database>, collection: string, options?: {
1007
+ locale?: string;
1008
+ }): Promise<ApiResult<{
954
1009
  count: number;
955
1010
  }>>;
956
1011
  /**
@@ -965,12 +1020,13 @@ declare function handleContentUnschedule(db: Kysely<Database>, collection: strin
965
1020
  * Publish content immediately.
966
1021
  *
967
1022
  * Publication is one atomic content-row statement. On databases that support
968
- * transactions, the existing slug-redirect side write remains grouped with it.
1023
+ * transactions, the slug redirect and the locale sync stay grouped with it.
969
1024
  */
970
1025
  declare function handleContentPublish(db: Kysely<Database>, collection: string, id: string, options?: {
971
1026
  publishedAt?: string;
972
1027
  requireScheduledDue?: boolean;
973
1028
  expectedScheduledAt?: string;
1029
+ _rev?: string;
974
1030
  }): Promise<ApiResult<ContentResponse>>;
975
1031
  /**
976
1032
  * Unpublish content (revert to draft).
@@ -978,7 +1034,9 @@ declare function handleContentPublish(db: Kysely<Database>, collection: string,
978
1034
  * Wrapped in a transaction — unpublish may create a draft revision
979
1035
  * from the live version then update the status, which is multi-step.
980
1036
  */
981
- declare function handleContentUnpublish(db: Kysely<Database>, collection: string, id: string): Promise<ApiResult<ContentResponse>>;
1037
+ declare function handleContentUnpublish(db: Kysely<Database>, collection: string, id: string, options?: {
1038
+ _rev?: string;
1039
+ }): Promise<ApiResult<ContentResponse>>;
982
1040
  /**
983
1041
  * Count scheduled content items
984
1042
  */
@@ -988,7 +1046,9 @@ declare function handleContentCountScheduled(db: Kysely<Database>, collection: s
988
1046
  /**
989
1047
  * Discard draft changes (revert to live version)
990
1048
  */
991
- declare function handleContentDiscardDraft(db: Kysely<Database>, collection: string, id: string): Promise<ApiResult<ContentResponse>>;
1049
+ declare function handleContentDiscardDraft(db: Kysely<Database>, collection: string, id: string, options?: {
1050
+ _rev?: string;
1051
+ }): Promise<ApiResult<ContentResponse>>;
992
1052
  /**
993
1053
  * Compare live and draft revisions
994
1054
  */
@@ -1028,6 +1088,9 @@ interface CollectionDefinition {
1028
1088
  };
1029
1089
  }
1030
1090
  type CollectionMap = Record<string, CollectionDefinition>;
1091
+ interface GenerateManifestOptions {
1092
+ db?: Kysely<Database> | null;
1093
+ }
1031
1094
  /**
1032
1095
  * Generate admin manifest from collections
1033
1096
  */
@@ -1037,7 +1100,7 @@ declare function generateManifest(collections: CollectionMap, plugins?: Record<s
1037
1100
  component: string;
1038
1101
  }>;
1039
1102
  widgets?: string[];
1040
- }>): Promise<ManifestResponse>;
1103
+ }>, options?: GenerateManifestOptions): Promise<ManifestResponse>;
1041
1104
  //#endregion
1042
1105
  //#region src/api/handlers/revision.d.ts
1043
1106
  interface RevisionListResponse {
@@ -1101,6 +1164,7 @@ declare function handleMediaCreate(db: Kysely<Database>, input: {
1101
1164
  blurhash?: string;
1102
1165
  dominantColor?: string;
1103
1166
  authorId?: string;
1167
+ folderId?: string | null;
1104
1168
  }): Promise<ApiResult<MediaResponse>>;
1105
1169
  /**
1106
1170
  * Update media metadata
@@ -1112,6 +1176,12 @@ declare function handleMediaUpdate(db: Kysely<Database>, id: string, input: {
1112
1176
  height?: number;
1113
1177
  folderId?: string | null;
1114
1178
  } & FocalPointUpdate): Promise<ApiResult<MediaResponse>>;
1179
+ declare function handleMediaReplaceMetadata(db: Kysely<Database>, id: string, expectedStorageKey: string, input: {
1180
+ size: number;
1181
+ width: number;
1182
+ height: number;
1183
+ contentHash: string;
1184
+ }): Promise<ApiResult<MediaResponse>>;
1115
1185
  /**
1116
1186
  * Delete media item
1117
1187
  */
@@ -1149,6 +1219,10 @@ declare class SchemaError extends Error {
1149
1219
  declare class SchemaRegistry {
1150
1220
  private db;
1151
1221
  constructor(db: Kysely<Database>);
1222
+ /**
1223
+ * Notify the dev typegen hook that the schema has changed.
1224
+ */
1225
+ private notifyTypegen;
1152
1226
  /**
1153
1227
  * List all collections
1154
1228
  */
@@ -1420,12 +1494,11 @@ interface RegistryConfig {
1420
1494
  * Accepts a duration string (`"24h"`, `"48h"`, `"72h"`, `"7d"`) or a
1421
1495
  * number of seconds.
1422
1496
  *
1423
- * Currently applies uniformly to all releases. A future addition
1424
- * may exempt brand-new packages (those with no prior release
1425
- * history) so the holdback doesn't block first-time publishing,
1426
- * but that exemption is not implemented yet; use
1427
- * {@link minimumReleaseAgeExclude} to allowlist trusted publishers
1428
- * whose packages should install immediately.
1497
+ * A package's first release is exempt only when the aggregator
1498
+ * reports one release and confirms that its retained history is
1499
+ * complete. Missing or incomplete history keeps the holdback in
1500
+ * force. Use {@link minimumReleaseAgeExclude} to allowlist trusted
1501
+ * publishers whose packages should always install immediately.
1429
1502
  *
1430
1503
  * Defaults to `undefined` (no holdback). A future trust/moderation
1431
1504
  * RFC will specify the recommended default.
@@ -1829,12 +1902,13 @@ interface EmDashConfig {
1829
1902
  *
1830
1903
  * @example
1831
1904
  * ```ts
1905
+ * import { sandbox } from "@emdash-cms/cloudflare";
1832
1906
  * import { untrustedPlugin } from "some-third-party-plugin";
1833
1907
  *
1834
1908
  * emdash({
1835
1909
  * plugins: [trustedPlugin()], // runs in host
1836
1910
  * sandboxed: [untrustedPlugin()], // runs in isolate
1837
- * sandboxRunner: "@emdash-cms/sandbox-cloudflare",
1911
+ * sandboxRunner: sandbox(),
1838
1912
  * })
1839
1913
  * ```
1840
1914
  */
@@ -1845,8 +1919,10 @@ interface EmDashConfig {
1845
1919
  *
1846
1920
  * @example
1847
1921
  * ```ts
1922
+ * import { sandbox } from "@emdash-cms/cloudflare";
1923
+ *
1848
1924
  * emdash({
1849
- * sandboxRunner: "@emdash-cms/sandbox-cloudflare",
1925
+ * sandboxRunner: sandbox(),
1850
1926
  * })
1851
1927
  * ```
1852
1928
  */
@@ -1924,7 +2000,8 @@ interface EmDashConfig {
1924
2000
  * and uninstall plugins from a remote marketplace.
1925
2001
  *
1926
2002
  * Must be an HTTPS URL in production, or localhost/127.0.0.1 in dev.
1927
- * Requires `sandboxRunner` to be configured (marketplace plugins run sandboxed).
2003
+ * Installing or updating plugins requires an available `sandboxRunner`.
2004
+ * Browsing remains available when no runner is configured.
1928
2005
  *
1929
2006
  * When `registry` is also configured, the registry replaces the marketplace
1930
2007
  * for the admin UI's browse and install flows. Existing marketplace-installed
@@ -1932,9 +2009,11 @@ interface EmDashConfig {
1932
2009
  *
1933
2010
  * @example
1934
2011
  * ```ts
2012
+ * import { sandbox } from "@emdash-cms/cloudflare";
2013
+ *
1935
2014
  * emdash({
1936
2015
  * marketplace: "https://marketplace.emdashcms.com",
1937
- * sandboxRunner: "@emdash-cms/sandbox-cloudflare",
2016
+ * sandboxRunner: sandbox(),
1938
2017
  * })
1939
2018
  * ```
1940
2019
  */
@@ -1949,13 +2028,15 @@ interface EmDashConfig {
1949
2028
  *
1950
2029
  * @example
1951
2030
  * ```ts
2031
+ * import { sandbox } from "@emdash-cms/cloudflare";
2032
+ *
1952
2033
  * emdash({
1953
2034
  * experimental: {
1954
2035
  * registry: {
1955
2036
  * aggregatorUrl: "https://registry.emdashcms.com",
1956
2037
  * },
1957
2038
  * },
1958
- * sandboxRunner: "@emdash-cms/sandbox-cloudflare",
2039
+ * sandboxRunner: sandbox(),
1959
2040
  * })
1960
2041
  * ```
1961
2042
  */
@@ -2355,6 +2436,14 @@ interface SandboxRunner {
2355
2436
  * child process has crashed and hasn't been restarted yet.
2356
2437
  */
2357
2438
  isHealthy(): boolean;
2439
+ /**
2440
+ * Why the runner cannot run plugins, once isAvailable() or isHealthy()
2441
+ * has returned false. A lowercase clause without a final period: callers
2442
+ * append it to their own message after a colon.
2443
+ *
2444
+ * Making this required breaks runners implemented outside this repository.
2445
+ */
2446
+ unavailableReason?(): string;
2358
2447
  /**
2359
2448
  * Load a sandboxed plugin from code.
2360
2449
  *
@@ -2385,11 +2474,11 @@ declare class SandboxUnavailableError extends Error {
2385
2474
  }
2386
2475
  /**
2387
2476
  * Factory function type for creating sandbox runners.
2388
- * Exported by platform adapters (e.g., @emdash-cms/adapter-cloudflare/sandbox).
2477
+ * Exported by platform adapters (e.g., @emdash-cms/cloudflare/sandbox).
2389
2478
  *
2390
2479
  * @example
2391
2480
  * ```typescript
2392
- * // In @emdash-cms/adapter-cloudflare/sandbox.ts
2481
+ * // In @emdash-cms/cloudflare/sandbox
2393
2482
  * export const createSandboxRunner: SandboxRunnerFactory = (options) => {
2394
2483
  * return new CloudflareSandboxRunner(options);
2395
2484
  * };
@@ -2446,10 +2535,9 @@ declare class CronExecutor {
2446
2535
  //#endregion
2447
2536
  //#region src/plugins/context.d.ts
2448
2537
  /**
2449
- * Create HTTP access with host validation.
2538
+ * Create HTTP access with host validation and SSRF protection.
2450
2539
  *
2451
- * Uses redirect: "manual" to re-validate each redirect target against
2452
- * the allowedHosts list, preventing redirects to unauthorized hosts.
2540
+ * Uses redirect: "manual" to re-validate each redirect target before dispatch.
2453
2541
  */
2454
2542
  declare function createHttpAccess(pluginId: string, allowedHosts: string[]): HttpAccess;
2455
2543
  /**
@@ -2625,16 +2713,18 @@ declare class HookPipeline {
2625
2713
  private runLifecycleHook;
2626
2714
  /**
2627
2715
  * Run content:beforeSave hooks
2628
- * Returns modified content from the pipeline
2716
+ * Returns modified content from the pipeline. `id` is the existing item's
2717
+ * ID when updating. `actor` is the authenticated user that triggered the
2718
+ * save, when one is available.
2629
2719
  */
2630
- runContentBeforeSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<{
2720
+ runContentBeforeSave(content: Record<string, unknown>, collection: string, isNew: boolean, id?: string, actor?: ActorInfo): Promise<{
2631
2721
  content: Record<string, unknown>;
2632
2722
  results: HookResult<Record<string, unknown>>[];
2633
2723
  }>;
2634
2724
  /**
2635
2725
  * Run content:afterSave hooks
2636
2726
  */
2637
- runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<HookResult<void>[]>;
2727
+ runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean, actor?: ActorInfo): Promise<HookResult<void>[]>;
2638
2728
  /**
2639
2729
  * Run content:beforeDelete hooks
2640
2730
  * Returns whether deletion is allowed
@@ -3525,6 +3615,7 @@ declare class EmDashRuntime {
3525
3615
  locale?: string;
3526
3616
  translationOf?: string;
3527
3617
  taxonomies?: Record<string, string[]>;
3618
+ actor?: ActorInfo;
3528
3619
  }): Promise<{
3529
3620
  success: false;
3530
3621
  error: {
@@ -3575,6 +3666,11 @@ declare class EmDashRuntime {
3575
3666
  locale?: string; /** Replace the previous autosave revision after staging this save. */
3576
3667
  skipRevision?: boolean;
3577
3668
  _rev?: string;
3669
+ /**
3670
+ * Acting user for this save. Used for revision attribution and
3671
+ * passed to content hooks; never changes entry ownership.
3672
+ */
3673
+ actor?: ActorInfo;
3578
3674
  }): Promise<{
3579
3675
  success: false;
3580
3676
  error: {
@@ -3622,6 +3718,7 @@ declare class EmDashRuntime {
3622
3718
  handleContentListTrashed(collection: string, params?: {
3623
3719
  cursor?: string;
3624
3720
  limit?: number;
3721
+ locale?: string;
3625
3722
  }): Promise<ApiResult<{
3626
3723
  items: TrashedContentItem[];
3627
3724
  nextCursor?: string;
@@ -3634,7 +3731,9 @@ declare class EmDashRuntime {
3634
3731
  deleted: true;
3635
3732
  id: string;
3636
3733
  }>>;
3637
- handleContentCountTrashed(collection: string): Promise<ApiResult<{
3734
+ handleContentCountTrashed(collection: string, params?: {
3735
+ locale?: string;
3736
+ }): Promise<ApiResult<{
3638
3737
  count: number;
3639
3738
  }>>;
3640
3739
  handleContentDuplicate(collection: string, id: string, authorId?: string): Promise<ApiResult<{
@@ -3644,14 +3743,19 @@ declare class EmDashRuntime {
3644
3743
  publishedAt?: string;
3645
3744
  requireScheduledDue?: boolean;
3646
3745
  expectedScheduledAt?: string;
3746
+ _rev?: string;
3747
+ }): Promise<ApiResult<ContentResponse>>;
3748
+ handleContentUnpublish(collection: string, id: string, options?: {
3749
+ _rev?: string;
3647
3750
  }): Promise<ApiResult<ContentResponse>>;
3648
- handleContentUnpublish(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
3649
3751
  handleContentSchedule(collection: string, id: string, scheduledAt: string): Promise<ApiResult<ContentResponse>>;
3650
3752
  handleContentUnschedule(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
3651
3753
  handleContentCountScheduled(collection: string): Promise<ApiResult<{
3652
3754
  count: number;
3653
3755
  }>>;
3654
- handleContentDiscardDraft(collection: string, id: string): Promise<ApiResult<ContentResponse>>;
3756
+ handleContentDiscardDraft(collection: string, id: string, options?: {
3757
+ _rev?: string;
3758
+ }): Promise<ApiResult<ContentResponse>>;
3655
3759
  handleContentCompare(collection: string, id: string): Promise<ApiResult<{
3656
3760
  hasChanges: boolean;
3657
3761
  live: Record<string, unknown> | null;
@@ -3687,6 +3791,7 @@ declare class EmDashRuntime {
3687
3791
  blurhash?: string;
3688
3792
  dominantColor?: string;
3689
3793
  authorId?: string;
3794
+ folderId?: string | null;
3690
3795
  }): Promise<ApiResult<MediaResponse>>;
3691
3796
  handleMediaUpdate(id: string, input: {
3692
3797
  alt?: string;
@@ -3697,6 +3802,12 @@ declare class EmDashRuntime {
3697
3802
  focalX?: number | null;
3698
3803
  focalY?: number | null;
3699
3804
  }): Promise<ApiResult<MediaResponse>>;
3805
+ handleMediaReplaceMetadata(id: string, expectedStorageKey: string, input: {
3806
+ size: number;
3807
+ width: number;
3808
+ height: number;
3809
+ contentHash: string;
3810
+ }): Promise<ApiResult<MediaResponse>>;
3700
3811
  handleMediaDelete(id: string): Promise<ApiResult<{
3701
3812
  deleted: true;
3702
3813
  storageKey: string;
@@ -3706,6 +3817,7 @@ declare class EmDashRuntime {
3706
3817
  }): Promise<ApiResult<RevisionListResponse>>;
3707
3818
  handleRevisionGet(revisionId: string): Promise<ApiResult<RevisionResponse>>;
3708
3819
  handleRevisionRestore(revisionId: string, callerUserId: string): Promise<ApiResult<ContentResponse>>;
3820
+ private findSyncedSiblingsForUsageRefresh;
3709
3821
  private refreshContentUsageAfterSuccessfulWrite;
3710
3822
  private deleteContentUsageAfterSuccessfulPermanentDelete;
3711
3823
  /**
@@ -3895,11 +4007,6 @@ declare function getSection(slug: string): Promise<Section | null>;
3895
4007
  declare function getSections(options?: GetSectionsOptions): Promise<FindManyResult<Section>>;
3896
4008
  //#endregion
3897
4009
  //#region src/content/converters/types.d.ts
3898
- /**
3899
- * Portable Text Types
3900
- *
3901
- * Defines the structure of Portable Text blocks used in EmDash.
3902
- */
3903
4010
  /**
3904
4011
  * Base span (inline text)
3905
4012
  */
@@ -3961,6 +4068,7 @@ interface PortableTextImageBlock {
3961
4068
  displayWidth?: number;
3962
4069
  /** Display height for this instance (overrides original) */
3963
4070
  displayHeight?: number;
4071
+ alignment?: "left" | "center" | "right" | "wide" | "full";
3964
4072
  }
3965
4073
  /**
3966
4074
  * A single image inside a gallery block. Mirrors the shape produced by
@@ -4024,7 +4132,7 @@ interface PortableTextUnknownBlock {
4024
4132
  /**
4025
4133
  * Any Portable Text block
4026
4134
  */
4027
- type PortableTextBlock = PortableTextTextBlock | PortableTextImageBlock | PortableTextGalleryBlock | PortableTextCodeBlock | PortableTextHtmlBlock | PortableTextUnknownBlock;
4135
+ type PortableTextBlock = PortableTextTextBlock | PortableTextImageBlock | PortableTextGalleryBlock | PortableTextCodeBlock | PortableTextHtmlBlock | PortableTextTableBlock | PortableTextUnknownBlock;
4028
4136
  /**
4029
4137
  * ProseMirror JSON types (simplified for TipTap)
4030
4138
  */
@@ -4051,10 +4159,18 @@ interface ProseMirrorDocument {
4051
4159
  declare function prosemirrorToPortableText(doc: ProseMirrorDocument): PortableTextBlock[];
4052
4160
  //#endregion
4053
4161
  //#region src/content/converters/portable-text-to-prosemirror.d.ts
4054
- /**
4055
- * Convert Portable Text to ProseMirror document
4056
- */
4057
- declare function portableTextToProsemirror(blocks: PortableTextBlock[]): ProseMirrorDocument;
4162
+ interface PortableTextToProsemirrorOptions {
4163
+ /**
4164
+ * Preserve custom blocks and Portable Text keys through a ProseMirror round trip.
4165
+ * Add `portableTextIdentityExtensions` to the TipTap schema when this is enabled.
4166
+ */
4167
+ preserveIdentity?: boolean;
4168
+ }
4169
+ /** Convert Portable Text to a ProseMirror document. */
4170
+ declare function portableTextToProsemirror(blocks: PortableTextBlock[], options?: PortableTextToProsemirrorOptions): ProseMirrorDocument;
4171
+ //#endregion
4172
+ //#region src/content/converters/portable-text-identity.d.ts
4173
+ declare const portableTextIdentityExtensions: Extensions;
4058
4174
  //#endregion
4059
4175
  //#region src/utils/hash.d.ts
4060
4176
  /**
@@ -4782,7 +4898,7 @@ declare function definePlugin<TStorage extends PluginStorageConfig>(definition:
4782
4898
  * to make them consistent (declaredAccess authoritative when present). Kept a
4783
4899
  * plain object (no `.transform`) because callers `.pick()`/`.extend()` it.
4784
4900
  */
4785
- declare const pluginManifestSchema: z$1.ZodObject<{
4901
+ declare const pluginManifestSchema$1: z$1.ZodObject<{
4786
4902
  id: z$1.ZodString;
4787
4903
  version: z$1.ZodString;
4788
4904
  declaredAccess: z$1.ZodOptional<z$1.ZodObject<{
@@ -4985,13 +5101,13 @@ declare const pluginManifestSchema: z$1.ZodObject<{
4985
5101
  string: "string";
4986
5102
  number: "number";
4987
5103
  boolean: "boolean";
4988
- slug: "slug";
4989
5104
  file: "file";
4990
- image: "image";
4991
5105
  datetime: "datetime";
5106
+ slug: "slug";
4992
5107
  text: "text";
4993
- integer: "integer";
4994
5108
  select: "select";
5109
+ image: "image";
5110
+ integer: "integer";
4995
5111
  multiSelect: "multiSelect";
4996
5112
  portableText: "portableText";
4997
5113
  reference: "reference";
@@ -5006,7 +5122,7 @@ declare const pluginManifestSchema: z$1.ZodObject<{
5006
5122
  }, z$1.core.$strip>>>;
5007
5123
  }, z$1.core.$strip>;
5008
5124
  }, z$1.core.$strip>;
5009
- type ValidatedPluginManifest = z$1.infer<typeof pluginManifestSchema>;
5125
+ type ValidatedPluginManifest = z$1.infer<typeof pluginManifestSchema$1>;
5010
5126
  //#endregion
5011
5127
  //#region src/plugins/save-rejection.d.ts
5012
5128
  /**
@@ -5101,14 +5217,14 @@ declare class PluginManager {
5101
5217
  /**
5102
5218
  * Run content:beforeSave hooks across all active plugins
5103
5219
  */
5104
- runContentBeforeSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<{
5220
+ runContentBeforeSave(content: Record<string, unknown>, collection: string, isNew: boolean, id?: string, actor?: ActorInfo): Promise<{
5105
5221
  content: Record<string, unknown>;
5106
5222
  results: HookResult<Record<string, unknown>>[];
5107
5223
  }>;
5108
5224
  /**
5109
5225
  * Run content:afterSave hooks across all active plugins
5110
5226
  */
5111
- runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean): Promise<HookResult<void>[]>;
5227
+ runContentAfterSave(content: Record<string, unknown>, collection: string, isNew: boolean, actor?: ActorInfo): Promise<HookResult<void>[]>;
5112
5228
  /**
5113
5229
  * Run content:beforeDelete hooks across all active plugins
5114
5230
  */
@@ -5315,6 +5431,37 @@ declare class NoopSandboxRunner implements SandboxRunner {
5315
5431
  */
5316
5432
  declare function createNoopSandboxRunner(_options?: SandboxOptions): SandboxRunner;
5317
5433
  //#endregion
5434
+ //#region src/plugins/storage-query.d.ts
5435
+ /**
5436
+ * Error thrown when a guarded `updateIf` loses a concurrent race by aborting
5437
+ * rather than resolving to `{ applied: false }`.
5438
+ *
5439
+ * `updateIf`'s `{ applied: false }` contract (row absent OR guard failed)
5440
+ * assumes READ COMMITTED — the default. There, a losing concurrent writer
5441
+ * re-evaluates the guard against the winner's freshly committed row and
5442
+ * cleanly resolves to `{ applied: false }`. Two aborts escape that contract:
5443
+ *
5444
+ * - `40001` (serialization_failure), only above READ COMMITTED, where the
5445
+ * loser cannot re-read against a newer snapshot.
5446
+ * - `40P01` (deadlock_detected), at any isolation level, when transactions
5447
+ * take row locks in opposite order.
5448
+ *
5449
+ * This error surfaces either abort so the caller can retry the write.
5450
+ *
5451
+ * The no-oversell SAFETY invariant holds either way: a losing writer NEVER
5452
+ * applies its update — it either sees `{ applied: false }` or throws here.
5453
+ */
5454
+ declare class StorageSerializationError extends Error {
5455
+ readonly code = "STORAGE_SERIALIZATION_FAILURE";
5456
+ readonly retryable = true;
5457
+ /** The Postgres SQLSTATE that triggered this error (`40001` / `40P01`). */
5458
+ readonly sqlState?: string;
5459
+ constructor(message: string, options?: {
5460
+ cause?: unknown;
5461
+ sqlState?: string;
5462
+ });
5463
+ }
5464
+ //#endregion
5318
5465
  //#region src/preview/tokens.d.ts
5319
5466
  /**
5320
5467
  * Preview token generation and verification
@@ -5553,6 +5700,16 @@ declare function getSiteSetting<K extends SiteSettingKey>(key: K): Promise<SiteS
5553
5700
  * ```
5554
5701
  */
5555
5702
  declare function getSiteSettings(): Promise<Partial<SiteSettings>>;
5703
+ /**
5704
+ * Get all site settings with a Workers edge-cache hint.
5705
+ *
5706
+ * Use the returned `cacheHint` with `Astro.cache.set()` so pages that render
5707
+ * settings can be purged automatically when site settings change.
5708
+ */
5709
+ declare function getSiteSettingsWithCacheHint(): Promise<{
5710
+ data: Partial<SiteSettings>;
5711
+ cacheHint: CacheHint;
5712
+ }>;
5556
5713
  /**
5557
5714
  * Set site settings (internal function used by admin API)
5558
5715
  *
@@ -5749,6 +5906,16 @@ declare function getMenus(options?: MenuQueryOptions): Promise<Array<{
5749
5906
  label: string;
5750
5907
  locale: string;
5751
5908
  }>>;
5909
+ /**
5910
+ * Get a menu by name with a Workers edge-cache hint.
5911
+ *
5912
+ * Use the returned `cacheHint` with `Astro.cache.set()` so pages that render
5913
+ * this menu can be purged automatically when the menu is edited.
5914
+ */
5915
+ declare function getMenuWithCacheHint(name: string, options?: MenuQueryOptions): Promise<{
5916
+ data: Menu | null;
5917
+ cacheHint: CacheHint;
5918
+ }>;
5752
5919
  //#endregion
5753
5920
  //#region src/bylines/index.d.ts
5754
5921
  /**
@@ -5951,12 +6118,27 @@ declare function getTaxonomyDef(name: string, options?: TaxonomyQueryOptions): P
5951
6118
  * the term list with callers that do.
5952
6119
  */
5953
6120
  declare function getTaxonomyTerms(taxonomyName: string, options?: TaxonomyTermsOptions): Promise<TaxonomyTerm[]>;
6121
+ /**
6122
+ * Get all terms of a taxonomy with a Workers edge-cache hint.
6123
+ *
6124
+ * Use the returned `cacheHint` with `Astro.cache.set()` so pages that render
6125
+ * a taxonomy facet can be purged automatically when taxonomy terms change.
6126
+ */
6127
+ declare function getTaxonomyTermsWithCacheHint(taxonomyName: string, options?: TaxonomyTermsOptions): Promise<{
6128
+ data: TaxonomyTerm[];
6129
+ cacheHint: CacheHint;
6130
+ }>;
5954
6131
  /**
5955
6132
  * Get a single term by (taxonomy, slug). Honours the fallback chain — if the
5956
6133
  * slug exists in a fallback locale, we return that row (useful for deep-linking
5957
6134
  * to a term page when the translation is missing).
6135
+ *
6136
+ * The term row and its visible-entry count are loaded and cached separately: the
6137
+ * row depends only on the taxonomy epoch, while the count adds an aggregate over
6138
+ * the whole assignment pivot and every counted collection's content epoch. A
6139
+ * caller that renders no count passes `includeCounts: false` and skips it.
5958
6140
  */
5959
- declare function getTerm(taxonomyName: string, slug: string, options?: TaxonomyQueryOptions): Promise<TaxonomyTerm | null>;
6141
+ declare function getTerm(taxonomyName: string, slug: string, options?: TaxonomyTermsOptions): Promise<TaxonomyTerm | null>;
5960
6142
  /**
5961
6143
  * Terms assigned to a content entry, resolved into the active locale and then
5962
6144
  * the configured default locale.
@@ -6040,6 +6222,16 @@ interface ReorderWidgetsInput {
6040
6222
  * row with null widget columns, which we skip when mapping.
6041
6223
  */
6042
6224
  declare function getWidgetArea(name: string): Promise<WidgetArea | null>;
6225
+ /**
6226
+ * Get a widget area by name with a Workers edge-cache hint.
6227
+ *
6228
+ * Use the returned `cacheHint` with `Astro.cache.set()` so pages that render
6229
+ * this widget area can be purged automatically when its widgets change.
6230
+ */
6231
+ declare function getWidgetAreaWithCacheHint(name: string): Promise<{
6232
+ data: WidgetArea | null;
6233
+ cacheHint: CacheHint;
6234
+ }>;
6043
6235
  /**
6044
6236
  * Get all widget areas with their widgets
6045
6237
  */
@@ -6449,5 +6641,13 @@ declare function extractPlainText(blocks: PortableTextBlock[] | string | null |
6449
6641
  */
6450
6642
  declare function extractSearchableFields(entry: Record<string, unknown>, fields: string[]): Record<string, string>;
6451
6643
  //#endregion
6452
- export { MenuItem as $, PluginRouteError as $n, handleContentCreate as $r, ContentEntry as $t, WidgetType as A, ContentRepository as Ai, PortableTextCodeBlock as An, SchemaError as Ar, createPluginManager as At, CreateTermInput as B, ProseMirrorNode as Bn, handleMediaGet as Br, contentNamespaces as Bt, CreateWidgetInput as C, PortableTextBlock$1 as Ci, getDb as Cn, EmDashConfig as Cr, parseContentId as Ct, Widget as D, CreateMediaInput as Di, hashString as Dn, S3StorageConfig as Dr, createNoopSandboxRunner as Dt, UpdateWidgetInput as E, UserRepository as Ei, computeContentHash as En, LocalStorageConfig as Er, SandboxNotAvailableError as Et, getTaxonomyDefs as F, PortableTextSpan as Fn, markContentMediaUsageCollectionStaleSafely as Fr, definePlugin as Ft, getByline as G, Section as Gn, handleRevisionGet as Gr, invalidateObjectCache as Gt, TaxonomyTerm as H, getSections as Hn, handleMediaUpdate as Hr, invalidateCollectionCache as Ht, getTaxonomyTerms as I, PortableTextTextBlock as In, MediaListResponse as Ir, CacheNamespace as It, getMenu as J, EmDashRuntime as Jn, generateManifest as Jr, WaitUntilFn as Jt, getBylineBySlug as K, SectionSource as Kn, handleRevisionList as Kr, invalidateSchemaObjectCache as Kt, getTerm as L, PortableTextUnknownBlock as Ln, MediaResponse as Lr, CachedQueryOptions as Lt, getEntriesByTerm as M, EmDashDatabaseError as Mi, PortableTextImageBlock as Mn, handleMediaUsageActivationAdvance as Mr, isContentSaveRejection as Mt, getEntryTerms as N, PortableTextLinkMark as Nn, handleMediaUsageProgress as Nr, ValidatedPluginManifest as Nt, WidgetArea as O, MediaItem as Oi, portableTextToProsemirror as On, StorageDescriptor as Or, NodeCronScheduler as Ot, getTaxonomyDef as P, PortableTextMarkDef as Pn, handleMediaUsageRepair as Pr, pluginManifestSchema as Pt, Menu as Q, SystemCleanupFn as Qn, handleContentCountTrashed as Qr, CollectionResult as Qt, getTermsForEntries as R, ProseMirrorDocument as Rn, handleMediaCreate as Rr, cachedQuery as Rt, CreateWidgetAreaInput as S, ImageValue as Si, emdashLoader as Sn, getSandboxRouteErrorEnvelope as Sr, generatePreviewToken as St, ReorderWidgetsInput as T, PluginStorageRepository as Ti, sanitizeHref as Tn, getStoredConfig as Tr, NoopSandboxRunner as Tt, TaxonomyTermRow as U, CreateSectionInput as Un, RevisionListResponse as Ur, invalidateCommentObjectCache as Ut, TaxonomyDef as V, getSection as Vn, handleMediaList as Vr, invalidateBylineObjectCache as Vt, UpdateTermInput as W, GetSectionsOptions as Wn, RevisionResponse as Wr, invalidateMenuObjectCache as Wt, CreateMenuInput as X, PublishedRef as Xn, handleContentCompare as Xr, CacheHint as Xt, getMenus as Y, SandboxedPluginEntry as Yn, handleContentAuthors as Yr, after as Yt, CreateMenuItemInput as Z, CronScheduler as Zn, handleContentCountScheduled as Zr, CollectionFilter as Zt, SuggestOptions as _, file as _i, CollectionFilter$1 as _n, SandboxedPluginInstance as _r, getPreviewUrl as _t, search as a, handleContentList as ai, TranslationSummary as an, createHookPipeline as ar, GetCommentsResult as at, getWidgetAreas as b, FieldUIHints as bi, WhereRange as bn, createSandboxRouteErrorEnvelope as br, VerifyPreviewTokenOptions as bt, FTSManager as c, handleContentPublish as ci, getEmDashCollection as cn, SandboxEmailMessage as cr, getPluginSetting as ct, SearchConfig as d, handleContentTranslations as di, resolveEmDashPath as dn, SandboxRouteErrorCode as dr, getSiteSettings as dt, handleContentDelete as ei, EditFieldMeta as en, RouteCallerInput as er, MenuItemType as et, SearchOptions as f, handleContentUnpublish as fi, CMSAnnotation as fn, SandboxRouteErrorDetails as fr, setSiteSettings as ft, SearchTokenizer as g, reference as gi, createNoop as gn, SandboxUnavailableError as gr, buildPreviewUrl as gt, SearchStats as h, portableText as hi, createEditable as hn, SandboxRunnerFactory as hr, GetPreviewUrlOptions as ht, getSuggestions as i, handleContentGetIncludingTrashed as ii, ResolvePathResult as in, HookResult as ir, GetCommentsOptions as it, getAllTermsForEntries as j, DatabaseConfig as ji, PortableTextHtmlBlock as jn, SchemaRegistry as jr, ContentSaveRejectedError as jt, WidgetComponentDef as k, MediaRepository as ki, prosemirrorToPortableText as kn, getCollectionInfo as kr, PluginManager as kt, CollectionSearchOptions as l, handleContentRestore as li, getEmDashEntry as ln, SandboxEmailSendCallback as lr, getPluginSettings as lt, SearchResult as m, handleContentUpdate as mi, FieldAnnotation as mn, SandboxRunner as mr, isPreviewRequest as mt, extractSearchableFields as n, handleContentDuplicate as ni, EntryResult as nn, EmailPipeline as nr, UpdateMenuInput as nt, searchCollection as o, handleContentListTrashed as oi, TranslationsResult as on, createHttpAccess as or, getCommentCount as ot, SearchResponse as p, handleContentUnschedule as pi, EditProxy as pn, SandboxRouteErrorEnvelope as pr, getPreviewToken as pt, getEntriesByByline as q, UpdateSectionInput as qn, handleRevisionRestore as qr, invalidateTaxonomyObjectCache as qt, getSearchStats as r, handleContentGet as ri, InferCollectionData as rn, HookPipeline as rr, UpdateMenuItemInput as rt, searchWithDb as s, handleContentPermanentDelete as si, getEditMeta as sn, createUnrestrictedHttpAccess as sr, getComments as st, extractPlainText as t, handleContentDiscardDraft as ti, EmDashCollections as tn, RouteMeta as tr, ReorderMenuItemsInput as tt, SEARCH_TOKENIZERS as u, handleContentSchedule as ui, getTranslations as un, SandboxOptions as ur, getSiteSetting as ut, Suggestion as v, image as vi, EntryData as vn, SerializedRequest as vr, GeneratePreviewTokenOptions as vt, PropDef as w, CompoundSelectLimitedAdapter as wi, isSafeHref as wn, PluginDescriptor as wr, verifyPreviewToken as wt, getWidgetComponents as x, FileValue as xi, WhereValue as xn, getSandboxRouteErrorDetails as xr, VerifyPreviewTokenResult as xt, getWidgetArea as y, FieldDefinition as yi, EntryFilter as yn, createSandboxRouteError as yr, PreviewTokenPayload as yt, invalidateTermCache as z, ProseMirrorMark as zn, handleMediaDelete as zr, contentNamespace as zt };
6453
- //# sourceMappingURL=index-DWbJrsAg.d.mts.map
6644
+ //#region src/registry/config.d.ts
6645
+ type RegistryConfigurationErrorCode = "REGISTRY_AGGREGATOR_URL_REQUIRED" | "REGISTRY_AGGREGATOR_URL_INVALID" | "REGISTRY_AGGREGATOR_URL_FORBIDDEN" | "REGISTRY_MINIMUM_RELEASE_AGE_INVALID" | "REGISTRY_MINIMUM_RELEASE_AGE_EXCLUDE_INVALID";
6646
+ type RegistryConfigurationField = "experimental.registry.aggregatorUrl" | "experimental.registry.policy.minimumReleaseAge" | "experimental.registry.policy.minimumReleaseAgeExclude";
6647
+ interface ManifestRegistryConfigurationError {
6648
+ code: RegistryConfigurationErrorCode;
6649
+ field: RegistryConfigurationField;
6650
+ }
6651
+ //#endregion
6652
+ export { getMenus as $, getSection as $n, handleMediaList as $r, invalidateTaxonomyObjectCache as $t, WidgetArea as A, file as Ai, isSafeHref as An, SerializedRequest as Ar, StorageSerializationError as At, getTerm as B, CreateMediaInput as Bi, PortableTextImageBlock as Bn, StorageDescriptor as Br, pluginManifestSchema$1 as Bt, getWidgetComponents as C, handleContentSchedule as Ci, CollectionFilter$1 as Cn, SandboxRouteErrorCode as Cr, GeneratePreviewTokenOptions as Ct, ReorderWidgetsInput as D, handleContentUpdate as Di, WhereValue as Dn, SandboxRunnerFactory as Dr, generatePreviewToken as Dt, PropDef as E, handleContentUnschedule as Ei, WhereRange as En, SandboxRunner as Er, VerifyPreviewTokenResult as Et, getEntryTerms as F, ImageValue as Fi, PortableTextToProsemirrorOptions as Fn, EmDashConfig as Fr, PluginManager as Ft, TaxonomyTerm as G, EmDashConfigurationErrorCode as Gi, PortableTextTableBlock$1 as Gn, handleMediaUsageProgress as Gr, contentNamespace as Gt, invalidateTermCache as H, MediaRepository as Hi, PortableTextMarkDef as Hn, SchemaError as Hr, CacheNamespace as Ht, getTaxonomyDef as I, PortableTextBlock$1 as Ii, portableTextToProsemirror as In, PluginDescriptor as Ir, createPluginManager as It, getByline as J, PortableTextTextBlock as Jn, MediaListResponse as Jr, invalidateCollectionCache as Jt, TaxonomyTermRow as K, DatabaseConfig as Ki, PortableTextTableCell as Kn, handleMediaUsageRepair as Kr, contentNamespaces as Kt, getTaxonomyDefs as L, CompoundSelectLimitedAdapter as Li, prosemirrorToPortableText as Ln, getStoredConfig as Lr, ContentSaveRejectedError as Lt, WidgetType as M, FieldDefinition as Mi, computeContentHash as Mn, createSandboxRouteErrorEnvelope as Mr, SandboxNotAvailableError as Mt, getAllTermsForEntries as N, FieldUIHints as Ni, hashString as Nn, getSandboxRouteErrorDetails as Nr, createNoopSandboxRunner as Nt, UpdateWidgetInput as O, portableText as Oi, emdashLoader as On, SandboxUnavailableError as Or, parseContentId as Ot, getEntriesByTerm as P, FileValue as Pi, portableTextIdentityExtensions as Pn, getSandboxRouteErrorEnvelope as Pr, NodeCronScheduler as Pt, getMenuWithCacheHint as Q, ProseMirrorNode as Qn, handleMediaGet as Qr, invalidateSchemaObjectCache as Qt, getTaxonomyTerms as R, PluginStorageRepository as Ri, PortableTextCodeBlock as Rn, LocalStorageConfig as Rr, isContentSaveRejection as Rt, getWidgetAreas as S, handleContentRestore as Si, createNoop as Sn, SandboxOptions as Sr, getPreviewUrl as St, CreateWidgetInput as T, handleContentUnpublish as Ti, EntryFilter as Tn, SandboxRouteErrorEnvelope as Tr, VerifyPreviewTokenOptions as Tt, CreateTermInput as U, ContentRepository as Ui, PortableTextSpan as Un, SchemaRegistry as Ur, CachedQueryOptions as Ut, getTermsForEntries as V, MediaItem as Vi, PortableTextLinkMark as Vn, getCollectionInfo as Vr, definePlugin as Vt, TaxonomyDef as W, EmDashConfigurationError as Wi, PortableTextTableAlignment as Wn, handleMediaUsageActivationAdvance as Wr, cachedQuery as Wt, getEntriesByByline as X, ProseMirrorDocument as Xn, handleMediaCreate as Xr, invalidateMenuObjectCache as Xt, getBylineBySlug as Y, PortableTextUnknownBlock as Yn, MediaResponse as Yr, invalidateCommentObjectCache as Yt, getMenu as Z, ProseMirrorMark as Zn, handleMediaDelete as Zr, invalidateObjectCache as Zt, SearchTokenizer as _, handleContentGetIncludingTrashed as _i, resolveEmDashPath as _n, createHookPipeline as _r, setSiteSettings as _t, getSuggestions as a, handleRevisionList as ai, ContentEntry as an, UpdateSectionInput as ar, ReorderMenuItemsInput as at, getWidgetArea as b, handleContentPermanentDelete as bi, FieldAnnotation as bn, SandboxEmailMessage as br, GetPreviewUrlOptions as bt, searchWithDb as c, handleContentAuthors as ci, EntryResult as cn, PublishedRef as cr, GetCommentsOptions as ct, SEARCH_TOKENIZERS as d, handleContentCountTrashed as di, TranslationSummary as dn, PluginRouteError as dr, getComments as dt, handleMediaReplaceMetadata as ei, WaitUntilFn as en, getSections as er, CreateMenuInput as et, SearchConfig as f, handleContentCreate as fi, TranslationsResult as fn, RouteCallerInput as fr, getPluginSetting as ft, SearchStats as g, handleContentGet as gi, getTranslations as gn, HookResult as gr, getSiteSettingsWithCacheHint as gt, SearchResult as h, handleContentDuplicate as hi, getEmDashEntry as hn, HookPipeline as hr, getSiteSettings as ht, getSearchStats as i, handleRevisionGet as ii, CollectionResult as in, SectionSource as ir, MenuItemType as it, WidgetComponentDef as j, image as ji, sanitizeHref as jn, createSandboxRouteError as jr, NoopSandboxRunner as jt, Widget as k, reference as ki, getDb as kn, SandboxedPluginInstance as kr, verifyPreviewToken as kt, FTSManager as l, handleContentCompare as li, InferCollectionData as ln, CronScheduler as lr, GetCommentsResult as lt, SearchResponse as m, handleContentDiscardDraft as mi, getEmDashCollection as mn, EmailPipeline as mr, getSiteSetting as mt, extractPlainText as n, RevisionListResponse as ni, CacheHint as nn, GetSectionsOptions as nr, Menu as nt, search as o, handleRevisionRestore as oi, EditFieldMeta as on, EmDashRuntime as or, UpdateMenuInput as ot, SearchOptions as p, handleContentDelete as pi, getEditMeta as pn, RouteMeta as pr, getPluginSettings as pt, UpdateTermInput as q, EmDashDatabaseError as qi, PortableTextTableRow as qn, markContentMediaUsageCollectionStaleSafely as qr, invalidateBylineObjectCache as qt, extractSearchableFields as r, RevisionResponse as ri, CollectionFilter as rn, Section as rr, MenuItem as rt, searchCollection as s, generateManifest as si, EmDashCollections as sn, SandboxedPluginEntry as sr, UpdateMenuItemInput as st, ManifestRegistryConfigurationError as t, handleMediaUpdate as ti, after as tn, CreateSectionInput as tr, CreateMenuItemInput as tt, CollectionSearchOptions as u, handleContentCountScheduled as ui, ResolvePathResult as un, SystemCleanupFn as ur, getCommentCount as ut, SuggestOptions as v, handleContentList as vi, CMSAnnotation as vn, createHttpAccess as vr, getPreviewToken as vt, CreateWidgetAreaInput as w, handleContentTranslations as wi, EntryData as wn, SandboxRouteErrorDetails as wr, PreviewTokenPayload as wt, getWidgetAreaWithCacheHint as x, handleContentPublish as xi, createEditable as xn, SandboxEmailSendCallback as xr, buildPreviewUrl as xt, Suggestion as y, handleContentListTrashed as yi, EditProxy as yn, createUnrestrictedHttpAccess as yr, isPreviewRequest as yt, getTaxonomyTermsWithCacheHint as z, UserRepository as zi, PortableTextHtmlBlock as zn, S3StorageConfig as zr, ValidatedPluginManifest as zt };
6653
+ //# sourceMappingURL=config-CGAhyOjP.d.mts.map