emdash 0.12.0 → 0.13.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 (1003) hide show
  1. package/dist/{adapters-BktHA7EO.d.mts → adapters-9DybjTO6.d.mts} +1 -1
  2. package/dist/{adapters-BktHA7EO.d.mts.map → adapters-9DybjTO6.d.mts.map} +1 -1
  3. package/dist/allowed-origins-CDdG-4Gd.mjs +116 -0
  4. package/dist/allowed-origins-CDdG-4Gd.mjs.map +1 -0
  5. package/dist/api/route-utils.d.mts +68 -0
  6. package/dist/api/route-utils.d.mts.map +1 -0
  7. package/dist/api/route-utils.mjs +44 -0
  8. package/dist/api/route-utils.mjs.map +1 -0
  9. package/dist/api/schemas/index.d.mts +2 -0
  10. package/dist/api/schemas/index.mjs +4 -0
  11. package/dist/api-ayIQ7rIe.mjs +3941 -0
  12. package/dist/api-ayIQ7rIe.mjs.map +1 -0
  13. package/dist/api-tokens-D3C9v02m.mjs +3 -0
  14. package/dist/api-tokens-eYymBhIT.mjs +153 -0
  15. package/dist/api-tokens-eYymBhIT.mjs.map +1 -0
  16. package/dist/{apply-C1ZORgcy.mjs → apply-v4DBgjPw.mjs} +19 -346
  17. package/dist/apply-v4DBgjPw.mjs.map +1 -0
  18. package/dist/astro/index.d.mts +10 -6
  19. package/dist/astro/index.d.mts.map +1 -1
  20. package/dist/astro/index.mjs +42 -83
  21. package/dist/astro/index.mjs.map +1 -1
  22. package/dist/astro/middleware/auth.d.mts +9 -5
  23. package/dist/astro/middleware/auth.d.mts.map +1 -1
  24. package/dist/astro/middleware/auth.mjs +25 -65
  25. package/dist/astro/middleware/auth.mjs.map +1 -1
  26. package/dist/astro/middleware/redirect.mjs +5 -5
  27. package/dist/astro/middleware/request-context.mjs +4 -4
  28. package/dist/astro/middleware/setup.mjs +1 -1
  29. package/dist/astro/middleware.d.mts.map +1 -1
  30. package/dist/astro/middleware.mjs +140 -69
  31. package/dist/astro/middleware.mjs.map +1 -1
  32. package/dist/astro/routes/PluginRegistry.d.mts +15 -0
  33. package/dist/astro/routes/PluginRegistry.d.mts.map +1 -0
  34. package/dist/astro/routes/PluginRegistry.mjs +25 -0
  35. package/dist/astro/routes/PluginRegistry.mjs.map +1 -0
  36. package/dist/astro/routes/api/admin/allowed-domains/_domain_.d.mts +15 -0
  37. package/dist/astro/routes/api/admin/allowed-domains/_domain_.d.mts.map +1 -0
  38. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +67 -0
  39. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs.map +1 -0
  40. package/dist/astro/routes/api/admin/allowed-domains/index.d.mts +15 -0
  41. package/dist/astro/routes/api/admin/allowed-domains/index.d.mts.map +1 -0
  42. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +67 -0
  43. package/dist/astro/routes/api/admin/allowed-domains/index.mjs.map +1 -0
  44. package/dist/astro/routes/api/admin/api-tokens/_id_.d.mts +11 -0
  45. package/dist/astro/routes/api/admin/api-tokens/_id_.d.mts.map +1 -0
  46. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +33 -0
  47. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs.map +1 -0
  48. package/dist/astro/routes/api/admin/api-tokens/index.d.mts +17 -0
  49. package/dist/astro/routes/api/admin/api-tokens/index.d.mts.map +1 -0
  50. package/dist/astro/routes/api/admin/api-tokens/index.mjs +52 -0
  51. package/dist/astro/routes/api/admin/api-tokens/index.mjs.map +1 -0
  52. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts +10 -0
  53. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts.map +1 -0
  54. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +74 -0
  55. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -0
  56. package/dist/astro/routes/api/admin/bylines/index.d.mts +9 -0
  57. package/dist/astro/routes/api/admin/bylines/index.d.mts.map +1 -0
  58. package/dist/astro/routes/api/admin/bylines/index.mjs +61 -0
  59. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -0
  60. package/dist/astro/routes/api/admin/comments/_id_/status.d.mts +8 -0
  61. package/dist/astro/routes/api/admin/comments/_id_/status.d.mts.map +1 -0
  62. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +80 -0
  63. package/dist/astro/routes/api/admin/comments/_id_/status.mjs.map +1 -0
  64. package/dist/astro/routes/api/admin/comments/_id_.d.mts +15 -0
  65. package/dist/astro/routes/api/admin/comments/_id_.d.mts.map +1 -0
  66. package/dist/astro/routes/api/admin/comments/_id_.mjs +47 -0
  67. package/dist/astro/routes/api/admin/comments/_id_.mjs.map +1 -0
  68. package/dist/astro/routes/api/admin/comments/bulk.d.mts +8 -0
  69. package/dist/astro/routes/api/admin/comments/bulk.d.mts.map +1 -0
  70. package/dist/astro/routes/api/admin/comments/bulk.mjs +36 -0
  71. package/dist/astro/routes/api/admin/comments/bulk.mjs.map +1 -0
  72. package/dist/astro/routes/api/admin/comments/counts.d.mts +8 -0
  73. package/dist/astro/routes/api/admin/comments/counts.d.mts.map +1 -0
  74. package/dist/astro/routes/api/admin/comments/counts.mjs +25 -0
  75. package/dist/astro/routes/api/admin/comments/counts.mjs.map +1 -0
  76. package/dist/astro/routes/api/admin/comments/index.d.mts +11 -0
  77. package/dist/astro/routes/api/admin/comments/index.d.mts.map +1 -0
  78. package/dist/astro/routes/api/admin/comments/index.mjs +40 -0
  79. package/dist/astro/routes/api/admin/comments/index.mjs.map +1 -0
  80. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.d.mts +8 -0
  81. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.d.mts.map +1 -0
  82. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +48 -0
  83. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs.map +1 -0
  84. package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts +8 -0
  85. package/dist/astro/routes/api/admin/hooks/exclusive/index.d.mts.map +1 -0
  86. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +36 -0
  87. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs.map +1 -0
  88. package/dist/astro/routes/api/admin/oauth-clients/_id_.d.mts +19 -0
  89. package/dist/astro/routes/api/admin/oauth-clients/_id_.d.mts.map +1 -0
  90. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +69 -0
  91. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs.map +1 -0
  92. package/dist/astro/routes/api/admin/oauth-clients/index.d.mts +15 -0
  93. package/dist/astro/routes/api/admin/oauth-clients/index.d.mts.map +1 -0
  94. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +50 -0
  95. package/dist/astro/routes/api/admin/oauth-clients/index.mjs.map +1 -0
  96. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts +8 -0
  97. package/dist/astro/routes/api/admin/plugins/_id_/disable.d.mts.map +1 -0
  98. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +56 -0
  99. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -0
  100. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts +8 -0
  101. package/dist/astro/routes/api/admin/plugins/_id_/enable.d.mts.map +1 -0
  102. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +59 -0
  103. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -0
  104. package/dist/astro/routes/api/admin/plugins/_id_/index.d.mts +8 -0
  105. package/dist/astro/routes/api/admin/plugins/_id_/index.d.mts.map +1 -0
  106. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +51 -0
  107. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -0
  108. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts +8 -0
  109. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.d.mts.map +1 -0
  110. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +58 -0
  111. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -0
  112. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts +8 -0
  113. package/dist/astro/routes/api/admin/plugins/_id_/update.d.mts.map +1 -0
  114. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +66 -0
  115. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -0
  116. package/dist/astro/routes/api/admin/plugins/index.d.mts +8 -0
  117. package/dist/astro/routes/api/admin/plugins/index.d.mts.map +1 -0
  118. package/dist/astro/routes/api/admin/plugins/index.mjs +49 -0
  119. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -0
  120. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts +8 -0
  121. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.d.mts.map +1 -0
  122. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +39 -0
  123. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs.map +1 -0
  124. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.d.mts +8 -0
  125. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.d.mts.map +1 -0
  126. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +51 -0
  127. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -0
  128. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts +8 -0
  129. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.d.mts.map +1 -0
  130. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +69 -0
  131. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -0
  132. package/dist/astro/routes/api/admin/plugins/marketplace/index.d.mts +8 -0
  133. package/dist/astro/routes/api/admin/plugins/marketplace/index.d.mts.map +1 -0
  134. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +58 -0
  135. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -0
  136. package/dist/astro/routes/api/admin/plugins/registry/install.d.mts +8 -0
  137. package/dist/astro/routes/api/admin/plugins/registry/install.d.mts.map +1 -0
  138. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +72 -0
  139. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -0
  140. package/dist/astro/routes/api/admin/plugins/updates.d.mts +8 -0
  141. package/dist/astro/routes/api/admin/plugins/updates.d.mts.map +1 -0
  142. package/dist/astro/routes/api/admin/plugins/updates.mjs +49 -0
  143. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -0
  144. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.d.mts +8 -0
  145. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.d.mts.map +1 -0
  146. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +51 -0
  147. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -0
  148. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts +8 -0
  149. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.d.mts.map +1 -0
  150. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +39 -0
  151. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs.map +1 -0
  152. package/dist/astro/routes/api/admin/themes/marketplace/index.d.mts +8 -0
  153. package/dist/astro/routes/api/admin/themes/marketplace/index.d.mts.map +1 -0
  154. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +67 -0
  155. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -0
  156. package/dist/astro/routes/api/admin/users/_id_/disable.d.mts +8 -0
  157. package/dist/astro/routes/api/admin/users/_id_/disable.d.mts.map +1 -0
  158. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +43 -0
  159. package/dist/astro/routes/api/admin/users/_id_/disable.mjs.map +1 -0
  160. package/dist/astro/routes/api/admin/users/_id_/enable.d.mts +8 -0
  161. package/dist/astro/routes/api/admin/users/_id_/enable.d.mts.map +1 -0
  162. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +32 -0
  163. package/dist/astro/routes/api/admin/users/_id_/enable.mjs.map +1 -0
  164. package/dist/astro/routes/api/admin/users/_id_/index.d.mts +9 -0
  165. package/dist/astro/routes/api/admin/users/_id_/index.d.mts.map +1 -0
  166. package/dist/astro/routes/api/admin/users/_id_/index.mjs +106 -0
  167. package/dist/astro/routes/api/admin/users/_id_/index.mjs.map +1 -0
  168. package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts +8 -0
  169. package/dist/astro/routes/api/admin/users/_id_/send-recovery.d.mts.map +1 -0
  170. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +46 -0
  171. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs.map +1 -0
  172. package/dist/astro/routes/api/admin/users/index.d.mts +8 -0
  173. package/dist/astro/routes/api/admin/users/index.d.mts.map +1 -0
  174. package/dist/astro/routes/api/admin/users/index.mjs +56 -0
  175. package/dist/astro/routes/api/admin/users/index.mjs.map +1 -0
  176. package/dist/astro/routes/api/auth/dev-bypass.d.mts +9 -0
  177. package/dist/astro/routes/api/auth/dev-bypass.d.mts.map +1 -0
  178. package/dist/astro/routes/api/auth/dev-bypass.mjs +84 -0
  179. package/dist/astro/routes/api/auth/dev-bypass.mjs.map +1 -0
  180. package/dist/astro/routes/api/auth/invite/accept.d.mts +8 -0
  181. package/dist/astro/routes/api/auth/invite/accept.d.mts.map +1 -0
  182. package/dist/astro/routes/api/auth/invite/accept.mjs +34 -0
  183. package/dist/astro/routes/api/auth/invite/accept.mjs.map +1 -0
  184. package/dist/astro/routes/api/auth/invite/complete.d.mts +8 -0
  185. package/dist/astro/routes/api/auth/invite/complete.d.mts.map +1 -0
  186. package/dist/astro/routes/api/auth/invite/complete.mjs +56 -0
  187. package/dist/astro/routes/api/auth/invite/complete.mjs.map +1 -0
  188. package/dist/astro/routes/api/auth/invite/index.d.mts +8 -0
  189. package/dist/astro/routes/api/auth/invite/index.d.mts.map +1 -0
  190. package/dist/astro/routes/api/auth/invite/index.mjs +53 -0
  191. package/dist/astro/routes/api/auth/invite/index.mjs.map +1 -0
  192. package/dist/astro/routes/api/auth/invite/register-options.d.mts +8 -0
  193. package/dist/astro/routes/api/auth/invite/register-options.d.mts.map +1 -0
  194. package/dist/astro/routes/api/auth/invite/register-options.mjs +46 -0
  195. package/dist/astro/routes/api/auth/invite/register-options.mjs.map +1 -0
  196. package/dist/astro/routes/api/auth/logout.d.mts +8 -0
  197. package/dist/astro/routes/api/auth/logout.d.mts.map +1 -0
  198. package/dist/astro/routes/api/auth/logout.mjs +27 -0
  199. package/dist/astro/routes/api/auth/logout.mjs.map +1 -0
  200. package/dist/astro/routes/api/auth/magic-link/send.d.mts +8 -0
  201. package/dist/astro/routes/api/auth/magic-link/send.d.mts.map +1 -0
  202. package/dist/astro/routes/api/auth/magic-link/send.mjs +50 -0
  203. package/dist/astro/routes/api/auth/magic-link/send.mjs.map +1 -0
  204. package/dist/astro/routes/api/auth/magic-link/verify.d.mts +8 -0
  205. package/dist/astro/routes/api/auth/magic-link/verify.d.mts.map +1 -0
  206. package/dist/astro/routes/api/auth/magic-link/verify.mjs +35 -0
  207. package/dist/astro/routes/api/auth/magic-link/verify.mjs.map +1 -0
  208. package/dist/astro/routes/api/auth/me.d.mts +14 -0
  209. package/dist/astro/routes/api/auth/me.d.mts.map +1 -0
  210. package/dist/astro/routes/api/auth/me.mjs +43 -0
  211. package/dist/astro/routes/api/auth/me.mjs.map +1 -0
  212. package/dist/astro/routes/api/auth/mode.d.mts +8 -0
  213. package/dist/astro/routes/api/auth/mode.d.mts.map +1 -0
  214. package/dist/astro/routes/api/auth/mode.mjs +29 -0
  215. package/dist/astro/routes/api/auth/mode.mjs.map +1 -0
  216. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts +8 -0
  217. package/dist/astro/routes/api/auth/oauth/_provider_/callback.d.mts.map +1 -0
  218. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +130 -0
  219. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs.map +1 -0
  220. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts +8 -0
  221. package/dist/astro/routes/api/auth/oauth/_provider_.d.mts.map +1 -0
  222. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +60 -0
  223. package/dist/astro/routes/api/auth/oauth/_provider_.mjs.map +1 -0
  224. package/dist/astro/routes/api/auth/passkey/_id_.d.mts +15 -0
  225. package/dist/astro/routes/api/auth/passkey/_id_.d.mts.map +1 -0
  226. package/dist/astro/routes/api/auth/passkey/_id_.mjs +64 -0
  227. package/dist/astro/routes/api/auth/passkey/_id_.mjs.map +1 -0
  228. package/dist/astro/routes/api/auth/passkey/index.d.mts +8 -0
  229. package/dist/astro/routes/api/auth/passkey/index.d.mts.map +1 -0
  230. package/dist/astro/routes/api/auth/passkey/index.mjs +28 -0
  231. package/dist/astro/routes/api/auth/passkey/index.mjs.map +1 -0
  232. package/dist/astro/routes/api/auth/passkey/options.d.mts +8 -0
  233. package/dist/astro/routes/api/auth/passkey/options.d.mts.map +1 -0
  234. package/dist/astro/routes/api/auth/passkey/options.mjs +48 -0
  235. package/dist/astro/routes/api/auth/passkey/options.mjs.map +1 -0
  236. package/dist/astro/routes/api/auth/passkey/register/options.d.mts +8 -0
  237. package/dist/astro/routes/api/auth/passkey/register/options.d.mts.map +1 -0
  238. package/dist/astro/routes/api/auth/passkey/register/options.mjs +46 -0
  239. package/dist/astro/routes/api/auth/passkey/register/options.mjs.map +1 -0
  240. package/dist/astro/routes/api/auth/passkey/register/verify.d.mts +8 -0
  241. package/dist/astro/routes/api/auth/passkey/register/verify.d.mts.map +1 -0
  242. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +61 -0
  243. package/dist/astro/routes/api/auth/passkey/register/verify.mjs.map +1 -0
  244. package/dist/astro/routes/api/auth/passkey/verify.d.mts +8 -0
  245. package/dist/astro/routes/api/auth/passkey/verify.d.mts.map +1 -0
  246. package/dist/astro/routes/api/auth/passkey/verify.mjs +49 -0
  247. package/dist/astro/routes/api/auth/passkey/verify.mjs.map +1 -0
  248. package/dist/astro/routes/api/auth/signup/complete.d.mts +8 -0
  249. package/dist/astro/routes/api/auth/signup/complete.d.mts.map +1 -0
  250. package/dist/astro/routes/api/auth/signup/complete.mjs +57 -0
  251. package/dist/astro/routes/api/auth/signup/complete.mjs.map +1 -0
  252. package/dist/astro/routes/api/auth/signup/request.d.mts +8 -0
  253. package/dist/astro/routes/api/auth/signup/request.d.mts.map +1 -0
  254. package/dist/astro/routes/api/auth/signup/request.mjs +46 -0
  255. package/dist/astro/routes/api/auth/signup/request.mjs.map +1 -0
  256. package/dist/astro/routes/api/auth/signup/verify.d.mts +8 -0
  257. package/dist/astro/routes/api/auth/signup/verify.d.mts.map +1 -0
  258. package/dist/astro/routes/api/auth/signup/verify.mjs +35 -0
  259. package/dist/astro/routes/api/auth/signup/verify.mjs.map +1 -0
  260. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts +15 -0
  261. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts.map +1 -0
  262. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +193 -0
  263. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs.map +1 -0
  264. package/dist/astro/routes/api/content/_collection_/_id_/compare.d.mts +8 -0
  265. package/dist/astro/routes/api/content/_collection_/_id_/compare.d.mts.map +1 -0
  266. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +20 -0
  267. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs.map +1 -0
  268. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts +8 -0
  269. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.d.mts.map +1 -0
  270. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +28 -0
  271. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -0
  272. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.d.mts +8 -0
  273. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.d.mts.map +1 -0
  274. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +30 -0
  275. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs.map +1 -0
  276. package/dist/astro/routes/api/content/_collection_/_id_/permanent.d.mts +8 -0
  277. package/dist/astro/routes/api/content/_collection_/_id_/permanent.d.mts.map +1 -0
  278. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +23 -0
  279. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs.map +1 -0
  280. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts +8 -0
  281. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.d.mts.map +1 -0
  282. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +78 -0
  283. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs.map +1 -0
  284. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts +8 -0
  285. package/dist/astro/routes/api/content/_collection_/_id_/publish.d.mts.map +1 -0
  286. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +48 -0
  287. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -0
  288. package/dist/astro/routes/api/content/_collection_/_id_/restore.d.mts +8 -0
  289. package/dist/astro/routes/api/content/_collection_/_id_/restore.d.mts.map +1 -0
  290. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +28 -0
  291. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs.map +1 -0
  292. package/dist/astro/routes/api/content/_collection_/_id_/revisions.d.mts +8 -0
  293. package/dist/astro/routes/api/content/_collection_/_id_/revisions.d.mts.map +1 -0
  294. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +22 -0
  295. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs.map +1 -0
  296. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts +9 -0
  297. package/dist/astro/routes/api/content/_collection_/_id_/schedule.d.mts.map +1 -0
  298. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +58 -0
  299. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -0
  300. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts +15 -0
  301. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -0
  302. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +85 -0
  303. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -0
  304. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts +8 -0
  305. package/dist/astro/routes/api/content/_collection_/_id_/translations.d.mts.map +1 -0
  306. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +43 -0
  307. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -0
  308. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts +8 -0
  309. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.d.mts.map +1 -0
  310. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +28 -0
  311. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -0
  312. package/dist/astro/routes/api/content/_collection_/_id_.d.mts +10 -0
  313. package/dist/astro/routes/api/content/_collection_/_id_.d.mts.map +1 -0
  314. package/dist/astro/routes/api/content/_collection_/_id_.mjs +88 -0
  315. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -0
  316. package/dist/astro/routes/api/content/_collection_/index.d.mts +9 -0
  317. package/dist/astro/routes/api/content/_collection_/index.d.mts.map +1 -0
  318. package/dist/astro/routes/api/content/_collection_/index.mjs +61 -0
  319. package/dist/astro/routes/api/content/_collection_/index.mjs.map +1 -0
  320. package/dist/astro/routes/api/content/_collection_/trash.d.mts +8 -0
  321. package/dist/astro/routes/api/content/_collection_/trash.d.mts.map +1 -0
  322. package/dist/astro/routes/api/content/_collection_/trash.mjs +25 -0
  323. package/dist/astro/routes/api/content/_collection_/trash.mjs.map +1 -0
  324. package/dist/astro/routes/api/dashboard.d.mts +8 -0
  325. package/dist/astro/routes/api/dashboard.d.mts.map +1 -0
  326. package/dist/astro/routes/api/dashboard.mjs +26 -0
  327. package/dist/astro/routes/api/dashboard.mjs.map +1 -0
  328. package/dist/astro/routes/api/dev/emails.d.mts +9 -0
  329. package/dist/astro/routes/api/dev/emails.d.mts.map +1 -0
  330. package/dist/astro/routes/api/dev/emails.mjs +20 -0
  331. package/dist/astro/routes/api/dev/emails.mjs.map +1 -0
  332. package/dist/astro/routes/api/import/probe.d.mts +18 -0
  333. package/dist/astro/routes/api/import/probe.d.mts.map +1 -0
  334. package/dist/astro/routes/api/import/probe.mjs +35 -0
  335. package/dist/astro/routes/api/import/probe.mjs.map +1 -0
  336. package/dist/astro/routes/api/import/wordpress/analyze.d.mts +88 -0
  337. package/dist/astro/routes/api/import/wordpress/analyze.d.mts.map +1 -0
  338. package/dist/astro/routes/api/import/wordpress/analyze.mjs +313 -0
  339. package/dist/astro/routes/api/import/wordpress/analyze.mjs.map +1 -0
  340. package/dist/astro/routes/api/import/wordpress/execute.d.mts +93 -0
  341. package/dist/astro/routes/api/import/wordpress/execute.d.mts.map +1 -0
  342. package/dist/astro/routes/api/import/wordpress/execute.mjs +593 -0
  343. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -0
  344. package/dist/astro/routes/api/import/wordpress/media.d.mts +36 -0
  345. package/dist/astro/routes/api/import/wordpress/media.d.mts.map +1 -0
  346. package/dist/astro/routes/api/import/wordpress/media.mjs +225 -0
  347. package/dist/astro/routes/api/import/wordpress/media.mjs.map +1 -0
  348. package/dist/astro/routes/api/import/wordpress/prepare.d.mts +20 -0
  349. package/dist/astro/routes/api/import/wordpress/prepare.d.mts.map +1 -0
  350. package/dist/astro/routes/api/import/wordpress/prepare.mjs +120 -0
  351. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -0
  352. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +49 -0
  353. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -0
  354. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +131 -0
  355. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -0
  356. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +22 -0
  357. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts.map +1 -0
  358. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +139 -0
  359. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -0
  360. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +16 -0
  361. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts.map +1 -0
  362. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +71 -0
  363. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs.map +1 -0
  364. package/dist/astro/routes/api/import/wordpress-plugin/callback.d.mts +8 -0
  365. package/dist/astro/routes/api/import/wordpress-plugin/callback.d.mts.map +1 -0
  366. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs +29 -0
  367. package/dist/astro/routes/api/import/wordpress-plugin/callback.mjs.map +1 -0
  368. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +20 -0
  369. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts.map +1 -0
  370. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +219 -0
  371. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -0
  372. package/dist/astro/routes/api/manifest.d.mts +8 -0
  373. package/dist/astro/routes/api/manifest.d.mts.map +1 -0
  374. package/dist/astro/routes/api/manifest.mjs +47 -0
  375. package/dist/astro/routes/api/manifest.mjs.map +1 -0
  376. package/dist/astro/routes/api/mcp.d.mts +16 -0
  377. package/dist/astro/routes/api/mcp.d.mts.map +1 -0
  378. package/dist/astro/routes/api/mcp.mjs +1414 -0
  379. package/dist/astro/routes/api/mcp.mjs.map +1 -0
  380. package/dist/astro/routes/api/media/_id_/confirm.d.mts +11 -0
  381. package/dist/astro/routes/api/media/_id_/confirm.d.mts.map +1 -0
  382. package/dist/astro/routes/api/media/_id_/confirm.mjs +61 -0
  383. package/dist/astro/routes/api/media/_id_/confirm.mjs.map +1 -0
  384. package/dist/astro/routes/api/media/_id_.d.mts +23 -0
  385. package/dist/astro/routes/api/media/_id_.d.mts.map +1 -0
  386. package/dist/astro/routes/api/media/_id_.mjs +83 -0
  387. package/dist/astro/routes/api/media/_id_.mjs.map +1 -0
  388. package/dist/astro/routes/api/media/file/_...key_.d.mts +8 -0
  389. package/dist/astro/routes/api/media/file/_...key_.d.mts.map +1 -0
  390. package/dist/astro/routes/api/media/file/_...key_.mjs +52 -0
  391. package/dist/astro/routes/api/media/file/_...key_.mjs.map +1 -0
  392. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.d.mts +15 -0
  393. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.d.mts.map +1 -0
  394. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +52 -0
  395. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs.map +1 -0
  396. package/dist/astro/routes/api/media/providers/_providerId_/index.d.mts +15 -0
  397. package/dist/astro/routes/api/media/providers/_providerId_/index.d.mts.map +1 -0
  398. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +75 -0
  399. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs.map +1 -0
  400. package/dist/astro/routes/api/media/providers/index.d.mts +11 -0
  401. package/dist/astro/routes/api/media/providers/index.d.mts.map +1 -0
  402. package/dist/astro/routes/api/media/providers/index.mjs +21 -0
  403. package/dist/astro/routes/api/media/providers/index.mjs.map +1 -0
  404. package/dist/astro/routes/api/media/upload-url.d.mts +11 -0
  405. package/dist/astro/routes/api/media/upload-url.d.mts.map +1 -0
  406. package/dist/astro/routes/api/media/upload-url.mjs +82 -0
  407. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -0
  408. package/dist/astro/routes/api/media.d.mts +17 -0
  409. package/dist/astro/routes/api/media.d.mts.map +1 -0
  410. package/dist/astro/routes/api/media.mjs +138 -0
  411. package/dist/astro/routes/api/media.mjs.map +1 -0
  412. package/dist/astro/routes/api/menus/_name_/items/_id_.d.mts +9 -0
  413. package/dist/astro/routes/api/menus/_name_/items/_id_.d.mts.map +1 -0
  414. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +48 -0
  415. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs.map +1 -0
  416. package/dist/astro/routes/api/menus/_name_/items.d.mts +8 -0
  417. package/dist/astro/routes/api/menus/_name_/items.d.mts.map +1 -0
  418. package/dist/astro/routes/api/menus/_name_/items.mjs +31 -0
  419. package/dist/astro/routes/api/menus/_name_/items.mjs.map +1 -0
  420. package/dist/astro/routes/api/menus/_name_/reorder.d.mts +8 -0
  421. package/dist/astro/routes/api/menus/_name_/reorder.d.mts.map +1 -0
  422. package/dist/astro/routes/api/menus/_name_/reorder.mjs +31 -0
  423. package/dist/astro/routes/api/menus/_name_/reorder.mjs.map +1 -0
  424. package/dist/astro/routes/api/menus/_name_/translations.d.mts +9 -0
  425. package/dist/astro/routes/api/menus/_name_/translations.d.mts.map +1 -0
  426. package/dist/astro/routes/api/menus/_name_/translations.mjs +62 -0
  427. package/dist/astro/routes/api/menus/_name_/translations.mjs.map +1 -0
  428. package/dist/astro/routes/api/menus/_name_.d.mts +10 -0
  429. package/dist/astro/routes/api/menus/_name_.d.mts.map +1 -0
  430. package/dist/astro/routes/api/menus/_name_.mjs +60 -0
  431. package/dist/astro/routes/api/menus/_name_.mjs.map +1 -0
  432. package/dist/astro/routes/api/menus/index.d.mts +9 -0
  433. package/dist/astro/routes/api/menus/index.d.mts.map +1 -0
  434. package/dist/astro/routes/api/menus/index.mjs +40 -0
  435. package/dist/astro/routes/api/menus/index.mjs.map +1 -0
  436. package/dist/astro/routes/api/oauth/authorize.d.mts +9 -0
  437. package/dist/astro/routes/api/oauth/authorize.d.mts.map +1 -0
  438. package/dist/astro/routes/api/oauth/authorize.mjs +260 -0
  439. package/dist/astro/routes/api/oauth/authorize.mjs.map +1 -0
  440. package/dist/astro/routes/api/oauth/device/authorize.d.mts +8 -0
  441. package/dist/astro/routes/api/oauth/device/authorize.d.mts.map +1 -0
  442. package/dist/astro/routes/api/oauth/device/authorize.mjs +32 -0
  443. package/dist/astro/routes/api/oauth/device/authorize.mjs.map +1 -0
  444. package/dist/astro/routes/api/oauth/device/code.d.mts +8 -0
  445. package/dist/astro/routes/api/oauth/device/code.d.mts.map +1 -0
  446. package/dist/astro/routes/api/oauth/device/code.mjs +36 -0
  447. package/dist/astro/routes/api/oauth/device/code.mjs.map +1 -0
  448. package/dist/astro/routes/api/oauth/device/token.d.mts +8 -0
  449. package/dist/astro/routes/api/oauth/device/token.d.mts.map +1 -0
  450. package/dist/astro/routes/api/oauth/device/token.mjs +47 -0
  451. package/dist/astro/routes/api/oauth/device/token.mjs.map +1 -0
  452. package/dist/astro/routes/api/oauth/register.d.mts +9 -0
  453. package/dist/astro/routes/api/oauth/register.d.mts.map +1 -0
  454. package/dist/astro/routes/api/oauth/register.mjs +113 -0
  455. package/dist/astro/routes/api/oauth/register.mjs.map +1 -0
  456. package/dist/astro/routes/api/oauth/token/refresh.d.mts +8 -0
  457. package/dist/astro/routes/api/oauth/token/refresh.d.mts.map +1 -0
  458. package/dist/astro/routes/api/oauth/token/refresh.mjs +30 -0
  459. package/dist/astro/routes/api/oauth/token/refresh.mjs.map +1 -0
  460. package/dist/astro/routes/api/oauth/token/revoke.d.mts +8 -0
  461. package/dist/astro/routes/api/oauth/token/revoke.d.mts.map +1 -0
  462. package/dist/astro/routes/api/oauth/token/revoke.mjs +27 -0
  463. package/dist/astro/routes/api/oauth/token/revoke.mjs.map +1 -0
  464. package/dist/astro/routes/api/oauth/token.d.mts +9 -0
  465. package/dist/astro/routes/api/oauth/token.d.mts.map +1 -0
  466. package/dist/astro/routes/api/oauth/token.mjs +141 -0
  467. package/dist/astro/routes/api/oauth/token.mjs.map +1 -0
  468. package/dist/astro/routes/api/openapi.json.d.mts +8 -0
  469. package/dist/astro/routes/api/openapi.json.d.mts.map +1 -0
  470. package/dist/astro/routes/api/openapi.json.mjs +2642 -0
  471. package/dist/astro/routes/api/openapi.json.mjs.map +1 -0
  472. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts +12 -0
  473. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.d.mts.map +1 -0
  474. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +78 -0
  475. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs.map +1 -0
  476. package/dist/astro/routes/api/redirects/404s/index.d.mts +10 -0
  477. package/dist/astro/routes/api/redirects/404s/index.d.mts.map +1 -0
  478. package/dist/astro/routes/api/redirects/404s/index.mjs +62 -0
  479. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -0
  480. package/dist/astro/routes/api/redirects/404s/summary.d.mts +8 -0
  481. package/dist/astro/routes/api/redirects/404s/summary.d.mts.map +1 -0
  482. package/dist/astro/routes/api/redirects/404s/summary.mjs +34 -0
  483. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -0
  484. package/dist/astro/routes/api/redirects/_id_.d.mts +10 -0
  485. package/dist/astro/routes/api/redirects/_id_.d.mts.map +1 -0
  486. package/dist/astro/routes/api/redirects/_id_.mjs +71 -0
  487. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -0
  488. package/dist/astro/routes/api/redirects/index.d.mts +9 -0
  489. package/dist/astro/routes/api/redirects/index.d.mts.map +1 -0
  490. package/dist/astro/routes/api/redirects/index.mjs +52 -0
  491. package/dist/astro/routes/api/redirects/index.mjs.map +1 -0
  492. package/dist/astro/routes/api/revisions/_revisionId_/index.d.mts +8 -0
  493. package/dist/astro/routes/api/revisions/_revisionId_/index.d.mts.map +1 -0
  494. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +19 -0
  495. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs.map +1 -0
  496. package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts +8 -0
  497. package/dist/astro/routes/api/revisions/_revisionId_/restore.d.mts.map +1 -0
  498. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +26 -0
  499. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs.map +1 -0
  500. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.d.mts +10 -0
  501. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.d.mts.map +1 -0
  502. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +75 -0
  503. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -0
  504. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.d.mts +9 -0
  505. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.d.mts.map +1 -0
  506. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +63 -0
  507. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -0
  508. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.d.mts +8 -0
  509. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.d.mts.map +1 -0
  510. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +54 -0
  511. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -0
  512. package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts +10 -0
  513. package/dist/astro/routes/api/schema/collections/_slug_/index.d.mts.map +1 -0
  514. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +79 -0
  515. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -0
  516. package/dist/astro/routes/api/schema/collections/index.d.mts +9 -0
  517. package/dist/astro/routes/api/schema/collections/index.d.mts.map +1 -0
  518. package/dist/astro/routes/api/schema/collections/index.mjs +63 -0
  519. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -0
  520. package/dist/astro/routes/api/schema/index.d.mts +8 -0
  521. package/dist/astro/routes/api/schema/index.d.mts.map +1 -0
  522. package/dist/astro/routes/api/schema/index.mjs +82 -0
  523. package/dist/astro/routes/api/schema/index.mjs.map +1 -0
  524. package/dist/astro/routes/api/schema/orphans/_slug_.d.mts +8 -0
  525. package/dist/astro/routes/api/schema/orphans/_slug_.d.mts.map +1 -0
  526. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +55 -0
  527. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -0
  528. package/dist/astro/routes/api/schema/orphans/index.d.mts +8 -0
  529. package/dist/astro/routes/api/schema/orphans/index.d.mts.map +1 -0
  530. package/dist/astro/routes/api/schema/orphans/index.mjs +50 -0
  531. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -0
  532. package/dist/astro/routes/api/search/enable.d.mts +16 -0
  533. package/dist/astro/routes/api/search/enable.d.mts.map +1 -0
  534. package/dist/astro/routes/api/search/enable.mjs +55 -0
  535. package/dist/astro/routes/api/search/enable.mjs.map +1 -0
  536. package/dist/astro/routes/api/search/index.d.mts +17 -0
  537. package/dist/astro/routes/api/search/index.d.mts.map +1 -0
  538. package/dist/astro/routes/api/search/index.mjs +52 -0
  539. package/dist/astro/routes/api/search/index.mjs.map +1 -0
  540. package/dist/astro/routes/api/search/rebuild.d.mts +14 -0
  541. package/dist/astro/routes/api/search/rebuild.d.mts.map +1 -0
  542. package/dist/astro/routes/api/search/rebuild.mjs +48 -0
  543. package/dist/astro/routes/api/search/rebuild.mjs.map +1 -0
  544. package/dist/astro/routes/api/search/stats.d.mts +11 -0
  545. package/dist/astro/routes/api/search/stats.d.mts.map +1 -0
  546. package/dist/astro/routes/api/search/stats.mjs +29 -0
  547. package/dist/astro/routes/api/search/stats.mjs.map +1 -0
  548. package/dist/astro/routes/api/search/suggest.d.mts +16 -0
  549. package/dist/astro/routes/api/search/suggest.d.mts.map +1 -0
  550. package/dist/astro/routes/api/search/suggest.mjs +43 -0
  551. package/dist/astro/routes/api/search/suggest.mjs.map +1 -0
  552. package/dist/astro/routes/api/sections/_slug_.d.mts +10 -0
  553. package/dist/astro/routes/api/sections/_slug_.d.mts.map +1 -0
  554. package/dist/astro/routes/api/sections/_slug_.mjs +65 -0
  555. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -0
  556. package/dist/astro/routes/api/sections/index.d.mts +9 -0
  557. package/dist/astro/routes/api/sections/index.d.mts.map +1 -0
  558. package/dist/astro/routes/api/sections/index.mjs +48 -0
  559. package/dist/astro/routes/api/sections/index.mjs.map +1 -0
  560. package/dist/astro/routes/api/settings/email.d.mts +18 -0
  561. package/dist/astro/routes/api/settings/email.d.mts.map +1 -0
  562. package/dist/astro/routes/api/settings/email.mjs +105 -0
  563. package/dist/astro/routes/api/settings/email.mjs.map +1 -0
  564. package/dist/astro/routes/api/settings.d.mts +21 -0
  565. package/dist/astro/routes/api/settings.d.mts.map +1 -0
  566. package/dist/astro/routes/api/settings.mjs +58 -0
  567. package/dist/astro/routes/api/settings.mjs.map +1 -0
  568. package/dist/astro/routes/api/setup/admin-verify.d.mts +8 -0
  569. package/dist/astro/routes/api/setup/admin-verify.d.mts.map +1 -0
  570. package/dist/astro/routes/api/setup/admin-verify.mjs +68 -0
  571. package/dist/astro/routes/api/setup/admin-verify.mjs.map +1 -0
  572. package/dist/astro/routes/api/setup/admin.d.mts +8 -0
  573. package/dist/astro/routes/api/setup/admin.d.mts.map +1 -0
  574. package/dist/astro/routes/api/setup/admin.mjs +69 -0
  575. package/dist/astro/routes/api/setup/admin.mjs.map +1 -0
  576. package/dist/astro/routes/api/setup/dev-bypass.d.mts +9 -0
  577. package/dist/astro/routes/api/setup/dev-bypass.d.mts.map +1 -0
  578. package/dist/astro/routes/api/setup/dev-bypass.mjs +139 -0
  579. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -0
  580. package/dist/astro/routes/api/setup/dev-reset.d.mts +8 -0
  581. package/dist/astro/routes/api/setup/dev-reset.d.mts.map +1 -0
  582. package/dist/astro/routes/api/setup/dev-reset.mjs +25 -0
  583. package/dist/astro/routes/api/setup/dev-reset.mjs.map +1 -0
  584. package/dist/astro/routes/api/setup/index.d.mts +8 -0
  585. package/dist/astro/routes/api/setup/index.d.mts.map +1 -0
  586. package/dist/astro/routes/api/setup/index.mjs +93 -0
  587. package/dist/astro/routes/api/setup/index.mjs.map +1 -0
  588. package/dist/astro/routes/api/setup/status.d.mts +8 -0
  589. package/dist/astro/routes/api/setup/status.d.mts.map +1 -0
  590. package/dist/astro/routes/api/setup/status.mjs +60 -0
  591. package/dist/astro/routes/api/setup/status.mjs.map +1 -0
  592. package/dist/astro/routes/api/snapshot.d.mts +8 -0
  593. package/dist/astro/routes/api/snapshot.d.mts.map +1 -0
  594. package/dist/astro/routes/api/snapshot.mjs +270 -0
  595. package/dist/astro/routes/api/snapshot.mjs.map +1 -0
  596. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.d.mts +9 -0
  597. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.d.mts.map +1 -0
  598. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +72 -0
  599. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -0
  600. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts +19 -0
  601. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.d.mts.map +1 -0
  602. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +80 -0
  603. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -0
  604. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts +15 -0
  605. package/dist/astro/routes/api/taxonomies/_name_/terms/index.d.mts.map +1 -0
  606. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +59 -0
  607. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -0
  608. package/dist/astro/routes/api/taxonomies/index.d.mts +15 -0
  609. package/dist/astro/routes/api/taxonomies/index.d.mts.map +1 -0
  610. package/dist/astro/routes/api/taxonomies/index.mjs +55 -0
  611. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -0
  612. package/dist/astro/routes/api/themes/preview.d.mts +8 -0
  613. package/dist/astro/routes/api/themes/preview.d.mts.map +1 -0
  614. package/dist/astro/routes/api/themes/preview.mjs +49 -0
  615. package/dist/astro/routes/api/themes/preview.mjs.map +1 -0
  616. package/dist/astro/routes/api/typegen.d.mts +18 -0
  617. package/dist/astro/routes/api/typegen.d.mts.map +1 -0
  618. package/dist/astro/routes/api/typegen.mjs +78 -0
  619. package/dist/astro/routes/api/typegen.mjs.map +1 -0
  620. package/dist/astro/routes/api/well-known/auth.d.mts +8 -0
  621. package/dist/astro/routes/api/well-known/auth.d.mts.map +1 -0
  622. package/dist/astro/routes/api/well-known/auth.mjs +42 -0
  623. package/dist/astro/routes/api/well-known/auth.mjs.map +1 -0
  624. package/dist/astro/routes/api/well-known/oauth-authorization-server.d.mts +8 -0
  625. package/dist/astro/routes/api/well-known/oauth-authorization-server.d.mts.map +1 -0
  626. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +32 -0
  627. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs.map +1 -0
  628. package/dist/astro/routes/api/well-known/oauth-protected-resource.d.mts +8 -0
  629. package/dist/astro/routes/api/well-known/oauth-protected-resource.d.mts.map +1 -0
  630. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +21 -0
  631. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs.map +1 -0
  632. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts +8 -0
  633. package/dist/astro/routes/api/widget-areas/_name_/reorder.d.mts.map +1 -0
  634. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +36 -0
  635. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs.map +1 -0
  636. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts +9 -0
  637. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.d.mts.map +1 -0
  638. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +62 -0
  639. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs.map +1 -0
  640. package/dist/astro/routes/api/widget-areas/_name_/widgets.d.mts +8 -0
  641. package/dist/astro/routes/api/widget-areas/_name_/widgets.d.mts.map +1 -0
  642. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +49 -0
  643. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs.map +1 -0
  644. package/dist/astro/routes/api/widget-areas/_name_.d.mts +9 -0
  645. package/dist/astro/routes/api/widget-areas/_name_.d.mts.map +1 -0
  646. package/dist/astro/routes/api/widget-areas/_name_.mjs +49 -0
  647. package/dist/astro/routes/api/widget-areas/_name_.mjs.map +1 -0
  648. package/dist/astro/routes/api/widget-areas/index.d.mts +9 -0
  649. package/dist/astro/routes/api/widget-areas/index.d.mts.map +1 -0
  650. package/dist/astro/routes/api/widget-areas/index.mjs +59 -0
  651. package/dist/astro/routes/api/widget-areas/index.mjs.map +1 -0
  652. package/dist/astro/routes/api/widget-components.d.mts +8 -0
  653. package/dist/astro/routes/api/widget-components.d.mts.map +1 -0
  654. package/dist/astro/routes/api/widget-components.mjs +18 -0
  655. package/dist/astro/routes/api/widget-components.mjs.map +1 -0
  656. package/dist/astro/routes/robots.txt.d.mts +8 -0
  657. package/dist/astro/routes/robots.txt.d.mts.map +1 -0
  658. package/dist/astro/routes/robots.txt.mjs +61 -0
  659. package/dist/astro/routes/robots.txt.mjs.map +1 -0
  660. package/dist/astro/routes/sitemap-_collection_.xml.d.mts +8 -0
  661. package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -0
  662. package/dist/astro/routes/sitemap-_collection_.xml.mjs +71 -0
  663. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -0
  664. package/dist/astro/routes/sitemap.xml.d.mts +8 -0
  665. package/dist/astro/routes/sitemap.xml.d.mts.map +1 -0
  666. package/dist/astro/routes/sitemap.xml.mjs +64 -0
  667. package/dist/astro/routes/sitemap.xml.mjs.map +1 -0
  668. package/dist/astro/types.d.mts +48 -8
  669. package/dist/astro/types.d.mts.map +1 -1
  670. package/dist/auth/providers/github.d.mts +13 -0
  671. package/dist/auth/providers/github.d.mts.map +1 -0
  672. package/dist/auth/providers/github.mjs +18 -0
  673. package/dist/auth/providers/github.mjs.map +1 -0
  674. package/dist/auth/providers/google.d.mts +13 -0
  675. package/dist/auth/providers/google.d.mts.map +1 -0
  676. package/dist/auth/providers/google.mjs +18 -0
  677. package/dist/auth/providers/google.mjs.map +1 -0
  678. package/dist/authorize-BlyCH-96.mjs +37 -0
  679. package/dist/authorize-BlyCH-96.mjs.map +1 -0
  680. package/dist/{base64-MBPo9ozB.mjs → base64-CqR-7kqF.mjs} +1 -1
  681. package/dist/{base64-MBPo9ozB.mjs.map → base64-CqR-7kqF.mjs.map} +1 -1
  682. package/dist/{byline-gFn1r0vA.mjs → byline-D09BaS4j.mjs} +4 -4
  683. package/dist/{byline-gFn1r0vA.mjs.map → byline-D09BaS4j.mjs.map} +1 -1
  684. package/dist/{bylines-DTFI8nDM.mjs → bylines-BTM2xtP8.mjs} +6 -6
  685. package/dist/{bylines-DTFI8nDM.mjs.map → bylines-BTM2xtP8.mjs.map} +1 -1
  686. package/dist/bylines-C6eYUWlZ.d.mts +1971 -0
  687. package/dist/bylines-C6eYUWlZ.d.mts.map +1 -0
  688. package/dist/{cache-BAJbeoZ8.mjs → cache-CXCpjWiL.mjs} +3 -3
  689. package/dist/{cache-BAJbeoZ8.mjs.map → cache-CXCpjWiL.mjs.map} +1 -1
  690. package/dist/challenge-store-CJ0OOHOr.mjs +49 -0
  691. package/dist/challenge-store-CJ0OOHOr.mjs.map +1 -0
  692. package/dist/{chunks-BK1oZS-l.mjs → chunks-DyGtu1Bv.mjs} +2 -2
  693. package/dist/{chunks-BK1oZS-l.mjs.map → chunks-DyGtu1Bv.mjs.map} +1 -1
  694. package/dist/cli/index.mjs +23 -18
  695. package/dist/cli/index.mjs.map +1 -1
  696. package/dist/client/cf-access.d.mts +1 -1
  697. package/dist/client/index.d.mts +1 -1
  698. package/dist/client/index.d.mts.map +1 -1
  699. package/dist/client/index.mjs +2 -2
  700. package/dist/client/index.mjs.map +1 -1
  701. package/dist/comment-Dd9MI82-.mjs +247 -0
  702. package/dist/comment-Dd9MI82-.mjs.map +1 -0
  703. package/dist/comments-koGI0FrK.mjs +204 -0
  704. package/dist/comments-koGI0FrK.mjs.map +1 -0
  705. package/dist/components-mZem7pbe.mjs +108 -0
  706. package/dist/components-mZem7pbe.mjs.map +1 -0
  707. package/dist/{content-CERxPUN0.mjs → content-D6YG26WG.mjs} +10 -34
  708. package/dist/content-D6YG26WG.mjs.map +1 -0
  709. package/dist/context-qF8d3IPR.mjs +879 -0
  710. package/dist/context-qF8d3IPR.mjs.map +1 -0
  711. package/dist/cron-H8eJ46dv.mjs +264 -0
  712. package/dist/cron-H8eJ46dv.mjs.map +1 -0
  713. package/dist/dashboard-BmWSIUwY.mjs +105 -0
  714. package/dist/dashboard-BmWSIUwY.mjs.map +1 -0
  715. package/dist/db/index.d.mts +3 -3
  716. package/dist/db/index.mjs +1 -1
  717. package/dist/db/libsql.d.mts +1 -1
  718. package/dist/db/postgres.d.mts +1 -1
  719. package/dist/db/sqlite.d.mts +1 -1
  720. package/dist/{db-errors-B7P2pSCn.mjs → db-errors-CGN9kJfo.mjs} +1 -1
  721. package/dist/{db-errors-B7P2pSCn.mjs.map → db-errors-CGN9kJfo.mjs.map} +1 -1
  722. package/dist/{default-pHuz9WF6.mjs → default-Dbs22Gg4.mjs} +1 -1
  723. package/dist/{default-pHuz9WF6.mjs.map → default-Dbs22Gg4.mjs.map} +1 -1
  724. package/dist/device-flow-BqJRxa0Q.mjs +467 -0
  725. package/dist/device-flow-BqJRxa0Q.mjs.map +1 -0
  726. package/dist/email-console-Dmp5Q-P2.mjs +50 -0
  727. package/dist/email-console-Dmp5Q-P2.mjs.map +1 -0
  728. package/dist/error-tSQWIl5U.mjs +437 -0
  729. package/dist/error-tSQWIl5U.mjs.map +1 -0
  730. package/dist/escape-B8bdIryO.mjs +9 -0
  731. package/dist/escape-B8bdIryO.mjs.map +1 -0
  732. package/dist/fts-manager-B633C-kQ.mjs +339 -0
  733. package/dist/fts-manager-B633C-kQ.mjs.map +1 -0
  734. package/dist/hash-DlUxGhQS.mjs +33 -0
  735. package/dist/hash-DlUxGhQS.mjs.map +1 -0
  736. package/dist/import-CNfLOgDE.mjs +1531 -0
  737. package/dist/import-CNfLOgDE.mjs.map +1 -0
  738. package/dist/index-D2gvztOP.d.mts +262 -0
  739. package/dist/index-D2gvztOP.d.mts.map +1 -0
  740. package/dist/{index-Dlkzhb4C.d.mts → index-UmOMt9T-.d.mts} +310 -911
  741. package/dist/index-UmOMt9T-.d.mts.map +1 -0
  742. package/dist/index.d.mts +17 -11
  743. package/dist/index.mjs +57 -28
  744. package/dist/{load-DR1VwFXR.mjs → load-QzYRpVN3.mjs} +2 -2
  745. package/dist/{load-DR1VwFXR.mjs.map → load-QzYRpVN3.mjs.map} +1 -1
  746. package/dist/{loader-ou_PXAjg.mjs → loader-Cs6-Bqe6.mjs} +4 -4
  747. package/dist/{loader-ou_PXAjg.mjs.map → loader-Cs6-Bqe6.mjs.map} +1 -1
  748. package/dist/{manifest-schema-Bp6d4d4n.mjs → manifest-schema-HCtSh4Jq.mjs} +1 -1
  749. package/dist/{manifest-schema-Bp6d4d4n.mjs.map → manifest-schema-HCtSh4Jq.mjs.map} +1 -1
  750. package/dist/media/index.d.mts +1 -1
  751. package/dist/media/index.mjs +2 -1
  752. package/dist/media/index.mjs.map +1 -1
  753. package/dist/media/local-runtime.d.mts +11 -7
  754. package/dist/media/local-runtime.d.mts.map +1 -1
  755. package/dist/media/local-runtime.mjs +7 -6
  756. package/dist/media/local-runtime.mjs.map +1 -1
  757. package/dist/media-Dg7he9uK.mjs +209 -0
  758. package/dist/media-Dg7he9uK.mjs.map +1 -0
  759. package/dist/media-allowlist-B8EX01DH.mjs +32 -0
  760. package/dist/media-allowlist-B8EX01DH.mjs.map +1 -0
  761. package/dist/menus-DOzIecHi.mjs +723 -0
  762. package/dist/menus-DOzIecHi.mjs.map +1 -0
  763. package/dist/menus-X4Z-eBA1.mjs +2788 -0
  764. package/dist/menus-X4Z-eBA1.mjs.map +1 -0
  765. package/dist/mime-KV5TqkMN.mjs +36 -0
  766. package/dist/mime-KV5TqkMN.mjs.map +1 -0
  767. package/dist/{mode-YhqNVef_.mjs → mode-DPRPvJYm.mjs} +1 -1
  768. package/dist/{mode-YhqNVef_.mjs.map → mode-DPRPvJYm.mjs.map} +1 -1
  769. package/dist/normalize-CN5kRSMC.mjs +151 -0
  770. package/dist/normalize-CN5kRSMC.mjs.map +1 -0
  771. package/dist/oauth-authorization-62GmpGIH.mjs +275 -0
  772. package/dist/oauth-authorization-62GmpGIH.mjs.map +1 -0
  773. package/dist/oauth-clients-D_B0_-Bz.mjs +266 -0
  774. package/dist/oauth-clients-D_B0_-Bz.mjs.map +1 -0
  775. package/dist/oauth-state-store-DpsZViTu.mjs +49 -0
  776. package/dist/oauth-state-store-DpsZViTu.mjs.map +1 -0
  777. package/dist/oauth-user-lookup-meyS2oB1.mjs +26 -0
  778. package/dist/oauth-user-lookup-meyS2oB1.mjs.map +1 -0
  779. package/dist/{options-nPxWnrya.mjs → options-BL4X94qY.mjs} +1 -1
  780. package/dist/{options-nPxWnrya.mjs.map → options-BL4X94qY.mjs.map} +1 -1
  781. package/dist/options-Cq64Wx0O.d.mts +207 -0
  782. package/dist/options-Cq64Wx0O.d.mts.map +1 -0
  783. package/dist/page/index.d.mts +2 -2
  784. package/dist/parse-BFTPon-J.mjs +89 -0
  785. package/dist/parse-BFTPon-J.mjs.map +1 -0
  786. package/dist/passkey-config-Cg86_ISa.mjs +46 -0
  787. package/dist/passkey-config-Cg86_ISa.mjs.map +1 -0
  788. package/dist/{patterns-DsUZ4uxI.mjs → patterns-CqG5Ya3i.mjs} +54 -2
  789. package/dist/{patterns-DsUZ4uxI.mjs.map → patterns-CqG5Ya3i.mjs.map} +1 -1
  790. package/dist/{placeholder-CDPtkelt.d.mts → placeholder-D3cFCU9y.d.mts} +2 -1
  791. package/dist/{placeholder-CDPtkelt.d.mts.map → placeholder-D3cFCU9y.d.mts.map} +1 -1
  792. package/dist/placeholder-LqmHqvBw.mjs +143 -0
  793. package/dist/placeholder-LqmHqvBw.mjs.map +1 -0
  794. package/dist/plugin-types.d.mts +122 -0
  795. package/dist/plugin-types.d.mts.map +1 -0
  796. package/dist/plugin-types.mjs +1 -0
  797. package/dist/plugins/adapt-sandbox-entry.d.mts +20 -12
  798. package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
  799. package/dist/plugins/adapt-sandbox-entry.mjs +46 -23
  800. package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
  801. package/dist/preview-C1LOEbWZ.mjs +107 -0
  802. package/dist/preview-C1LOEbWZ.mjs.map +1 -0
  803. package/dist/{public-url-B1AxbbbQ.mjs → public-url-CseXl9Fv.mjs} +39 -2
  804. package/dist/{public-url-B1AxbbbQ.mjs.map → public-url-CseXl9Fv.mjs.map} +1 -1
  805. package/dist/{query-yA3-rFji.mjs → query-axZmO6Tn.mjs} +12 -12
  806. package/dist/{query-yA3-rFji.mjs.map → query-axZmO6Tn.mjs.map} +1 -1
  807. package/dist/rate-limit-t5CVjCO6.mjs +120 -0
  808. package/dist/rate-limit-t5CVjCO6.mjs.map +1 -0
  809. package/dist/redirect-DGRsLO2I.mjs +17 -0
  810. package/dist/redirect-DGRsLO2I.mjs.map +1 -0
  811. package/dist/{redirect-C5H7VGIX.mjs → redirect-DkaDxq8e.mjs} +3 -3
  812. package/dist/{redirect-C5H7VGIX.mjs.map → redirect-DkaDxq8e.mjs.map} +1 -1
  813. package/dist/redirects-D1fdd68T.mjs +573 -0
  814. package/dist/redirects-D1fdd68T.mjs.map +1 -0
  815. package/dist/redirects-Dmj6KRU3.mjs +1141 -0
  816. package/dist/redirects-Dmj6KRU3.mjs.map +1 -0
  817. package/dist/{registry-Do34mz_P.mjs → registry-BnCeHYsf.mjs} +8 -300
  818. package/dist/registry-BnCeHYsf.mjs.map +1 -0
  819. package/dist/{request-cache-D4I69LeL.mjs → request-cache-dzCt8TZB.mjs} +1 -1
  820. package/dist/{request-cache-D4I69LeL.mjs.map → request-cache-dzCt8TZB.mjs.map} +1 -1
  821. package/dist/request-meta-CLCwSQOS.mjs +140 -0
  822. package/dist/request-meta-CLCwSQOS.mjs.map +1 -0
  823. package/dist/{runner-Iu3IZSDM.d.mts → runner-DcfZewkO.d.mts} +2 -2
  824. package/dist/{runner-Iu3IZSDM.d.mts.map → runner-DcfZewkO.d.mts.map} +1 -1
  825. package/dist/{runner-DIcU2UCC.mjs → runner-DdnQIwz_.mjs} +436 -187
  826. package/dist/runner-DdnQIwz_.mjs.map +1 -0
  827. package/dist/runtime.d.mts +10 -6
  828. package/dist/runtime.d.mts.map +1 -1
  829. package/dist/runtime.mjs +3 -3
  830. package/dist/schema-BmqagCwG.mjs +41 -0
  831. package/dist/schema-BmqagCwG.mjs.map +1 -0
  832. package/dist/search-CPrvO5u8.mjs +376 -0
  833. package/dist/search-CPrvO5u8.mjs.map +1 -0
  834. package/dist/{secrets-CZ8rxLX3.mjs → secrets-6pgZyq0K.mjs} +3 -3
  835. package/dist/{secrets-CZ8rxLX3.mjs.map → secrets-6pgZyq0K.mjs.map} +1 -1
  836. package/dist/sections-Cm-zb-gZ.mjs +346 -0
  837. package/dist/sections-Cm-zb-gZ.mjs.map +1 -0
  838. package/dist/seed/index.d.mts +2 -2
  839. package/dist/seed/index.mjs +19 -15
  840. package/dist/seo/index.d.mts +1 -1
  841. package/dist/seo-BoR4wCUh.mjs +86 -0
  842. package/dist/seo-BoR4wCUh.mjs.map +1 -0
  843. package/dist/seo-DRq9-EPP.mjs +130 -0
  844. package/dist/seo-DRq9-EPP.mjs.map +1 -0
  845. package/dist/service-vByySp-2.mjs +195 -0
  846. package/dist/service-vByySp-2.mjs.map +1 -0
  847. package/dist/settings-CBBj7HUd.mjs +51 -0
  848. package/dist/settings-CBBj7HUd.mjs.map +1 -0
  849. package/dist/settings-xQKsWnzQ.mjs +235 -0
  850. package/dist/settings-xQKsWnzQ.mjs.map +1 -0
  851. package/dist/setup-BGAJ2uXs.mjs +137 -0
  852. package/dist/setup-BGAJ2uXs.mjs.map +1 -0
  853. package/dist/setup-complete-C6ZCLhKo.mjs +26 -0
  854. package/dist/setup-complete-C6ZCLhKo.mjs.map +1 -0
  855. package/dist/setup-nonce-CY1gQiAU.mjs +25 -0
  856. package/dist/setup-nonce-CY1gQiAU.mjs.map +1 -0
  857. package/dist/site-url-D-M4Fd8O.mjs +13 -0
  858. package/dist/site-url-D-M4Fd8O.mjs.map +1 -0
  859. package/dist/slugify-Cjh1ssOZ.mjs +30 -0
  860. package/dist/slugify-Cjh1ssOZ.mjs.map +1 -0
  861. package/dist/ssrf-CTul4uQi.mjs +1 -0
  862. package/dist/ssrf-DzFN_qV-.mjs +332 -0
  863. package/dist/ssrf-DzFN_qV-.mjs.map +1 -0
  864. package/dist/storage/local.d.mts +1 -1
  865. package/dist/storage/local.mjs +1 -1
  866. package/dist/storage/s3.d.mts +1 -1
  867. package/dist/storage/s3.mjs +1 -1
  868. package/dist/{taxonomies-JmQQZiG1.mjs → taxonomies-Cn9UpaR2.mjs} +7 -7
  869. package/dist/{taxonomies-JmQQZiG1.mjs.map → taxonomies-Cn9UpaR2.mjs.map} +1 -1
  870. package/dist/taxonomies-Dc0mzlms.mjs +508 -0
  871. package/dist/taxonomies-Dc0mzlms.mjs.map +1 -0
  872. package/dist/{taxonomy-D6NvlKo8.mjs → taxonomy-wPfusMK9.mjs} +3 -3
  873. package/dist/{taxonomy-D6NvlKo8.mjs.map → taxonomy-wPfusMK9.mjs.map} +1 -1
  874. package/dist/{tokens-CyRDPVW2.mjs → tokens-DILYNZMi.mjs} +2 -2
  875. package/dist/{tokens-CyRDPVW2.mjs.map → tokens-DILYNZMi.mjs.map} +1 -1
  876. package/dist/{transaction-D44LBXvU.mjs → transaction-NQj4VJ7Z.mjs} +1 -1
  877. package/dist/{transaction-D44LBXvU.mjs.map → transaction-NQj4VJ7Z.mjs.map} +1 -1
  878. package/dist/{transport-DX_5rpsq.d.mts → transport-GeXlLscf.d.mts} +1 -1
  879. package/dist/{transport-DX_5rpsq.d.mts.map → transport-GeXlLscf.d.mts.map} +1 -1
  880. package/dist/{transport-xpzIjCIB.mjs → transport-fw-mKJzT.mjs} +1 -1
  881. package/dist/{transport-xpzIjCIB.mjs.map → transport-fw-mKJzT.mjs.map} +1 -1
  882. package/dist/trusted-proxy-CJhQIk65.mjs +51 -0
  883. package/dist/trusted-proxy-CJhQIk65.mjs.map +1 -0
  884. package/dist/{types-DgSc9Rpc.d.mts → types-B05e2naf.d.mts} +5 -59
  885. package/dist/types-B05e2naf.d.mts.map +1 -0
  886. package/dist/{types-B1gLSAH2.d.mts → types-BWhaSS7U.d.mts} +2 -75
  887. package/dist/types-BWhaSS7U.d.mts.map +1 -0
  888. package/dist/{types-BQx6ZXpR.d.mts → types-C1KKK4VP.d.mts} +3 -1
  889. package/dist/{types-BQx6ZXpR.d.mts.map → types-C1KKK4VP.d.mts.map} +1 -1
  890. package/dist/types-Cb2UCDJg.d.mts +345 -0
  891. package/dist/types-Cb2UCDJg.d.mts.map +1 -0
  892. package/dist/{types-BIgulNsW.mjs → types-CwXMEPRr.mjs} +10 -3
  893. package/dist/types-CwXMEPRr.mjs.map +1 -0
  894. package/dist/{types-B_CXXnzh.d.mts → types-CzvJd1ND.d.mts} +7 -1
  895. package/dist/{types-B_CXXnzh.d.mts.map → types-CzvJd1ND.d.mts.map} +1 -1
  896. package/dist/types-DFowNO60.d.mts +198 -0
  897. package/dist/types-DFowNO60.d.mts.map +1 -0
  898. package/dist/{types-56BKbld_.mjs → types-DSZl1Dsv.mjs} +1 -1
  899. package/dist/{types-56BKbld_.mjs.map → types-DSZl1Dsv.mjs.map} +1 -1
  900. package/dist/types-DW1l0gCv.d.mts +75 -0
  901. package/dist/types-DW1l0gCv.d.mts.map +1 -0
  902. package/dist/types-Db67HHlU.mjs +3 -0
  903. package/dist/{types-C-aFbqmA.d.mts → types-DmxPPXGf.d.mts} +1 -1
  904. package/dist/{types-C-aFbqmA.d.mts.map → types-DmxPPXGf.d.mts.map} +1 -1
  905. package/dist/{types-PafqtQuM.mjs → types-Dz9CGX_d.mjs} +1 -1
  906. package/dist/{types-PafqtQuM.mjs.map → types-Dz9CGX_d.mjs.map} +1 -1
  907. package/dist/user-Dr1bOCqS.mjs +155 -0
  908. package/dist/user-Dr1bOCqS.mjs.map +1 -0
  909. package/dist/utils-_F-rWBTN.mjs +286 -0
  910. package/dist/utils-_F-rWBTN.mjs.map +1 -0
  911. package/dist/{validate-BcC3m2O7.d.mts → validate-BpQGsmd7.d.mts} +5 -4
  912. package/dist/validate-BpQGsmd7.d.mts.map +1 -0
  913. package/dist/{validate-UK4Ja1uo.mjs → validate-DlFxcVVK.mjs} +3 -3
  914. package/dist/{validate-UK4Ja1uo.mjs.map → validate-DlFxcVVK.mjs.map} +1 -1
  915. package/dist/{validation-Vc5DQkJa.mjs → validation-BiFJqUp5.mjs} +6 -5
  916. package/dist/{validation-Vc5DQkJa.mjs.map → validation-BiFJqUp5.mjs.map} +1 -1
  917. package/dist/version-Dw7Z5PVU.mjs +7 -0
  918. package/dist/{version-BdP--J1g.mjs.map → version-Dw7Z5PVU.mjs.map} +1 -1
  919. package/dist/widgets-B9j_yzlk.mjs +106 -0
  920. package/dist/widgets-B9j_yzlk.mjs.map +1 -0
  921. package/dist/zod-generator-DSyz01KE.mjs +234 -0
  922. package/dist/zod-generator-DSyz01KE.mjs.map +1 -0
  923. package/locals.d.ts +1 -1
  924. package/package.json +37 -14
  925. package/src/api/handlers/content.ts +1 -0
  926. package/src/api/handlers/index.ts +7 -0
  927. package/src/api/handlers/marketplace.ts +27 -6
  928. package/src/api/handlers/menus.ts +157 -580
  929. package/src/api/handlers/plugins.ts +77 -31
  930. package/src/api/handlers/registry.ts +1086 -0
  931. package/src/api/openapi/document.ts +10 -4
  932. package/src/api/schemas/content.ts +1 -0
  933. package/src/api/schemas/menus.ts +27 -23
  934. package/src/api/types.ts +6 -0
  935. package/src/astro/integration/index.ts +1 -0
  936. package/src/astro/integration/route-naming.ts +19 -0
  937. package/src/astro/integration/routes.ts +25 -3
  938. package/src/astro/integration/runtime.ts +35 -8
  939. package/src/astro/middleware/auth.ts +8 -2
  940. package/src/astro/middleware/csp.ts +25 -3
  941. package/src/astro/middleware.ts +3 -0
  942. package/src/astro/routes/api/admin/plugins/[id]/enable.ts +10 -0
  943. package/src/astro/routes/api/admin/plugins/registry/install.ts +107 -0
  944. package/src/astro/routes/api/auth/invite/register-options.ts +8 -1
  945. package/src/astro/routes/api/import/wordpress/execute.ts +185 -6
  946. package/src/astro/routes/api/menus/[name]/items/[id].ts +69 -0
  947. package/src/astro/routes/api/menus/[name]/items.ts +4 -65
  948. package/src/astro/types.ts +38 -0
  949. package/src/cli/wxr/parser.ts +263 -0
  950. package/src/client/index.ts +2 -1
  951. package/src/database/migrations/036_i18n_menus_and_taxonomies.ts +166 -49
  952. package/src/database/migrations/038_registry_plugin_state.ts +130 -0
  953. package/src/database/migrations/039_fix_fts5_triggers.ts +264 -0
  954. package/src/database/migrations/runner.ts +4 -0
  955. package/src/database/repositories/content.ts +5 -1
  956. package/src/database/repositories/index.ts +14 -0
  957. package/src/database/repositories/menu.ts +644 -0
  958. package/src/database/repositories/types.ts +6 -0
  959. package/src/database/types.ts +5 -1
  960. package/src/emdash-runtime.ts +122 -34
  961. package/src/import/sources/wordpress-plugin.ts +9 -2
  962. package/src/import/sources/wxr.ts +16 -2
  963. package/src/import/ssrf.ts +20 -500
  964. package/src/import/wxr-taxonomies.ts +730 -0
  965. package/src/index.ts +3 -10
  966. package/src/media/normalize.ts +37 -4
  967. package/src/plugin-types.ts +240 -0
  968. package/src/plugins/adapt-sandbox-entry.ts +115 -39
  969. package/src/plugins/define-plugin.ts +34 -56
  970. package/src/plugins/index.ts +1 -9
  971. package/src/plugins/marketplace.ts +63 -4
  972. package/src/plugins/sandbox/index.ts +1 -1
  973. package/src/plugins/sandbox/noop.ts +2 -2
  974. package/src/plugins/sandbox/types.ts +7 -4
  975. package/src/plugins/state.ts +84 -38
  976. package/src/plugins/types.ts +2 -79
  977. package/src/registry/config.ts +311 -0
  978. package/src/registry/plugin-id.ts +116 -0
  979. package/src/registry/types.ts +206 -0
  980. package/src/search/fts-manager.ts +77 -15
  981. package/src/security/ssrf.ts +501 -0
  982. package/dist/apply-C1ZORgcy.mjs.map +0 -1
  983. package/dist/content-CERxPUN0.mjs.map +0 -1
  984. package/dist/error-D6LuHLw9.mjs +0 -27
  985. package/dist/error-D6LuHLw9.mjs.map +0 -1
  986. package/dist/index-Dlkzhb4C.d.mts.map +0 -1
  987. package/dist/placeholder-Ci0RLeCk.mjs +0 -268
  988. package/dist/placeholder-Ci0RLeCk.mjs.map +0 -1
  989. package/dist/registry-Do34mz_P.mjs.map +0 -1
  990. package/dist/runner-DIcU2UCC.mjs.map +0 -1
  991. package/dist/search-n-ZCMfr3.mjs +0 -9914
  992. package/dist/search-n-ZCMfr3.mjs.map +0 -1
  993. package/dist/settings-nTXPRi3D.mjs +0 -440
  994. package/dist/settings-nTXPRi3D.mjs.map +0 -1
  995. package/dist/types-B1gLSAH2.d.mts.map +0 -1
  996. package/dist/types-BIgulNsW.mjs.map +0 -1
  997. package/dist/types-Cug_RO3W.mjs +0 -16
  998. package/dist/types-Cug_RO3W.mjs.map +0 -1
  999. package/dist/types-DgSc9Rpc.d.mts.map +0 -1
  1000. package/dist/validate-BcC3m2O7.d.mts.map +0 -1
  1001. package/dist/version-BdP--J1g.mjs +0 -7
  1002. package/dist/zod-generator-CHnJUP2l.mjs +0 -137
  1003. package/dist/zod-generator-CHnJUP2l.mjs.map +0 -1
@@ -1,17 +1,18 @@
1
- import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-CDPtkelt.mjs";
2
- import { t as Database } from "./types-BQx6ZXpR.mjs";
3
- import { a as ContentSeoInput, c as FindManyOptions, d as UpdateContentInput, l as FindManyResult, o as CreateContentInput, r as ContentItem, t as BylineSummary } from "./types-B_CXXnzh.mjs";
4
- import { $ as ResolvedPlugin, A as PageFragmentContribution, D as MediaItem$1, G as PluginManifest, N as PageMetadataContribution, P as PageMetadataEvent, U as PluginDefinition, Z as RequestMeta, c as CommentBeforeCreateEvent, g as CronEvent, i as CommentAfterCreateEvent, it as StandardPluginDefinition, j as PageFragmentEvent, o as CommentAfterModerateEvent, q as PluginStorageConfig, y as EmailMessage } from "./types-DgSc9Rpc.mjs";
5
- import { a as Collection, b as UpdateFieldInput, c as CollectionWithFields, d as CreateFieldInput, h as FieldValidation, i as SiteSettings, p as Field, r as SiteSettingKey, u as CreateCollectionInput, y as UpdateCollectionInput } from "./types-B1gLSAH2.mjs";
6
- import { d as Storage } from "./types-C-aFbqmA.mjs";
7
- import { t as DatabaseDescriptor } from "./adapters-BktHA7EO.mjs";
1
+ import { a as ContentSeoInput, c as FindManyOptions, d as UpdateContentInput, l as FindManyResult, o as CreateContentInput, r as ContentItem, t as BylineSummary } from "./types-CzvJd1ND.mjs";
2
+ import { d as ContentListResponse, f as ContentResponse, h as ManifestResponse, u as ApiResult } from "./options-Cq64Wx0O.mjs";
3
+ import { t as Database } from "./types-C1KKK4VP.mjs";
4
+ import { G as MediaItem$1, J as PageFragmentContribution, M as EmailMessage, Q as PageMetadataEvent, S as CronEvent, Y as PageFragmentEvent, Z as PageMetadataContribution, _t as ResolvedPlugin, c as CommentBeforeCreateEvent, dt as PluginStorageConfig, ht as RequestMeta, i as CommentAfterCreateEvent, lt as PluginManifest, o as CommentAfterModerateEvent, st as PluginDefinition } from "./types-B05e2naf.mjs";
5
+ import { d as FieldValidation, g as UpdateFieldInput, h as UpdateCollectionInput, i as CollectionWithFields, l as Field, o as CreateCollectionInput, s as CreateFieldInput, t as Collection } from "./types-BWhaSS7U.mjs";
6
+ import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-D3cFCU9y.mjs";
7
+ import { C as ContentBylineInput } from "./index-D2gvztOP.mjs";
8
+ import { i as SiteSettings, r as SiteSettingKey } from "./types-DW1l0gCv.mjs";
9
+ import { d as Storage } from "./types-DmxPPXGf.mjs";
10
+ import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-DFowNO60.mjs";
11
+ import { t as DatabaseDescriptor } from "./adapters-9DybjTO6.mjs";
8
12
  import { Kysely } from "kysely";
9
13
  import { z } from "astro/zod";
10
14
  import { z as z$1 } from "zod";
11
- import { PortableTextBlock } from "@emdash-cms/gutenberg-to-portable-text";
12
- import { Readable } from "node:stream";
13
15
  import { LiveLoader } from "astro/loaders";
14
- import * as react from "react";
15
16
 
16
17
  //#region src/database/connection.d.ts
17
18
  interface DatabaseConfig {
@@ -370,12 +371,6 @@ interface PublicComment {
370
371
  replies?: PublicComment[];
371
372
  }
372
373
  //#endregion
373
- //#region src/database/repositories/byline.d.ts
374
- interface ContentBylineInput {
375
- bylineId: string;
376
- roleLabel?: string | null;
377
- }
378
- //#endregion
379
374
  //#region src/fields/types.d.ts
380
375
  /**
381
376
  * SQLite column types that map from field types
@@ -412,7 +407,7 @@ interface FieldUIHints {
412
407
  /**
413
408
  * Portable Text block structure
414
409
  */
415
- interface PortableTextBlock$2 {
410
+ interface PortableTextBlock$1 {
416
411
  _type: string;
417
412
  _key: string;
418
413
  [key: string]: unknown;
@@ -465,88 +460,7 @@ declare function reference(collection: string, options?: {
465
460
  */
466
461
  declare function portableText(options?: {
467
462
  required?: boolean;
468
- }): FieldDefinition<PortableTextBlock$2[] | undefined>;
469
- //#endregion
470
- //#region src/api/types.d.ts
471
- /**
472
- * List response with cursor pagination
473
- */
474
- interface ListResponse<T> {
475
- items: T[];
476
- nextCursor?: string;
477
- }
478
- /**
479
- * Content API responses
480
- */
481
- interface ContentListResponse extends ListResponse<ContentItem> {}
482
- interface ContentResponse {
483
- item: ContentItem;
484
- /** Opaque revision token for optimistic concurrency */
485
- _rev?: string;
486
- }
487
- /**
488
- * Manifest API response
489
- */
490
- interface ManifestResponse {
491
- version: string;
492
- hash: string;
493
- collections: Record<string, {
494
- label: string;
495
- labelSingular: string;
496
- supports: string[];
497
- fields: Record<string, FieldDescriptor>;
498
- }>;
499
- plugins: Record<string, {
500
- adminPages?: Array<{
501
- path: string;
502
- component: string;
503
- }>;
504
- widgets?: string[];
505
- }>;
506
- }
507
- interface FieldDescriptor {
508
- kind: string;
509
- label?: string;
510
- required?: boolean;
511
- /**
512
- * For `select` / `multiSelect`: the list of enum choices.
513
- * For `json` fields driven by a plugin `widget`: arbitrary widget config.
514
- */
515
- options?: Array<{
516
- value: string;
517
- label: string;
518
- }> | Record<string, unknown>;
519
- }
520
- /**
521
- * Discriminated union for handler results.
522
- *
523
- * Handlers return `ApiResult<T>` -- either `{ success: true, data: T }` or
524
- * `{ success: false, error: { code, message } }`. The `success` literal
525
- * enables TypeScript narrowing on `.data`.
526
- *
527
- * The generic `E` parameter defaults to `ErrorCode` but can be narrowed to
528
- * `OAuthErrorCode` for OAuth token-endpoint handlers.
529
- *
530
- * Use `unwrapResult()` from `error.ts` to convert to an HTTP Response.
531
- */
532
- type ApiResult<T, E extends string = string> = {
533
- success: true;
534
- data: T;
535
- } | {
536
- success: false;
537
- error: {
538
- code: E;
539
- message: string;
540
- details?: Record<string, unknown>;
541
- };
542
- };
543
- /**
544
- * API request context
545
- */
546
- interface ApiContext {
547
- userId?: string;
548
- userRole?: string;
549
- }
463
+ }): FieldDefinition<PortableTextBlock$1[] | undefined>;
550
464
  //#endregion
551
465
  //#region src/api/handlers/content.d.ts
552
466
  /**
@@ -1032,7 +946,7 @@ interface Section {
1032
946
  title: string;
1033
947
  description?: string;
1034
948
  keywords: string[];
1035
- content: PortableTextBlock$2[];
949
+ content: PortableTextBlock$1[];
1036
950
  previewUrl?: string;
1037
951
  source: SectionSource;
1038
952
  themeId?: string;
@@ -1047,7 +961,7 @@ interface CreateSectionInput {
1047
961
  title: string;
1048
962
  description?: string;
1049
963
  keywords?: string[];
1050
- content: PortableTextBlock$2[];
964
+ content: PortableTextBlock$1[];
1051
965
  previewMediaId?: string;
1052
966
  source?: SectionSource;
1053
967
  themeId?: string;
@@ -1060,7 +974,7 @@ interface UpdateSectionInput {
1060
974
  title?: string;
1061
975
  description?: string;
1062
976
  keywords?: string[];
1063
- content?: PortableTextBlock$2[];
977
+ content?: PortableTextBlock$1[];
1064
978
  previewMediaId?: string | null;
1065
979
  }
1066
980
  /**
@@ -1171,10 +1085,13 @@ interface SandboxOptions {
1171
1085
  emailSend?: SandboxEmailSendCallback;
1172
1086
  }
1173
1087
  /**
1174
- * A sandboxed plugin instance.
1175
- * Provides methods to invoke hooks and routes in the isolated environment.
1088
+ * Handle to a sandboxed plugin running inside an isolate. Returned
1089
+ * by `SandboxRunner.load` and held by the runtime's cache so hooks /
1090
+ * routes can be invoked across the isolate boundary. Distinct from
1091
+ * the author-facing `SandboxedPlugin` type in `emdash/plugin`, which
1092
+ * describes the source-level shape of a plugin's default export.
1176
1093
  */
1177
- interface SandboxedPlugin {
1094
+ interface SandboxedPluginInstance {
1178
1095
  /** Unique identifier: `${manifest.id}:${manifest.version}` */
1179
1096
  readonly id: string;
1180
1097
  /**
@@ -1229,7 +1146,7 @@ interface SandboxRunner {
1229
1146
  * @returns A sandboxed plugin instance
1230
1147
  * @throws If sandboxing is not available or plugin can't be loaded
1231
1148
  */
1232
- load(manifest: PluginManifest, code: string): Promise<SandboxedPlugin>;
1149
+ load(manifest: PluginManifest, code: string): Promise<SandboxedPluginInstance>;
1233
1150
  /**
1234
1151
  * Set the email send callback for sandboxed plugins.
1235
1152
  * Called after the EmailPipeline is created, since the pipeline
@@ -1256,6 +1173,208 @@ interface SandboxRunner {
1256
1173
  */
1257
1174
  type SandboxRunnerFactory = (options: SandboxOptions) => SandboxRunner;
1258
1175
  //#endregion
1176
+ //#region src/registry/types.d.ts
1177
+ /**
1178
+ * Public types for the experimental plugin registry.
1179
+ *
1180
+ * Kept in their own module so they don't get re-bundled into the
1181
+ * `astro/integration/runtime.ts` chunk's dist output. tsdown / rolldown
1182
+ * are sensitive to which top-level types live alongside `definePlugin`'s
1183
+ * overloads, and pulling these types into the integration module
1184
+ * affected downstream `definePlugin()` overload resolution for trusted
1185
+ * plugins built against core's dist (see commit history for the
1186
+ * detailed write-up).
1187
+ */
1188
+ /**
1189
+ * Experimental plugin registry configuration.
1190
+ *
1191
+ * See {@link ExperimentalConfig.registry}.
1192
+ */
1193
+ interface RegistryConfig {
1194
+ /**
1195
+ * Base URL of the registry aggregator (an atproto AppView that indexes
1196
+ * the firehose for `pm.fair.package.*` and `com.emdashcms.*` records).
1197
+ *
1198
+ * Must be the origin where the aggregator's XRPC endpoints are mounted,
1199
+ * such that `${aggregatorUrl}/xrpc/<nsid>` resolves to a valid endpoint.
1200
+ *
1201
+ * Must be HTTPS in production; `http://localhost` or `http://127.0.0.1`
1202
+ * are accepted in dev.
1203
+ */
1204
+ aggregatorUrl: string;
1205
+ /**
1206
+ * Optional comma-separated list of labeller DIDs forwarded as the
1207
+ * `atproto-accept-labelers` header on every aggregator request.
1208
+ *
1209
+ * Format follows the atproto convention:
1210
+ * `did:plc:abc;redact, did:plc:def`
1211
+ *
1212
+ * When unset, the aggregator applies its operator-default labeller set
1213
+ * (typically the EmDash publisher-verification labeller and any
1214
+ * additional trusted labellers the aggregator operator configured).
1215
+ */
1216
+ acceptLabelers?: string;
1217
+ /**
1218
+ * Site-level policy applied to the latest-release selection filter.
1219
+ *
1220
+ * These filters operate over the signed records the aggregator returns;
1221
+ * they are not protocol-level constraints. See the RFC's
1222
+ * "Update Discovery and Takedowns" section for the integration point.
1223
+ */
1224
+ policy?: {
1225
+ /**
1226
+ * Hold back releases newer than this when computing the recommended
1227
+ * install or update version. Mitigates "compromised publisher
1228
+ * account pushes a malicious release of an established plugin" by
1229
+ * giving the takedown labeller a detection window.
1230
+ *
1231
+ * Accepts a duration string (`"24h"`, `"48h"`, `"72h"`, `"7d"`) or a
1232
+ * number of seconds.
1233
+ *
1234
+ * Currently applies uniformly to all releases. A future addition
1235
+ * may exempt brand-new packages (those with no prior release
1236
+ * history) so the holdback doesn't block first-time publishing,
1237
+ * but that exemption is not implemented yet; use
1238
+ * {@link minimumReleaseAgeExclude} to allowlist trusted publishers
1239
+ * whose packages should install immediately.
1240
+ *
1241
+ * Defaults to `undefined` (no holdback). A future trust/moderation
1242
+ * RFC will specify the recommended default.
1243
+ */
1244
+ minimumReleaseAge?: string | number;
1245
+ /**
1246
+ * Packages exempt from the {@link minimumReleaseAge} holdback. Use
1247
+ * for publishers whose release tempo you've explicitly accepted --
1248
+ * your own first-party plugins, a trusted partner, etc.
1249
+ *
1250
+ * Each entry is either:
1251
+ * - A bare publisher DID (e.g. `"did:plc:abc123"`) -- every
1252
+ * package from that publisher is exempt.
1253
+ * - A `<did>/<slug>` pair (e.g.
1254
+ * `"did:plc:abc123/hotfix-plugin"`) -- only that specific
1255
+ * package is exempt.
1256
+ *
1257
+ * Whole-publisher exemptions are the common case: trust is
1258
+ * naturally a property of the publisher, not of each individual
1259
+ * package. Per-package exemptions exist for cases where a publisher
1260
+ * has one plugin you want fast-track installs for and others you'd
1261
+ * rather hold back.
1262
+ *
1263
+ * Only DIDs are accepted -- not handles. Handles are mutable
1264
+ * aggregator-supplied envelope data, and accepting them as a
1265
+ * trust input would let a compromised aggregator bypass the
1266
+ * holdback by claiming any handle for any package. DIDs are
1267
+ * tied to the AT URI of the package record itself, so even a
1268
+ * compromised aggregator cannot lie about which DID published
1269
+ * a release.
1270
+ *
1271
+ * Mirrors pnpm's `minimumReleaseAgeExclude`.
1272
+ *
1273
+ * @example
1274
+ * ```ts
1275
+ * minimumReleaseAgeExclude: [
1276
+ * "did:plc:emdashfirstparty", // every package from this publisher
1277
+ * "did:plc:abc123/hotfix-plugin", // just this one package
1278
+ * ]
1279
+ * ```
1280
+ */
1281
+ minimumReleaseAgeExclude?: readonly string[];
1282
+ };
1283
+ }
1284
+ /**
1285
+ * Shorthand: pass a bare aggregator URL string in place of a full
1286
+ * `RegistryConfig` object when you don't need `acceptLabelers` or
1287
+ * `policy`. The normalizer expands the string into
1288
+ * `{ aggregatorUrl: <string> }` before any downstream code sees it.
1289
+ *
1290
+ * @example
1291
+ * ```ts
1292
+ * experimental: {
1293
+ * registry: "https://registry.emdashcms.com",
1294
+ * }
1295
+ * ```
1296
+ *
1297
+ * Equivalent to:
1298
+ * ```ts
1299
+ * experimental: {
1300
+ * registry: { aggregatorUrl: "https://registry.emdashcms.com" },
1301
+ * }
1302
+ * ```
1303
+ */
1304
+ type RegistryConfigInput = string | RegistryConfig;
1305
+ /**
1306
+ * Experimental EmDash features. See `EmDashConfig.experimental`.
1307
+ *
1308
+ * Each field is independently opt-in. Fields may be promoted out of
1309
+ * `experimental` (becoming top-level `EmDashConfig` options) or removed
1310
+ * in minor releases; check the changelog when upgrading.
1311
+ */
1312
+ interface ExperimentalConfig {
1313
+ /**
1314
+ * Decentralized plugin registry.
1315
+ *
1316
+ * When set, replaces the centralized `marketplace` for the admin UI's
1317
+ * browse and install flows. The registry is an atproto-backed
1318
+ * federation: package metadata lives in each publisher's PDS and
1319
+ * an aggregator (the `aggregatorUrl`) indexes the firehose and
1320
+ * exposes read-only XRPC endpoints for discovery.
1321
+ *
1322
+ * See [RFC 0001](https://github.com/emdash-cms/emdash/pull/694) for
1323
+ * the protocol design.
1324
+ *
1325
+ * **Trust model (v1, experimental).** Today EmDash trusts the
1326
+ * configured aggregator with these claims, per package and per
1327
+ * release:
1328
+ *
1329
+ * - The publisher DID associated with a `(did, slug)` pair.
1330
+ * - The artifact `url`, the artifact `checksum`, and any mirror
1331
+ * URLs returned for a release.
1332
+ * - The published handle for a DID (used for display only;
1333
+ * EmDash separately verifies the DID->handle round-trip in the
1334
+ * admin UI before treating a handle as confirmed).
1335
+ *
1336
+ * What EmDash verifies independently before activating an
1337
+ * installed plugin:
1338
+ *
1339
+ * - The artifact bytes hash to the checksum the aggregator
1340
+ * returned (so a malicious mirror or in-transit tamper can't
1341
+ * swap the bundle).
1342
+ * - The bundle's `manifest.id` matches the requested slug, and
1343
+ * its `manifest.version` matches the release version (so an
1344
+ * attacker who controls the aggregator can't trick the
1345
+ * sandbox into addressing the wrong plugin id).
1346
+ * - The bundle's `manifest.capabilities` matches what the admin
1347
+ * acknowledged in the consent dialog (so a publisher can't
1348
+ * ship a bundle that requests more permissions than the
1349
+ * dialog displayed).
1350
+ *
1351
+ * What's NOT yet verified:
1352
+ *
1353
+ * - Full MST proof / publisher signature on the release record.
1354
+ * A compromised aggregator can forge a release for any DID
1355
+ * and slug, and the install will succeed as long as the
1356
+ * bundle matches the (forged) checksum.
1357
+ * - Per-release replay / rollback: the aggregator chooses which
1358
+ * release version is "latest".
1359
+ *
1360
+ * **Recommendation.** Until full signature verification lands,
1361
+ * point `aggregatorUrl` only at an aggregator you operate
1362
+ * yourself or one you trust with the same level of authority as
1363
+ * a centralized plugin source. The `policy.minimumReleaseAge` and
1364
+ * `acceptLabelers` knobs partially mitigate by widening the
1365
+ * detection window for takedowns, but they assume the labeller
1366
+ * system is operating.
1367
+ *
1368
+ * Requires `sandboxRunner` to be configured -- registry plugins
1369
+ * always run sandboxed.
1370
+ *
1371
+ * Accepts a bare URL string as shorthand for
1372
+ * `{ aggregatorUrl: "..." }`. Use the full object form when you
1373
+ * need `acceptLabelers` or `policy`.
1374
+ */
1375
+ registry?: RegistryConfigInput;
1376
+ }
1377
+ //#endregion
1259
1378
  //#region src/content/converters/types.d.ts
1260
1379
  /**
1261
1380
  * Portable Text Types
@@ -1342,7 +1461,7 @@ interface PortableTextUnknownBlock {
1342
1461
  /**
1343
1462
  * Any Portable Text block
1344
1463
  */
1345
- type PortableTextBlock$1 = PortableTextTextBlock | PortableTextImageBlock | PortableTextCodeBlock | PortableTextUnknownBlock;
1464
+ type PortableTextBlock = PortableTextTextBlock | PortableTextImageBlock | PortableTextCodeBlock | PortableTextUnknownBlock;
1346
1465
  /**
1347
1466
  * ProseMirror JSON types (simplified for TipTap)
1348
1467
  */
@@ -1366,13 +1485,13 @@ interface ProseMirrorDocument {
1366
1485
  /**
1367
1486
  * Convert ProseMirror document to Portable Text
1368
1487
  */
1369
- declare function prosemirrorToPortableText(doc: ProseMirrorDocument): PortableTextBlock$1[];
1488
+ declare function prosemirrorToPortableText(doc: ProseMirrorDocument): PortableTextBlock[];
1370
1489
  //#endregion
1371
1490
  //#region src/content/converters/portable-text-to-prosemirror.d.ts
1372
1491
  /**
1373
1492
  * Convert Portable Text to ProseMirror document
1374
1493
  */
1375
- declare function portableTextToProsemirror(blocks: PortableTextBlock$1[]): ProseMirrorDocument;
1494
+ declare function portableTextToProsemirror(blocks: PortableTextBlock[]): ProseMirrorDocument;
1376
1495
  //#endregion
1377
1496
  //#region src/utils/hash.d.ts
1378
1497
  /**
@@ -1421,22 +1540,6 @@ declare function sanitizeHref(url: string | undefined | null): string;
1421
1540
  */
1422
1541
  declare function isSafeHref(url: string): boolean;
1423
1542
  //#endregion
1424
- //#region src/utils/slugify.d.ts
1425
- /**
1426
- * Convert a string to a URL-friendly slug.
1427
- *
1428
- * Handles unicode by normalizing to NFD and stripping diacritics,
1429
- * so "café" becomes "cafe", "naïve" becomes "naive", etc.
1430
- */
1431
- /**
1432
- * Decode a URI-encoded slug parameter.
1433
- *
1434
- * Browsers percent-encode non-ASCII characters in URLs, so a slug like
1435
- * "మేష-రాసి" arrives as "%e0%b0%ae%e0%b1%87%e0%b0%b7-%e0%b0%b0%e0%b0%be%e0%b0%b8%e0%b0%bf".
1436
- * Call this on `Astro.params.slug` before using it in database lookups.
1437
- */
1438
- declare function decodeSlug(raw: string | undefined): string | undefined;
1439
- //#endregion
1440
1543
  //#region src/visual-editing/editable.d.ts
1441
1544
  /**
1442
1545
  * Visual editing annotation system
@@ -1891,172 +1994,15 @@ declare function getDb(): Promise<Kysely<Database>>;
1891
1994
  */
1892
1995
  declare function emdashLoader(): LiveLoader<EntryData, EntryFilter, CollectionFilter>;
1893
1996
  //#endregion
1894
- //#region src/cli/wxr/parser.d.ts
1895
- /**
1896
- * Parsed WordPress export data
1897
- */
1898
- interface WxrData {
1899
- /** Site metadata */
1900
- site: WxrSite;
1901
- /** Posts (including custom post types) */
1902
- posts: WxrPost[];
1903
- /** Media attachments */
1904
- attachments: WxrAttachment[];
1905
- /** Categories */
1906
- categories: WxrCategory[];
1907
- /** Tags */
1908
- tags: WxrTag[];
1909
- /** Authors */
1910
- authors: WxrAuthor[];
1911
- /** All taxonomy terms (including custom taxonomies and nav_menu) */
1912
- terms: WxrTerm[];
1913
- /** Parsed navigation menus */
1914
- navMenus: WxrNavMenu[];
1915
- }
1916
- interface WxrSite {
1917
- title?: string;
1918
- link?: string;
1919
- description?: string;
1920
- language?: string;
1921
- baseSiteUrl?: string;
1922
- baseBlogUrl?: string;
1923
- }
1924
- interface WxrPost {
1925
- id?: number;
1926
- title?: string;
1927
- link?: string;
1928
- pubDate?: string;
1929
- creator?: string;
1930
- guid?: string;
1931
- description?: string;
1932
- content?: string;
1933
- excerpt?: string;
1934
- postDate?: string;
1935
- postDateGmt?: string;
1936
- postModified?: string;
1937
- postModifiedGmt?: string;
1938
- commentStatus?: string;
1939
- pingStatus?: string;
1940
- status?: string;
1941
- postType?: string;
1942
- postName?: string;
1943
- postPassword?: string;
1944
- isSticky?: boolean;
1945
- /** Parent post ID for hierarchical content (pages) */
1946
- postParent?: number;
1947
- /** Menu order for sorting */
1948
- menuOrder?: number;
1949
- categories: string[];
1950
- tags: string[];
1951
- /** Custom taxonomy assignments beyond categories/tags */
1952
- customTaxonomies?: Map<string, string[]>;
1953
- meta: Map<string, string>;
1954
- }
1955
- interface WxrAttachment {
1956
- id?: number;
1957
- title?: string;
1958
- url?: string;
1959
- postDate?: string;
1960
- meta: Map<string, string>;
1961
- }
1962
- interface WxrCategory {
1963
- id?: number;
1964
- nicename?: string;
1965
- name?: string;
1966
- parent?: string;
1967
- description?: string;
1968
- }
1969
- interface WxrTag {
1970
- id?: number;
1971
- slug?: string;
1972
- name?: string;
1973
- description?: string;
1974
- }
1975
- /**
1976
- * Generic taxonomy term (categories, tags, nav_menu, custom taxonomies)
1977
- */
1978
- interface WxrTerm {
1979
- id: number;
1980
- taxonomy: string;
1981
- slug: string;
1982
- name: string;
1983
- parent?: string;
1984
- description?: string;
1985
- }
1986
- /**
1987
- * Navigation menu structure
1988
- */
1989
- interface WxrNavMenu {
1990
- id: number;
1991
- name: string;
1992
- label: string;
1993
- items: WxrNavMenuItem[];
1994
- }
1995
- /**
1996
- * Navigation menu item
1997
- */
1998
- interface WxrNavMenuItem {
1999
- id: number;
2000
- menuId: number;
2001
- parentId?: number;
2002
- sortOrder: number;
2003
- type: "custom" | "post_type" | "taxonomy";
2004
- objectType?: string;
2005
- objectId?: number;
2006
- url?: string;
2007
- title: string;
2008
- target?: string;
2009
- classes?: string;
2010
- }
2011
- interface WxrAuthor {
2012
- id?: number;
2013
- login?: string;
2014
- email?: string;
2015
- displayName?: string;
2016
- firstName?: string;
2017
- lastName?: string;
2018
- }
2019
- /**
2020
- * Parse a WordPress WXR export file
2021
- */
2022
- declare function parseWxr(stream: Readable): Promise<WxrData>;
2023
- /**
2024
- * Parse a WordPress WXR export from a string
2025
- *
2026
- * Uses the non-streaming SAX parser API for compatibility with
2027
- * environments that don't have Node.js streams (e.g., Cloudflare Workers).
2028
- */
2029
- declare function parseWxrString(xml: string): Promise<WxrData>;
2030
- //#endregion
2031
1997
  //#region src/plugins/define-plugin.d.ts
2032
1998
  /**
2033
- * Define an EmDash plugin.
2034
- *
2035
- * **Standard format** -- the canonical format for plugins that work in both
2036
- * trusted and sandboxed modes. No id/version -- those come from the descriptor.
2037
- *
2038
- * @example
2039
- * ```typescript
2040
- * import { definePlugin } from "emdash";
2041
- *
2042
- * export default definePlugin({
2043
- * hooks: {
2044
- * "content:afterSave": {
2045
- * handler: async (event, ctx) => {
2046
- * await ctx.kv.set("lastSave", Date.now());
2047
- * },
2048
- * },
2049
- * },
2050
- * routes: {
2051
- * status: {
2052
- * handler: async (routeCtx, ctx) => ({ ok: true }),
2053
- * },
2054
- * },
2055
- * });
2056
- * ```
1999
+ * Define a native EmDash plugin.
2057
2000
  *
2058
- * **Native format** -- for plugins that need React admin, direct DB access,
2059
- * or other capabilities not available in the sandbox.
2001
+ * Native plugins ship as regular npm modules, get installed via
2002
+ * `pnpm add` + an `astro.config.mjs` edit, and run in the host
2003
+ * process. They have full access to the runtime — capabilities are
2004
+ * still enforced by `PluginContextFactory`, but there is no isolation
2005
+ * boundary.
2060
2006
  *
2061
2007
  * @example
2062
2008
  * ```typescript
@@ -2081,203 +2027,15 @@ declare function parseWxrString(xml: string): Promise<WxrData>;
2081
2027
  * }
2082
2028
  * });
2083
2029
  * ```
2084
- */
2085
- declare function definePlugin<TStorage extends PluginStorageConfig>(definition: PluginDefinition<TStorage>): ResolvedPlugin<TStorage>;
2086
- declare function definePlugin(definition: StandardPluginDefinition): StandardPluginDefinition;
2087
- //#endregion
2088
- //#region src/auth/types.d.ts
2089
- /**
2090
- * Auth Provider Types
2091
- *
2092
- * Defines the interfaces for pluggable authentication providers.
2093
- *
2094
- * Two systems coexist:
2095
- * - `AuthDescriptor` — transparent auth (Cloudflare Access) that authenticates
2096
- * every request via headers/cookies. No login UI needed.
2097
- * - `AuthProviderDescriptor` — pluggable login methods (GitHub, Google,
2098
- * AT Protocol, etc.) that appear as options on the login page and setup
2099
- * wizard. Passkey is built-in; providers are additive.
2100
- */
2101
- /**
2102
- * Result of authenticating a request via an external auth provider
2103
- */
2104
- interface AuthResult {
2105
- /** User's email address */
2106
- email: string;
2107
- /** User's display name */
2108
- name: string;
2109
- /** Resolved role level (e.g., 50 for Admin, 30 for Editor) */
2110
- role: number;
2111
- /** Provider-specific subject ID */
2112
- subject?: string;
2113
- /** Additional provider-specific data */
2114
- metadata?: Record<string, unknown>;
2115
- }
2116
- /**
2117
- * Auth descriptor — transparent auth providers (e.g., Cloudflare Access).
2118
- *
2119
- * These authenticate every request via headers/cookies. No login UI needed.
2120
- * The module's `authenticate()` function is called by middleware on each request.
2121
- */
2122
- interface AuthDescriptor {
2123
- /**
2124
- * Auth provider type identifier
2125
- * @example "cloudflare-access", "okta", "auth0"
2126
- */
2127
- type: string;
2128
- /**
2129
- * Module specifier to import at runtime
2130
- * The module must export an `authenticate` function.
2131
- * @example "@emdash-cms/cloudflare/auth"
2132
- */
2133
- entrypoint: string;
2134
- /**
2135
- * Provider-specific configuration (JSON-serializable)
2136
- */
2137
- config: unknown;
2138
- }
2139
- /**
2140
- * Auth provider module interface
2141
2030
  *
2142
- * Modules specified by AuthDescriptor.entrypoint must export
2143
- * an `authenticate` function matching this signature.
2031
+ * Sandboxed-format plugins do not use `definePlugin`. They
2032
+ * default-export a bare `{ hooks?, routes? }` object with a
2033
+ * `satisfies SandboxedPlugin` annotation from `emdash/plugin`. Calling
2034
+ * `definePlugin` with an object that has no `id` throws at runtime
2035
+ * (the type system already rejects it at compile time — this check is
2036
+ * for callers that bypass typechecking).
2144
2037
  */
2145
- interface AuthProviderModule {
2146
- /**
2147
- * Authenticate a request using the provider
2148
- *
2149
- * @param request - The incoming HTTP request
2150
- * @param config - Provider-specific configuration from AuthDescriptor
2151
- * @returns Authentication result if valid, throws if invalid
2152
- */
2153
- authenticate(request: Request, config: unknown): Promise<AuthResult>;
2154
- }
2155
- /**
2156
- * Descriptor for a pluggable auth provider.
2157
- *
2158
- * Auth providers appear as login options on the login page and setup wizard.
2159
- * They coexist with passkey (which is built-in) and with each other.
2160
- * Any provider can be used to create the initial admin account.
2161
- *
2162
- * @example
2163
- * ```ts
2164
- * // astro.config.ts
2165
- * import { atproto } from "@emdash-cms/auth-atproto";
2166
- *
2167
- * emdash({
2168
- * authProviders: [atproto(), github(), google()],
2169
- * })
2170
- * ```
2171
- */
2172
- interface AuthProviderDescriptor {
2173
- /** Unique provider ID (e.g., "github", "atproto") */
2174
- id: string;
2175
- /** Human-readable label for UI (e.g., "GitHub", "AT Protocol") */
2176
- label: string;
2177
- /** Provider-specific config (JSON-serializable) */
2178
- config?: unknown;
2179
- /**
2180
- * Module exporting React components for the admin UI.
2181
- * Statically imported at build time via virtual module.
2182
- *
2183
- * The module should export components matching `AuthProviderAdminExports`.
2184
- */
2185
- adminEntry?: string;
2186
- /**
2187
- * Astro route handlers this provider needs injected at build time.
2188
- * Used for login initiation, OAuth callbacks, well-known endpoints, etc.
2189
- */
2190
- routes?: AuthRouteDescriptor[];
2191
- /**
2192
- * URL prefixes/paths that should bypass auth middleware.
2193
- * Added to the public routes set so login/callback endpoints work
2194
- * for unauthenticated users.
2195
- */
2196
- publicRoutes?: string[];
2197
- /**
2198
- * Storage collections for persistent auth state (e.g., OAuth sessions).
2199
- * Same format as plugin storage — collections are stored in the shared
2200
- * `_plugin_storage` table namespaced under `auth:<providerId>`.
2201
- *
2202
- * Access via `getAuthProviderStorage()` from `emdash/api/route-utils`.
2203
- */
2204
- storage?: Record<string, {
2205
- indexes?: Array<string | string[]>;
2206
- uniqueIndexes?: Array<string | string[]>;
2207
- }>;
2208
- }
2209
- /**
2210
- * A route that an auth provider needs injected into the Astro app.
2211
- */
2212
- interface AuthRouteDescriptor {
2213
- /** URL pattern (e.g., "/_emdash/api/auth/atproto/login") */
2214
- pattern: string;
2215
- /** Module specifier for the Astro route handler */
2216
- entrypoint: string;
2217
- }
2218
- /**
2219
- * Expected exports from an auth provider's `adminEntry` module.
2220
- *
2221
- * All exports are optional. Providers export whichever components
2222
- * make sense for their auth flow.
2223
- */
2224
- interface AuthProviderAdminExports {
2225
- /**
2226
- * Compact button for the login page (icon + label).
2227
- * Used for providers with a simple redirect flow (GitHub, Google).
2228
- * Rendered in the "Or continue with" section.
2229
- */
2230
- LoginButton?: react.ComponentType;
2231
- /**
2232
- * Full login form for providers that need custom input.
2233
- * Used for providers like AT Protocol that need a handle field.
2234
- * Rendered as an expandable section on the login page.
2235
- */
2236
- LoginForm?: react.ComponentType;
2237
- /**
2238
- * Setup wizard step for creating the admin account via this provider.
2239
- * When present, this provider appears as an option in the setup wizard's
2240
- * "Create admin account" step.
2241
- */
2242
- SetupStep?: react.ComponentType<{
2243
- onComplete: () => void;
2244
- }>;
2245
- }
2246
- /**
2247
- * Configuration options common to external auth providers
2248
- */
2249
- interface ExternalAuthConfig {
2250
- /**
2251
- * Automatically create EmDash users on first login
2252
- * @default true
2253
- */
2254
- autoProvision?: boolean;
2255
- /**
2256
- * Role level for users not matching any group in roleMapping
2257
- * @default 30 (Editor)
2258
- */
2259
- defaultRole?: number;
2260
- /**
2261
- * Update user's role on each login based on current IdP groups
2262
- * When false, role is only set on first provisioning
2263
- * @default false
2264
- */
2265
- syncRoles?: boolean;
2266
- /**
2267
- * Map IdP group names to EmDash role levels
2268
- * First match wins if user is in multiple groups
2269
- *
2270
- * @example
2271
- * ```ts
2272
- * roleMapping: {
2273
- * "Admins": 50, // Admin
2274
- * "Developers": 40, // Developer
2275
- * "Content Team": 30, // Editor
2276
- * }
2277
- * ```
2278
- */
2279
- roleMapping?: Record<string, number>;
2280
- }
2038
+ declare function definePlugin<TStorage extends PluginStorageConfig>(definition: PluginDefinition<TStorage>): ResolvedPlugin<TStorage>;
2281
2039
  //#endregion
2282
2040
  //#region src/astro/storage/types.d.ts
2283
2041
  /**
@@ -2560,6 +2318,10 @@ interface EmDashConfig {
2560
2318
  * Must be an HTTPS URL in production, or localhost/127.0.0.1 in dev.
2561
2319
  * Requires `sandboxRunner` to be configured (marketplace plugins run sandboxed).
2562
2320
  *
2321
+ * When `registry` is also configured, the registry replaces the marketplace
2322
+ * for the admin UI's browse and install flows. Existing marketplace-installed
2323
+ * plugins continue to work; new installs and updates come from the registry.
2324
+ *
2563
2325
  * @example
2564
2326
  * ```ts
2565
2327
  * emdash({
@@ -2569,6 +2331,27 @@ interface EmDashConfig {
2569
2331
  * ```
2570
2332
  */
2571
2333
  marketplace?: string;
2334
+ /**
2335
+ * Experimental features.
2336
+ *
2337
+ * These options are not yet stable. Shape, defaults, and behavior may
2338
+ * change between minor versions. Use only if you're comfortable
2339
+ * tracking the release notes and updating your config when an
2340
+ * experimental feature graduates or changes.
2341
+ *
2342
+ * @example
2343
+ * ```ts
2344
+ * emdash({
2345
+ * experimental: {
2346
+ * registry: {
2347
+ * aggregatorUrl: "https://registry.emdashcms.com",
2348
+ * },
2349
+ * },
2350
+ * sandboxRunner: "@emdash-cms/sandbox-cloudflare",
2351
+ * })
2352
+ * ```
2353
+ */
2354
+ experimental?: ExperimentalConfig;
2572
2355
  /**
2573
2356
  * Maximum allowed media file upload size in bytes.
2574
2357
  *
@@ -2752,9 +2535,6 @@ interface EmDashConfig {
2752
2535
  * This is set by the virtual module at build time
2753
2536
  */
2754
2537
  declare function getStoredConfig(): EmDashConfig | null;
2755
- declare global {
2756
- var __emdashConfig: EmDashConfig | undefined;
2757
- } //# sourceMappingURL=runtime.d.ts.map
2758
2538
  //#endregion
2759
2539
  //#region src/plugins/manifest-schema.d.ts
2760
2540
  /**
@@ -2916,17 +2696,17 @@ declare const pluginManifestSchema: z$1.ZodObject<{
2916
2696
  string: "string";
2917
2697
  number: "number";
2918
2698
  boolean: "boolean";
2699
+ slug: "slug";
2919
2700
  file: "file";
2920
- select: "select";
2701
+ image: "image";
2702
+ datetime: "datetime";
2921
2703
  text: "text";
2922
2704
  integer: "integer";
2923
- datetime: "datetime";
2705
+ select: "select";
2924
2706
  multiSelect: "multiSelect";
2925
2707
  portableText: "portableText";
2926
- image: "image";
2927
2708
  reference: "reference";
2928
2709
  json: "json";
2929
- slug: "slug";
2930
2710
  repeater: "repeater";
2931
2711
  }>>;
2932
2712
  elements: z$1.ZodOptional<z$1.ZodArray<z$1.ZodObject<{
@@ -3628,7 +3408,7 @@ declare class NoopSandboxRunner implements SandboxRunner {
3628
3408
  /**
3629
3409
  * Always throws - can't load sandboxed plugins without isolation.
3630
3410
  */
3631
- load(_manifest: PluginManifest, _code: string): Promise<SandboxedPlugin>;
3411
+ load(_manifest: PluginManifest, _code: string): Promise<SandboxedPluginInstance>;
3632
3412
  /**
3633
3413
  * No-op - sandboxing not available, email callback is irrelevant.
3634
3414
  */
@@ -3644,419 +3424,6 @@ declare class NoopSandboxRunner implements SandboxRunner {
3644
3424
  */
3645
3425
  declare function createNoopSandboxRunner(_options?: SandboxOptions): SandboxRunner;
3646
3426
  //#endregion
3647
- //#region src/import/types.d.ts
3648
- /** Author info from WordPress */
3649
- interface WpAuthorInfo {
3650
- id?: number;
3651
- login?: string;
3652
- email?: string;
3653
- displayName?: string;
3654
- postCount: number;
3655
- }
3656
- /** File-based input (WXR upload) */
3657
- interface FileInput {
3658
- type: "file";
3659
- file: File;
3660
- }
3661
- /** URL-based input (REST API probe) */
3662
- interface UrlInput {
3663
- type: "url";
3664
- url: string;
3665
- /** Optional auth token for authenticated requests */
3666
- token?: string;
3667
- }
3668
- /** OAuth-based input (WordPress.com) */
3669
- interface OAuthInput {
3670
- type: "oauth";
3671
- url: string;
3672
- accessToken: string;
3673
- /** Site ID for WordPress.com */
3674
- siteId?: string;
3675
- }
3676
- type SourceInput = FileInput | UrlInput | OAuthInput;
3677
- /** Auth requirements for an import source */
3678
- interface SourceAuth {
3679
- type: "oauth" | "token" | "password" | "none";
3680
- /** OAuth provider identifier */
3681
- provider?: string;
3682
- /** OAuth authorization URL */
3683
- oauthUrl?: string;
3684
- /** Human-readable instructions */
3685
- instructions?: string;
3686
- }
3687
- /** What the source can provide */
3688
- interface SourceCapabilities {
3689
- /** Can fetch published content without auth */
3690
- publicContent: boolean;
3691
- /** Can fetch drafts/private (may need auth) */
3692
- privateContent: boolean;
3693
- /** Can fetch all custom post types */
3694
- customPostTypes: boolean;
3695
- /** Can fetch all meta fields */
3696
- allMeta: boolean;
3697
- /** Can stream media directly */
3698
- mediaStream: boolean;
3699
- }
3700
- /** Suggested next action after probe */
3701
- type SuggestedAction = {
3702
- type: "proceed";
3703
- } | {
3704
- type: "oauth";
3705
- url: string;
3706
- provider: string;
3707
- } | {
3708
- type: "upload";
3709
- instructions: string;
3710
- } | {
3711
- type: "install-plugin";
3712
- instructions: string;
3713
- };
3714
- /** Detected i18n/multilingual plugin info */
3715
- interface I18nDetection {
3716
- /** Multilingual plugin name (e.g. "wpml", "polylang") */
3717
- plugin: string;
3718
- /** BCP 47 default locale */
3719
- defaultLocale: string;
3720
- /** All configured locales */
3721
- locales: string[];
3722
- }
3723
- /** Result of probing a URL for a specific source */
3724
- interface SourceProbeResult {
3725
- /** Which source can handle this */
3726
- sourceId: string;
3727
- /** Confidence level */
3728
- confidence: "definite" | "likely" | "possible";
3729
- /** What we detected */
3730
- detected: {
3731
- platform: string;
3732
- version?: string;
3733
- siteTitle?: string;
3734
- siteUrl?: string;
3735
- };
3736
- /** What capabilities are available */
3737
- capabilities: SourceCapabilities;
3738
- /** What auth is needed, if any */
3739
- auth?: SourceAuth;
3740
- /** Suggested next step */
3741
- suggestedAction: SuggestedAction;
3742
- /** Preview data if available (e.g., post counts from REST API) */
3743
- preview?: {
3744
- posts?: number;
3745
- pages?: number;
3746
- media?: number;
3747
- };
3748
- /** Detected multilingual plugin. Absent when none detected. */
3749
- i18n?: I18nDetection;
3750
- }
3751
- /** Combined probe result from all sources */
3752
- interface ProbeResult {
3753
- url: string;
3754
- isWordPress: boolean;
3755
- /** Best matching source (highest confidence) */
3756
- bestMatch: SourceProbeResult | null;
3757
- /** All matching sources */
3758
- allMatches: SourceProbeResult[];
3759
- }
3760
- /** Field definition for import */
3761
- interface ImportFieldDef {
3762
- slug: string;
3763
- label: string;
3764
- type: string;
3765
- required: boolean;
3766
- searchable?: boolean;
3767
- }
3768
- /** Field compatibility with existing schema */
3769
- type FieldCompatibility = "compatible" | "type_mismatch" | "missing";
3770
- /** Schema status for a collection */
3771
- interface CollectionSchemaStatus {
3772
- exists: boolean;
3773
- fieldStatus: Record<string, {
3774
- status: FieldCompatibility;
3775
- existingType?: string;
3776
- requiredType: string;
3777
- }>;
3778
- canImport: boolean;
3779
- reason?: string;
3780
- }
3781
- /** Analysis of a single post type */
3782
- interface PostTypeAnalysis {
3783
- name: string;
3784
- count: number;
3785
- suggestedCollection: string;
3786
- requiredFields: ImportFieldDef[];
3787
- schemaStatus: CollectionSchemaStatus;
3788
- }
3789
- /** Attachment/media info */
3790
- interface AttachmentInfo {
3791
- id?: number;
3792
- title?: string;
3793
- url?: string;
3794
- filename?: string;
3795
- mimeType?: string;
3796
- alt?: string;
3797
- caption?: string;
3798
- width?: number;
3799
- height?: number;
3800
- }
3801
- /** Navigation menu analysis */
3802
- interface NavMenuAnalysis {
3803
- /** Menu name/slug */
3804
- name: string;
3805
- /** Menu display label */
3806
- label: string;
3807
- /** Number of items in this menu */
3808
- itemCount: number;
3809
- }
3810
- /** Custom taxonomy analysis */
3811
- interface TaxonomyAnalysis {
3812
- /** Taxonomy slug (e.g., 'genre', 'portfolio_category') */
3813
- slug: string;
3814
- /** Number of terms in this taxonomy */
3815
- termCount: number;
3816
- /** Sample term names */
3817
- sampleTerms: string[];
3818
- }
3819
- /** Reusable block analysis (wp_block post type) */
3820
- interface ReusableBlockAnalysis {
3821
- /** Original WP ID */
3822
- id: number;
3823
- /** Block title */
3824
- title: string;
3825
- /** Block slug */
3826
- slug: string;
3827
- }
3828
- /** Normalized analysis result - same format for all sources */
3829
- interface ImportAnalysis {
3830
- /** Source that produced this analysis */
3831
- sourceId: string;
3832
- site: {
3833
- title: string;
3834
- url: string;
3835
- };
3836
- postTypes: PostTypeAnalysis[];
3837
- attachments: {
3838
- count: number;
3839
- items: AttachmentInfo[];
3840
- };
3841
- categories: number;
3842
- tags: number;
3843
- authors: WpAuthorInfo[];
3844
- /** Navigation menus found in the export */
3845
- navMenus?: NavMenuAnalysis[];
3846
- /** Custom taxonomies (beyond categories/tags) */
3847
- customTaxonomies?: TaxonomyAnalysis[];
3848
- /** Reusable blocks (wp_block post type) - will be imported as sections */
3849
- reusableBlocks?: ReusableBlockAnalysis[];
3850
- /** Source-specific custom fields analysis */
3851
- customFields?: Array<{
3852
- key: string;
3853
- count: number;
3854
- samples: string[];
3855
- suggestedField: string;
3856
- suggestedType: "string" | "number" | "boolean" | "date" | "json";
3857
- isInternal: boolean;
3858
- }>;
3859
- /** Detected multilingual plugin. Absent when none detected. */
3860
- i18n?: I18nDetection;
3861
- }
3862
- /** Normalized content item - produced by all sources */
3863
- interface NormalizedItem {
3864
- /** Original ID from source */
3865
- sourceId: string | number;
3866
- /** WordPress post type */
3867
- postType: string;
3868
- /** Content status */
3869
- status: "publish" | "draft" | "pending" | "private" | "future";
3870
- /** URL slug */
3871
- slug: string;
3872
- /** Title */
3873
- title: string;
3874
- /** Content as Portable Text (already converted) */
3875
- content: PortableTextBlock[];
3876
- /** Excerpt/summary */
3877
- excerpt?: string;
3878
- /** Publication date */
3879
- date: Date;
3880
- /** Last modified date */
3881
- modified?: Date;
3882
- /** Author identifier */
3883
- author?: string;
3884
- /** Category slugs */
3885
- categories?: string[];
3886
- /** Tag slugs */
3887
- tags?: string[];
3888
- /** Custom meta fields */
3889
- meta?: Record<string, unknown>;
3890
- /** Featured image URL */
3891
- featuredImage?: string;
3892
- /** Parent post ID (for hierarchical content like pages) */
3893
- parentId?: string | number;
3894
- /** Menu order for sorting */
3895
- menuOrder?: number;
3896
- /** Custom taxonomy assignments beyond categories/tags */
3897
- customTaxonomies?: Record<string, string[]>;
3898
- /** BCP 47 locale code. When omitted, defaults to defaultLocale. */
3899
- locale?: string;
3900
- /**
3901
- * Source-side translation group ID (opaque string from the origin system).
3902
- * Items sharing the same translationGroup are linked as translations.
3903
- * Resolved to an EmDash translation_group ULID during execute.
3904
- */
3905
- translationGroup?: string;
3906
- }
3907
- /** Post type mapping configuration */
3908
- interface PostTypeMapping {
3909
- enabled: boolean;
3910
- collection: string;
3911
- }
3912
- /** Import configuration */
3913
- interface ImportConfig {
3914
- postTypeMappings: Record<string, PostTypeMapping>;
3915
- skipExisting?: boolean;
3916
- }
3917
- /** Options for fetching content */
3918
- interface FetchOptions {
3919
- /** Post types to fetch */
3920
- postTypes: string[];
3921
- /** Whether to include drafts */
3922
- includeDrafts?: boolean;
3923
- /** Limit number of items (for testing) */
3924
- limit?: number;
3925
- }
3926
- /** Import result */
3927
- interface ImportResult {
3928
- success: boolean;
3929
- imported: number;
3930
- skipped: number;
3931
- errors: Array<{
3932
- title: string;
3933
- error: string;
3934
- }>;
3935
- byCollection: Record<string, number>;
3936
- }
3937
- /**
3938
- * An import source provides content from an external system.
3939
- * All sources produce the same normalized analysis and content format.
3940
- */
3941
- interface ImportSource {
3942
- /** Unique identifier */
3943
- id: string;
3944
- /** Display name */
3945
- name: string;
3946
- /** Description for UI */
3947
- description: string;
3948
- /** Icon identifier */
3949
- icon: "upload" | "globe" | "wordpress" | "plug";
3950
- /** Whether this source requires a file upload */
3951
- requiresFile?: boolean;
3952
- /** Whether this source can probe URLs */
3953
- canProbe?: boolean;
3954
- /**
3955
- * Probe a URL to see if this source can handle it.
3956
- * Returns null if not applicable.
3957
- */
3958
- probe?(url: string): Promise<SourceProbeResult | null>;
3959
- /**
3960
- * Analyze content from this source.
3961
- * Returns normalized ImportAnalysis.
3962
- */
3963
- analyze(input: SourceInput, context: ImportContext): Promise<ImportAnalysis>;
3964
- /**
3965
- * Stream content items for import.
3966
- * Yields normalized content items.
3967
- */
3968
- fetchContent(input: SourceInput, options: FetchOptions): AsyncGenerator<NormalizedItem>;
3969
- /**
3970
- * Fetch a media item's data.
3971
- * Used for media import.
3972
- */
3973
- fetchMedia?(url: string, input: SourceInput): Promise<Blob>;
3974
- }
3975
- /** Context passed to import sources */
3976
- interface ImportContext {
3977
- /** Database connection for schema checks */
3978
- db?: unknown;
3979
- /** Function to check existing collections */
3980
- getExistingCollections?: () => Promise<Map<string, {
3981
- slug: string;
3982
- fields: Map<string, {
3983
- type: string;
3984
- }>;
3985
- }>>;
3986
- }
3987
- //#endregion
3988
- //#region src/import/sections.d.ts
3989
- /**
3990
- * Result of sections import operation
3991
- */
3992
- interface SectionsImportResult {
3993
- /** Number of sections created */
3994
- sectionsCreated: number;
3995
- /** Number of sections skipped (already exist) */
3996
- sectionsSkipped: number;
3997
- /** Errors encountered during import */
3998
- errors: Array<{
3999
- title: string;
4000
- error: string;
4001
- }>;
4002
- }
4003
- /**
4004
- * Import reusable blocks (wp_block post type) from WXR as sections
4005
- *
4006
- * @param posts - All posts from WXR (will filter to wp_block)
4007
- * @param db - Database connection
4008
- * @returns Import result with counts
4009
- */
4010
- declare function importReusableBlocksAsSections(posts: WxrPost[], db: Kysely<Database>): Promise<SectionsImportResult>;
4011
- //#endregion
4012
- //#region src/import/registry.d.ts
4013
- /**
4014
- * Register an import source
4015
- */
4016
- declare function registerSource(source: ImportSource): void;
4017
- /**
4018
- * Get a source by ID
4019
- */
4020
- declare function getSource(id: string): ImportSource | undefined;
4021
- /**
4022
- * Get all registered sources
4023
- */
4024
- declare function getAllSources(): ImportSource[];
4025
- /**
4026
- * Get sources that can handle file uploads
4027
- */
4028
- declare function getFileSources(): ImportSource[];
4029
- /**
4030
- * Get sources that can probe URLs
4031
- */
4032
- declare function getUrlSources(): ImportSource[];
4033
- /**
4034
- * Probe a URL against all registered sources
4035
- *
4036
- * Returns probe results sorted by confidence (definite > likely > possible)
4037
- */
4038
- declare function probeUrl(url: string): Promise<ProbeResult>;
4039
- /**
4040
- * Clear all registered sources (useful for testing)
4041
- */
4042
- declare function clearSources(): void;
4043
- //#endregion
4044
- //#region src/import/sources/wxr.d.ts
4045
- declare const wxrSource: ImportSource;
4046
- /**
4047
- * Parse a WXR date with the correct fallback chain:
4048
- * 1. GMT date (always UTC, most reliable)
4049
- * 2. pubDate (RFC 2822, includes timezone offset)
4050
- * 3. Site-local date (MySQL datetime without timezone, imprecise but best available)
4051
- *
4052
- * Returns undefined when none of the inputs yield a valid date.
4053
- * Callers that need a guaranteed Date should use `?? new Date()`.
4054
- */
4055
- declare function parseWxrDate(gmtDate: string | undefined, pubDate: string | undefined, localDate: string | undefined): Date | undefined;
4056
- //#endregion
4057
- //#region src/import/sources/wordpress-rest.d.ts
4058
- declare const wordpressRestSource: ImportSource;
4059
- //#endregion
4060
3427
  //#region src/preview/tokens.d.ts
4061
3428
  /**
4062
3429
  * Preview token generation and verification
@@ -4646,7 +4013,7 @@ interface Widget {
4646
4013
  id: string;
4647
4014
  type: WidgetType;
4648
4015
  title?: string;
4649
- content?: PortableTextBlock$2[];
4016
+ content?: PortableTextBlock$1[];
4650
4017
  menuName?: string;
4651
4018
  componentId?: string;
4652
4019
  componentProps?: Record<string, unknown>;
@@ -4681,7 +4048,7 @@ interface CreateWidgetAreaInput {
4681
4048
  interface CreateWidgetInput {
4682
4049
  type: WidgetType;
4683
4050
  title?: string;
4684
- content?: PortableTextBlock$2[];
4051
+ content?: PortableTextBlock$1[];
4685
4052
  menuName?: string;
4686
4053
  componentId?: string;
4687
4054
  componentProps?: Record<string, unknown>;
@@ -4863,6 +4230,32 @@ declare class FTSManager {
4863
4230
  * `deleted_at IS NULL`. This keeps soft-deleted content out of the
4864
4231
  * search index and ensures the FTS row count matches the non-deleted
4865
4232
  * content count (which `verifyAndRepairIndex` relies on).
4233
+ *
4234
+ * IMPORTANT: The FTS5 virtual table is created with `content='ec_<slug>'`
4235
+ * which makes it an *external content* FTS5 table. For external-content
4236
+ * tables, removing a row must use the documented `'delete'` command and
4237
+ * supply the OLD column values explicitly, e.g.:
4238
+ *
4239
+ * INSERT INTO fts(fts, rowid, col1, col2)
4240
+ * VALUES('delete', OLD.rowid, OLD.col1, OLD.col2);
4241
+ *
4242
+ * Using `DELETE FROM fts WHERE rowid = OLD.rowid` is the correct form
4243
+ * for *contentless* tables but is unsafe for external-content tables:
4244
+ * FTS5 then reads column values from the backing content table, which
4245
+ * in an AFTER UPDATE trigger already holds the NEW values. The wrong
4246
+ * tokens get removed and the inverted index drifts out of sync until
4247
+ * SQLite raises `SQLITE_CORRUPT_VTAB` on the next mutation. See
4248
+ * https://www.sqlite.org/fts5.html#external_content_tables.
4249
+ *
4250
+ * The UPDATE and DELETE triggers gate the `'delete'` on
4251
+ * `OLD.deleted_at IS NULL` because the INSERT trigger never indexed
4252
+ * rows that were already soft-deleted. Issuing `'delete'` for a rowid
4253
+ * that was never inserted into the FTS index is itself a corruption
4254
+ * trigger -- FTS5's `'delete'` is not a no-op on missing rowids and
4255
+ * raises `SQLITE_CORRUPT_VTAB`. Affected paths include restore-from-
4256
+ * trash (UPDATE where `OLD.deleted_at IS NOT NULL`), permanent-delete
4257
+ * from trash (DELETE on a soft-deleted row), and any edit on a row
4258
+ * that's currently in the trash.
4866
4259
  */
4867
4260
  private createTriggers;
4868
4261
  /**
@@ -4920,9 +4313,15 @@ declare class FTSManager {
4920
4313
  lastRebuilt?: string;
4921
4314
  } | null>;
4922
4315
  /**
4923
- * Verify FTS index integrity and rebuild if corrupted.
4316
+ * Verify FTS index integrity and rebuild if drift is detected.
4317
+ *
4318
+ * Cheap belt-and-braces check, run lazily on the first search request
4319
+ * per isolate. The expensive cases (corrupted indexes from pre-fix
4320
+ * EmDash versions, broken legacy triggers) are handled at boot time by
4321
+ * migration `039_fix_fts5_triggers`, not here. This routine sticks to:
4924
4322
  *
4925
- * Checks for row count mismatch between content table and FTS table.
4323
+ * 1. FTS table missing while config says search is enabled -> rebuild.
4324
+ * 2. Row count mismatch between content table and FTS docsize -> rebuild.
4926
4325
  *
4927
4326
  * Returns true if the index was rebuilt, false if it was healthy.
4928
4327
  */
@@ -5022,7 +4421,7 @@ declare function getSearchStats(db: Kysely<Database>): Promise<SearchStats>;
5022
4421
  * // Returns: "Hello World"
5023
4422
  * ```
5024
4423
  */
5025
- declare function extractPlainText(blocks: PortableTextBlock$1[] | string | null | undefined): string;
4424
+ declare function extractPlainText(blocks: PortableTextBlock[] | string | null | undefined): string;
5026
4425
  /**
5027
4426
  * Extract searchable text from a content entry
5028
4427
  *
@@ -5034,5 +4433,5 @@ declare function extractPlainText(blocks: PortableTextBlock$1[] | string | null
5034
4433
  */
5035
4434
  declare function extractSearchableFields(entry: Record<string, unknown>, fields: string[]): Record<string, string>;
5036
4435
  //#endregion
5037
- export { UpdateMenuInput as $, EntryResult as $n, handleMediaList as $r, SuggestedAction as $t, getEntriesByTerm as A, ListResponse as Ai, WxrData as An, ProseMirrorNode as Ar, probeUrl as At, TaxonomyTerm as B, PortableTextBlock$2 as Bi, getDb as Bn, CreateSectionInput as Br, ImportContext as Bt, ReorderWidgetsInput as C, handleContentUnpublish as Ci, AuthResult as Cn, PortableTextLinkMark as Cr, parseWxrDate as Ct, WidgetComponentDef as D, ContentListResponse as Di, WxrAttachment as Dn, PortableTextUnknownBlock as Dr, getFileSources as Dt, WidgetArea as E, ApiContext as Ei, definePlugin as En, PortableTextTextBlock as Er, getAllSources as Et, getTerm as F, image as Fi, parseWxrString as Fn, SandboxRunnerFactory as Fr, FetchOptions as Ft, getMenu as G, DatabaseConfig as Gi, WaitUntilFn as Gn, getCollectionInfo as Gr, OAuthInput as Gt, UpdateTermInput as H, MediaItem as Hi, getFallbackChain as Hn, Section as Hr, ImportResult as Ht, getTermsForEntries as I, FieldDefinition as Ii, CollectionFilter as In, SandboxedPlugin as Ir, FieldCompatibility as It, CreateMenuItemInput as J, CollectionFilter$1 as Jn, MediaListResponse as Jr, ProbeResult as Jt, getMenus as K, EmDashDatabaseError as Ki, after as Kn, SchemaError as Kr, PostTypeAnalysis as Kt, invalidateTermCache as L, FieldUIHints as Li, EntryData as Ln, SerializedRequest as Lr, FileInput as Lt, getTaxonomyDef as M, portableText as Mi, WxrSite as Mn, SandboxEmailSendCallback as Mr, importReusableBlocksAsSections as Mt, getTaxonomyDefs as N, reference as Ni, WxrTag as Nn, SandboxOptions as Nr, AttachmentInfo as Nt, WidgetType as O, ContentResponse as Oi, WxrAuthor as On, ProseMirrorDocument as Or, getSource as Ot, getTaxonomyTerms as P, file as Pi, parseWxr as Pn, SandboxRunner as Pr, CollectionSchemaStatus as Pt, ReorderMenuItemsInput as Q, EmDashCollections as Qn, handleMediaGet as Qr, SourceProbeResult as Qt, CreateTermInput as R, FileValue as Ri, EntryFilter as Rn, getSection as Rr, ImportAnalysis as Rt, PropDef as S, handleContentTranslations as Si, AuthProviderModule as Sn, PortableTextImageBlock as Sr, wordpressRestSource as St, Widget as T, handleContentUpdate as Ti, ExternalAuthConfig as Tn, PortableTextSpan as Tr, clearSources as Tt, getByline as U, MediaRepository as Ui, getI18nConfig as Un, SectionSource as Ur, ImportSource as Ut, TaxonomyTermRow as V, CreateMediaInput as Vi, I18nConfig as Vn, GetSectionsOptions as Vr, ImportFieldDef as Vt, getBylineBySlug as W, ContentRepository as Wi, isI18nEnabled as Wn, UpdateSectionInput as Wr, NormalizedItem as Wt, MenuItem as X, ContentEntry as Xn, handleMediaCreate as Xr, SourceCapabilities as Xt, Menu as Y, CollectionResult as Yn, MediaResponse as Yr, SourceAuth as Yt, MenuItemType as Z, EditFieldMeta as Zn, handleMediaDelete as Zr, SourceInput as Zt, getWidgetArea as _, handleContentListTrashed as _i, S3StorageConfig as _n, computeContentHash as _r, VerifyPreviewTokenOptions as _t, search as a, handleRevisionRestore as ai, createPluginManager as an, getEmDashCollection as ar, getPluginSetting as at, CreateWidgetAreaInput as b, handleContentRestore as bi, AuthProviderAdminExports as bn, prosemirrorToPortableText as br, parseContentId as bt, FTSManager as c, handleContentCountScheduled as ci, HookPipeline as cn, resolveEmDashPath as cr, getSiteSettings as ct, SearchOptions as d, handleContentDelete as di, ValidatedPluginManifest as dn, FieldAnnotation as dr, isPreviewRequest as dt, handleMediaUpdate as ei, UrlInput as en, InferCollectionData as er, UpdateMenuItemInput as et, SearchResponse as f, handleContentDiscardDraft as fi, pluginManifestSchema as fn, createEditable as fr, GetPreviewUrlOptions as ft, Suggestion as g, handleContentList as gi, LocalStorageConfig as gn, sanitizeHref as gr, PreviewTokenPayload as gt, SuggestOptions as h, handleContentGetIncludingTrashed as hi, getStoredConfig as hn, isSafeHref as hr, GeneratePreviewTokenOptions as ht, getSuggestions as i, handleRevisionList as ii, PluginManager as in, getEditMeta as ir, getComments as it, getEntryTerms as j, ManifestResponse as ji, WxrPost as jn, SandboxEmailMessage as jr, registerSource as jt, getAllTermsForEntries as k, FieldDescriptor as ki, WxrCategory as kn, ProseMirrorMark as kr, getUrlSources as kt, CollectionSearchOptions as l, handleContentCountTrashed as li, HookResult as ln, CMSAnnotation as lr, setSiteSettings as lt, SearchStats as m, handleContentGet as mi, PluginDescriptor as mn, decodeSlug as mr, getPreviewUrl as mt, extractSearchableFields as n, RevisionResponse as ni, SandboxNotAvailableError as nn, TranslationSummary as nr, GetCommentsResult as nt, searchCollection as o, generateManifest as oi, PluginRouteError as on, getEmDashEntry as or, getPluginSettings as ot, SearchResult as p, handleContentDuplicate as pi, EmDashConfig as pn, createNoop as pr, buildPreviewUrl as pt, CreateMenuInput as q, CacheHint as qn, SchemaRegistry as qr, PostTypeMapping as qt, getSearchStats as r, handleRevisionGet as ri, createNoopSandboxRunner as rn, TranslationsResult as rr, getCommentCount as rt, searchWithDb as s, handleContentCompare as si, EmailPipeline as sn, getTranslations as sr, getSiteSetting as st, extractPlainText as t, RevisionListResponse as ti, NoopSandboxRunner as tn, ResolvePathResult as tr, GetCommentsOptions as tt, SearchConfig as u, handleContentCreate as ui, createHookPipeline as un, EditProxy as ur, getPreviewToken as ut, getWidgetAreas as v, handleContentPermanentDelete as vi, StorageDescriptor as vn, hashString as vr, VerifyPreviewTokenResult as vt, UpdateWidgetInput as w, handleContentUnschedule as wi, AuthRouteDescriptor as wn, PortableTextMarkDef as wr, wxrSource as wt, CreateWidgetInput as x, handleContentSchedule as xi, AuthProviderDescriptor as xn, PortableTextCodeBlock as xr, verifyPreviewToken as xt, getWidgetComponents as y, handleContentPublish as yi, AuthDescriptor as yn, portableTextToProsemirror as yr, generatePreviewToken as yt, TaxonomyDef as z, ImageValue as zi, emdashLoader as zn, getSections as zr, ImportConfig as zt };
5038
- //# sourceMappingURL=index-Dlkzhb4C.d.mts.map
4436
+ export { UpdateMenuInput as $, MediaResponse as $n, CollectionFilter$1 as $t, getEntriesByTerm as A, PortableTextTextBlock as An, portableText as Ar, HookResult as At, TaxonomyTerm as B, SandboxedPluginInstance as Bn, MediaItem as Br, definePlugin as Bt, ReorderWidgetsInput as C, portableTextToProsemirror as Cn, handleContentPublish as Cr, SandboxNotAvailableError as Ct, WidgetComponentDef as D, PortableTextLinkMark as Dn, handleContentUnpublish as Dr, PluginRouteError as Dt, WidgetArea as E, PortableTextImageBlock as En, handleContentTranslations as Er, createPluginManager as Et, getTerm as F, SandboxEmailMessage as Fn, FieldUIHints as Fr, PluginDescriptor as Ft, getMenu as G, GetSectionsOptions as Gn, getDb as Gt, UpdateTermInput as H, getSection as Hn, ContentRepository as Hr, EntryData as Ht, getTermsForEntries as I, SandboxEmailSendCallback as In, FileValue as Ir, getStoredConfig as It, CreateMenuItemInput as J, UpdateSectionInput as Jn, getI18nConfig as Jt, getMenus as K, Section as Kn, I18nConfig as Kt, invalidateTermCache as L, SandboxOptions as Ln, ImageValue as Lr, LocalStorageConfig as Lt, getTaxonomyDef as M, ProseMirrorDocument as Mn, file as Mr, ValidatedPluginManifest as Mt, getTaxonomyDefs as N, ProseMirrorMark as Nn, image as Nr, pluginManifestSchema as Nt, WidgetType as O, PortableTextMarkDef as On, handleContentUnschedule as Or, EmailPipeline as Ot, getTaxonomyTerms as P, ProseMirrorNode as Pn, FieldDefinition as Pr, EmDashConfig as Pt, ReorderMenuItemsInput as Q, MediaListResponse as Qn, CacheHint as Qt, CreateTermInput as R, SandboxRunner as Rn, PortableTextBlock$1 as Rr, S3StorageConfig as Rt, PropDef as S, hashString as Sn, handleContentPermanentDelete as Sr, NoopSandboxRunner as St, Widget as T, PortableTextCodeBlock as Tn, handleContentSchedule as Tr, PluginManager as Tt, getByline as U, getSections as Un, DatabaseConfig as Ur, EntryFilter as Ut, TaxonomyTermRow as V, SerializedRequest as Vn, MediaRepository as Vr, CollectionFilter as Vt, getBylineBySlug as W, CreateSectionInput as Wn, EmDashDatabaseError as Wr, emdashLoader as Wt, MenuItem as X, SchemaError as Xn, WaitUntilFn as Xt, Menu as Y, getCollectionInfo as Yn, isI18nEnabled as Yt, MenuItemType as Z, SchemaRegistry as Zn, after as Zt, getWidgetArea as _, createEditable as _n, handleContentDuplicate as _r, VerifyPreviewTokenOptions as _t, search as a, InferCollectionData as an, RevisionListResponse as ar, getPluginSetting as at, CreateWidgetAreaInput as b, sanitizeHref as bn, handleContentList as br, parseContentId as bt, FTSManager as c, TranslationsResult as cn, handleRevisionList as cr, getSiteSettings as ct, SearchOptions as d, getEmDashEntry as dn, handleContentCompare as dr, isPreviewRequest as dt, CollectionResult as en, handleMediaCreate as er, UpdateMenuItemInput as et, SearchResponse as f, getTranslations as fn, handleContentCountScheduled as fr, GetPreviewUrlOptions as ft, Suggestion as g, FieldAnnotation as gn, handleContentDiscardDraft as gr, PreviewTokenPayload as gt, SuggestOptions as h, EditProxy as hn, handleContentDelete as hr, GeneratePreviewTokenOptions as ht, getSuggestions as i, EntryResult as in, handleMediaUpdate as ir, getComments as it, getEntryTerms as j, PortableTextUnknownBlock as jn, reference as jr, createHookPipeline as jt, getAllTermsForEntries as k, PortableTextSpan as kn, handleContentUpdate as kr, HookPipeline as kt, CollectionSearchOptions as l, getEditMeta as ln, handleRevisionRestore as lr, setSiteSettings as lt, SearchStats as m, CMSAnnotation as mn, handleContentCreate as mr, getPreviewUrl as mt, extractSearchableFields as n, EditFieldMeta as nn, handleMediaGet as nr, GetCommentsResult as nt, searchCollection as o, ResolvePathResult as on, RevisionResponse as or, getPluginSettings as ot, SearchResult as p, resolveEmDashPath as pn, handleContentCountTrashed as pr, buildPreviewUrl as pt, CreateMenuInput as q, SectionSource as qn, getFallbackChain as qt, getSearchStats as r, EmDashCollections as rn, handleMediaList as rr, getCommentCount as rt, searchWithDb as s, TranslationSummary as sn, handleRevisionGet as sr, getSiteSetting as st, extractPlainText as t, ContentEntry as tn, handleMediaDelete as tr, GetCommentsOptions as tt, SearchConfig as u, getEmDashCollection as un, generateManifest as ur, getPreviewToken as ut, getWidgetAreas as v, createNoop as vn, handleContentGet as vr, VerifyPreviewTokenResult as vt, UpdateWidgetInput as w, prosemirrorToPortableText as wn, handleContentRestore as wr, createNoopSandboxRunner as wt, CreateWidgetInput as x, computeContentHash as xn, handleContentListTrashed as xr, verifyPreviewToken as xt, getWidgetComponents as y, isSafeHref as yn, handleContentGetIncludingTrashed as yr, generatePreviewToken as yt, TaxonomyDef as z, SandboxRunnerFactory as zn, CreateMediaInput as zr, StorageDescriptor as zt };
4437
+ //# sourceMappingURL=index-UmOMt9T-.d.mts.map