emdash 0.14.0 → 0.16.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 (650) hide show
  1. package/dist/{adapters-9DybjTO6.d.mts → adapters-C4yd_UJR.d.mts} +1 -1
  2. package/dist/{adapters-9DybjTO6.d.mts.map → adapters-C4yd_UJR.d.mts.map} +1 -1
  3. package/dist/{allowed-origins-CDdG-4Gd.mjs → allowed-origins-D0fFk9a6.mjs} +2 -2
  4. package/dist/{allowed-origins-CDdG-4Gd.mjs.map → allowed-origins-D0fFk9a6.mjs.map} +1 -1
  5. package/dist/api/route-utils.d.mts +3 -3
  6. package/dist/api/route-utils.mjs +15 -15
  7. package/dist/api/schemas/index.d.mts +2 -2
  8. package/dist/api/schemas/index.mjs +3 -3
  9. package/dist/{api-BMLZuwM4.mjs → api-BNKqxyFX.mjs} +560 -56
  10. package/dist/api-BNKqxyFX.mjs.map +1 -0
  11. package/dist/{api-tokens-eYymBhIT.mjs → api-tokens-ucpcNXDt.mjs} +2 -2
  12. package/dist/{api-tokens-eYymBhIT.mjs.map → api-tokens-ucpcNXDt.mjs.map} +1 -1
  13. package/dist/{apply-v4DBgjPw.mjs → apply-BOPaD-s9.mjs} +17 -17
  14. package/dist/{apply-v4DBgjPw.mjs.map → apply-BOPaD-s9.mjs.map} +1 -1
  15. package/dist/astro/index.d.mts +10 -10
  16. package/dist/astro/index.d.mts.map +1 -1
  17. package/dist/astro/index.mjs +53 -5
  18. package/dist/astro/index.mjs.map +1 -1
  19. package/dist/astro/middleware/auth.d.mts +9 -9
  20. package/dist/astro/middleware/auth.mjs +6 -6
  21. package/dist/astro/middleware/auth.mjs.map +1 -1
  22. package/dist/astro/middleware/redirect.mjs +4 -4
  23. package/dist/astro/middleware/request-context.mjs +3 -3
  24. package/dist/astro/middleware/request-context.mjs.map +1 -1
  25. package/dist/astro/middleware/setup.mjs +1 -1
  26. package/dist/astro/middleware.d.mts.map +1 -1
  27. package/dist/astro/middleware.mjs +377 -75
  28. package/dist/astro/middleware.mjs.map +1 -1
  29. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  30. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  31. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  32. package/dist/astro/routes/api/admin/api-tokens/index.mjs +5 -5
  33. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts.map +1 -1
  34. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +14 -17
  35. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  36. package/dist/astro/routes/api/admin/bylines/_id_/translations.d.mts +9 -0
  37. package/dist/astro/routes/api/admin/bylines/_id_/translations.d.mts.map +1 -0
  38. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +70 -0
  39. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -0
  40. package/dist/astro/routes/api/admin/bylines/index.d.mts.map +1 -1
  41. package/dist/astro/routes/api/admin/bylines/index.mjs +25 -16
  42. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  43. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +10 -10
  44. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  45. package/dist/astro/routes/api/admin/comments/bulk.mjs +8 -8
  46. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  47. package/dist/astro/routes/api/admin/comments/index.mjs +8 -8
  48. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +4 -4
  49. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  50. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +4 -4
  51. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +4 -4
  52. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +33 -32
  53. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
  54. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +33 -32
  55. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
  56. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +32 -31
  57. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  58. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +32 -31
  59. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  60. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +34 -32
  61. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  62. package/dist/astro/routes/api/admin/plugins/index.mjs +32 -31
  63. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  64. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +3 -3
  65. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +32 -31
  66. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  67. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +34 -32
  68. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  69. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +32 -31
  70. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  71. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts +8 -0
  72. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.d.mts.map +1 -0
  73. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +59 -0
  74. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -0
  75. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.d.mts +8 -0
  76. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.d.mts.map +1 -0
  77. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +85 -0
  78. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -0
  79. package/dist/astro/routes/api/admin/plugins/registry/artifact.d.mts +8 -0
  80. package/dist/astro/routes/api/admin/plugins/registry/artifact.d.mts.map +1 -0
  81. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +301 -0
  82. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -0
  83. package/dist/astro/routes/api/admin/plugins/registry/install.d.mts.map +1 -1
  84. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +51 -32
  85. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/plugins/updates.d.mts.map +1 -1
  87. package/dist/astro/routes/api/admin/plugins/updates.mjs +45 -32
  88. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  89. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +32 -31
  90. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  91. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +3 -3
  92. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +32 -31
  93. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  94. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
  95. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
  96. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  97. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
  98. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  99. package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -5
  100. package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
  101. package/dist/astro/routes/api/auth/invite/complete.mjs +9 -9
  102. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  103. package/dist/astro/routes/api/auth/invite/register-options.mjs +8 -8
  104. package/dist/astro/routes/api/auth/logout.mjs +3 -3
  105. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  106. package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
  107. package/dist/astro/routes/api/auth/me.mjs +5 -5
  108. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  109. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  110. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs.map +1 -1
  111. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  112. package/dist/astro/routes/api/auth/oauth/_provider_.mjs.map +1 -1
  113. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  114. package/dist/astro/routes/api/auth/passkey/index.mjs +2 -2
  115. package/dist/astro/routes/api/auth/passkey/options.mjs +10 -10
  116. package/dist/astro/routes/api/auth/passkey/register/options.mjs +8 -8
  117. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +9 -9
  118. package/dist/astro/routes/api/auth/passkey/verify.mjs +9 -9
  119. package/dist/astro/routes/api/auth/signup/complete.mjs +9 -9
  120. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  121. package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
  122. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +11 -11
  123. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +3 -3
  124. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +3 -3
  125. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs.map +1 -1
  126. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +3 -3
  127. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs.map +1 -1
  128. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +3 -3
  129. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  130. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +6 -6
  131. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs.map +1 -1
  132. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +3 -3
  133. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs.map +1 -1
  134. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +3 -3
  135. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +6 -6
  136. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs.map +1 -1
  137. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +10 -9
  138. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  139. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +3 -3
  140. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs.map +1 -1
  141. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +3 -3
  142. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs.map +1 -1
  143. package/dist/astro/routes/api/content/_collection_/_id_.mjs +6 -6
  144. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  145. package/dist/astro/routes/api/content/_collection_/index.mjs +6 -6
  146. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  147. package/dist/astro/routes/api/dashboard.mjs +7 -7
  148. package/dist/astro/routes/api/dev/emails.mjs +3 -3
  149. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  150. package/dist/astro/routes/api/import/probe.mjs +10 -10
  151. package/dist/astro/routes/api/import/wordpress/analyze.mjs +3 -3
  152. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -9
  153. package/dist/astro/routes/api/import/wordpress/execute.mjs +9 -8
  154. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  155. package/dist/astro/routes/api/import/wordpress/media.mjs +8 -8
  156. package/dist/astro/routes/api/import/wordpress/prepare.mjs +8 -8
  157. package/dist/astro/routes/api/import/wordpress/prepare.mjs.map +1 -1
  158. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts +11 -1
  159. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.d.mts.map +1 -1
  160. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs +17 -1
  161. package/dist/astro/routes/api/import/wordpress/rewrite-url-helpers.mjs.map +1 -1
  162. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts.map +1 -1
  163. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +9 -9
  164. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs.map +1 -1
  165. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  166. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +10 -10
  167. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +1 -1
  168. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +11 -11
  169. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  170. package/dist/astro/routes/api/manifest.mjs +4 -4
  171. package/dist/astro/routes/api/mcp.mjs +29 -29
  172. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  173. package/dist/astro/routes/api/media/_id_/confirm.mjs +6 -6
  174. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  175. package/dist/astro/routes/api/media/file/_...key_.mjs +2 -2
  176. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +3 -3
  177. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +3 -3
  178. package/dist/astro/routes/api/media/providers/index.mjs +3 -3
  179. package/dist/astro/routes/api/media/upload-url.mjs +7 -7
  180. package/dist/astro/routes/api/media/upload-url.mjs.map +1 -1
  181. package/dist/astro/routes/api/media.mjs +8 -8
  182. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +7 -7
  183. package/dist/astro/routes/api/menus/_name_/items.mjs +7 -7
  184. package/dist/astro/routes/api/menus/_name_/reorder.mjs +7 -7
  185. package/dist/astro/routes/api/menus/_name_/translations.mjs +7 -7
  186. package/dist/astro/routes/api/menus/_name_.mjs +7 -7
  187. package/dist/astro/routes/api/menus/index.mjs +7 -7
  188. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  189. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  190. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  191. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  192. package/dist/astro/routes/api/oauth/register.mjs +3 -3
  193. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  194. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  195. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  196. package/dist/astro/routes/api/openapi.json.mjs +3 -3
  197. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  198. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  199. package/dist/astro/routes/api/redirects/404s/index.mjs +8 -8
  200. package/dist/astro/routes/api/redirects/404s/index.mjs.map +1 -1
  201. package/dist/astro/routes/api/redirects/404s/summary.mjs +8 -8
  202. package/dist/astro/routes/api/redirects/404s/summary.mjs.map +1 -1
  203. package/dist/astro/routes/api/redirects/_id_.mjs +9 -9
  204. package/dist/astro/routes/api/redirects/_id_.mjs.map +1 -1
  205. package/dist/astro/routes/api/redirects/index.mjs +9 -9
  206. package/dist/astro/routes/api/redirects/index.mjs.map +1 -1
  207. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +3 -3
  208. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +3 -3
  209. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +32 -31
  210. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  211. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +32 -31
  212. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  213. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +32 -31
  214. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  215. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +32 -31
  216. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  217. package/dist/astro/routes/api/schema/collections/index.mjs +32 -31
  218. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  219. package/dist/astro/routes/api/schema/index.mjs +6 -6
  220. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  221. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +32 -31
  222. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  223. package/dist/astro/routes/api/schema/orphans/index.mjs +32 -31
  224. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  225. package/dist/astro/routes/api/search/enable.mjs +9 -9
  226. package/dist/astro/routes/api/search/index.mjs +8 -8
  227. package/dist/astro/routes/api/search/rebuild.mjs +9 -9
  228. package/dist/astro/routes/api/search/stats.mjs +6 -6
  229. package/dist/astro/routes/api/search/suggest.mjs +8 -8
  230. package/dist/astro/routes/api/sections/_slug_.mjs +8 -8
  231. package/dist/astro/routes/api/sections/_slug_.mjs.map +1 -1
  232. package/dist/astro/routes/api/sections/index.mjs +8 -8
  233. package/dist/astro/routes/api/sections/index.mjs.map +1 -1
  234. package/dist/astro/routes/api/settings/email.mjs +4 -4
  235. package/dist/astro/routes/api/settings.mjs +10 -10
  236. package/dist/astro/routes/api/setup/admin-verify.mjs +10 -10
  237. package/dist/astro/routes/api/setup/admin.mjs +9 -9
  238. package/dist/astro/routes/api/setup/dev-bypass.mjs +22 -22
  239. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  240. package/dist/astro/routes/api/setup/index.mjs +22 -22
  241. package/dist/astro/routes/api/setup/status.mjs +4 -4
  242. package/dist/astro/routes/api/snapshot.mjs +6 -6
  243. package/dist/astro/routes/api/snapshot.mjs.map +1 -1
  244. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +11 -10
  245. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs.map +1 -1
  246. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +11 -10
  247. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs.map +1 -1
  248. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +11 -10
  249. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs.map +1 -1
  250. package/dist/astro/routes/api/taxonomies/index.mjs +11 -10
  251. package/dist/astro/routes/api/taxonomies/index.mjs.map +1 -1
  252. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  253. package/dist/astro/routes/api/typegen.mjs +5 -5
  254. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  255. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  256. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  257. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +6 -6
  258. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +8 -8
  259. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +8 -8
  260. package/dist/astro/routes/api/widget-areas/_name_.mjs +5 -5
  261. package/dist/astro/routes/api/widget-areas/index.mjs +8 -8
  262. package/dist/astro/routes/api/widget-components.mjs +3 -3
  263. package/dist/astro/routes/robots.txt.mjs +5 -5
  264. package/dist/astro/routes/sitemap-_collection_.xml.d.mts.map +1 -1
  265. package/dist/astro/routes/sitemap-_collection_.xml.mjs +58 -13
  266. package/dist/astro/routes/sitemap-_collection_.xml.mjs.map +1 -1
  267. package/dist/astro/routes/sitemap.xml.mjs +6 -6
  268. package/dist/astro/types.d.mts +20 -12
  269. package/dist/astro/types.d.mts.map +1 -1
  270. package/dist/auth/providers/github.d.mts +1 -1
  271. package/dist/auth/providers/google.d.mts +1 -1
  272. package/dist/{authorize-BlyCH-96.mjs → authorize-Bn4S4DUT.mjs} +2 -2
  273. package/dist/{authorize-BlyCH-96.mjs.map → authorize-Bn4S4DUT.mjs.map} +1 -1
  274. package/dist/byline-BDylH_m4.mjs +404 -0
  275. package/dist/byline-BDylH_m4.mjs.map +1 -0
  276. package/dist/{bylines-BdUP8NuI.d.mts → bylines-B2_XmnSU.d.mts} +73 -28
  277. package/dist/bylines-B2_XmnSU.d.mts.map +1 -0
  278. package/dist/bylines-B7TFEvFf.mjs +118 -0
  279. package/dist/bylines-B7TFEvFf.mjs.map +1 -0
  280. package/dist/bylines-n6nykUyI.mjs +174 -0
  281. package/dist/bylines-n6nykUyI.mjs.map +1 -0
  282. package/dist/{cache-CXCpjWiL.mjs → cache-BcI1yUjR.mjs} +2 -2
  283. package/dist/{cache-CXCpjWiL.mjs.map → cache-BcI1yUjR.mjs.map} +1 -1
  284. package/dist/{challenge-store-CJ0OOHOr.mjs → challenge-store-Dng1SxKT.mjs} +1 -1
  285. package/dist/{challenge-store-CJ0OOHOr.mjs.map → challenge-store-Dng1SxKT.mjs.map} +1 -1
  286. package/dist/{chunks-DyGtu1Bv.mjs → chunks-cYG4SnIP.mjs} +2 -2
  287. package/dist/{chunks-DyGtu1Bv.mjs.map → chunks-cYG4SnIP.mjs.map} +1 -1
  288. package/dist/cli/index.mjs +68 -30
  289. package/dist/cli/index.mjs.map +1 -1
  290. package/dist/client/cf-access.d.mts +1 -1
  291. package/dist/client/index.d.mts +1 -1
  292. package/dist/client/index.mjs +1 -1
  293. package/dist/client/index.mjs.map +1 -1
  294. package/dist/{comment-Dd9MI82-.mjs → comment-C76G-9tz.mjs} +2 -2
  295. package/dist/{comment-Dd9MI82-.mjs.map → comment-C76G-9tz.mjs.map} +1 -1
  296. package/dist/{comments-koGI0FrK.mjs → comments-CCxFFGY1.mjs} +3 -3
  297. package/dist/{comments-koGI0FrK.mjs.map → comments-CCxFFGY1.mjs.map} +1 -1
  298. package/dist/{components-mZem7pbe.mjs → components-Dx3DM0gg.mjs} +1 -1
  299. package/dist/{components-mZem7pbe.mjs.map → components-Dx3DM0gg.mjs.map} +1 -1
  300. package/dist/config-CVssduLe.mjs.map +1 -1
  301. package/dist/{content-D6YG26WG.mjs → content-8voQNTXX.mjs} +3 -3
  302. package/dist/{content-D6YG26WG.mjs.map → content-8voQNTXX.mjs.map} +1 -1
  303. package/dist/{context-qF8d3IPR.mjs → context-B7qiYrz2.mjs} +10 -10
  304. package/dist/context-B7qiYrz2.mjs.map +1 -0
  305. package/dist/{cron-H8eJ46dv.mjs → cron-Bd3b3iuj.mjs} +1 -1
  306. package/dist/{cron-H8eJ46dv.mjs.map → cron-Bd3b3iuj.mjs.map} +1 -1
  307. package/dist/{dashboard-BmWSIUwY.mjs → dashboard-BeaFSPpx.mjs} +4 -4
  308. package/dist/{dashboard-BmWSIUwY.mjs.map → dashboard-BeaFSPpx.mjs.map} +1 -1
  309. package/dist/db/index.d.mts +3 -3
  310. package/dist/db/index.mjs +1 -1
  311. package/dist/db/libsql.d.mts +1 -1
  312. package/dist/db/postgres.d.mts +1 -1
  313. package/dist/db/sqlite.d.mts +1 -1
  314. package/dist/db/sqlite.mjs +1 -1
  315. package/dist/{db-errors-CGN9kJfo.mjs → db-errors-BiYqoX-n.mjs} +14 -2
  316. package/dist/db-errors-BiYqoX-n.mjs.map +1 -0
  317. package/dist/{default-Dbs22Gg4.mjs → default-BvTAYCzx.mjs} +1 -1
  318. package/dist/{default-Dbs22Gg4.mjs.map → default-BvTAYCzx.mjs.map} +1 -1
  319. package/dist/{device-flow-BqJRxa0Q.mjs → device-flow-B9oG8PwP.mjs} +4 -4
  320. package/dist/{device-flow-BqJRxa0Q.mjs.map → device-flow-B9oG8PwP.mjs.map} +1 -1
  321. package/dist/{email-console-Dmp5Q-P2.mjs → email-console-CubRll9q.mjs} +1 -1
  322. package/dist/email-console-CubRll9q.mjs.map +1 -0
  323. package/dist/{error-tSQWIl5U.mjs → error-ChfADBuu.mjs} +19 -9
  324. package/dist/error-ChfADBuu.mjs.map +1 -0
  325. package/dist/errors-9P_FDrJ_.mjs +17 -0
  326. package/dist/errors-9P_FDrJ_.mjs.map +1 -0
  327. package/dist/{escape-B8bdIryO.mjs → escape-Cg6kMELH.mjs} +1 -1
  328. package/dist/{escape-B8bdIryO.mjs.map → escape-Cg6kMELH.mjs.map} +1 -1
  329. package/dist/{fts-manager-B633C-kQ.mjs → fts-manager-C_b-4x8u.mjs} +2 -2
  330. package/dist/{fts-manager-B633C-kQ.mjs.map → fts-manager-C_b-4x8u.mjs.map} +1 -1
  331. package/dist/{import-CNfLOgDE.mjs → import-DG80rC_I.mjs} +3 -3
  332. package/dist/{import-CNfLOgDE.mjs.map → import-DG80rC_I.mjs.map} +1 -1
  333. package/dist/{index-BV8iJ-6s.d.mts → index-BPZFAcgE.d.mts} +384 -123
  334. package/dist/index-BPZFAcgE.d.mts.map +1 -0
  335. package/dist/{index-D2gvztOP.d.mts → index-CC42STEm.d.mts} +3 -3
  336. package/dist/{index-D2gvztOP.d.mts.map → index-CC42STEm.d.mts.map} +1 -1
  337. package/dist/index.d.mts +17 -17
  338. package/dist/index.mjs +53 -52
  339. package/dist/{load-QzYRpVN3.mjs → load-CLFRjk9r.mjs} +2 -2
  340. package/dist/{load-QzYRpVN3.mjs.map → load-CLFRjk9r.mjs.map} +1 -1
  341. package/dist/{loader-Cs6-Bqe6.mjs → loader-D-vIJjfY.mjs} +86 -46
  342. package/dist/loader-D-vIJjfY.mjs.map +1 -0
  343. package/dist/{manifest-schema-HCtSh4Jq.mjs → manifest-schema-Czqf0TLu.mjs} +1 -1
  344. package/dist/{manifest-schema-HCtSh4Jq.mjs.map → manifest-schema-Czqf0TLu.mjs.map} +1 -1
  345. package/dist/media/index.d.mts +1 -1
  346. package/dist/media/local-runtime.d.mts +11 -11
  347. package/dist/media/local-runtime.mjs +4 -4
  348. package/dist/{media-Dg7he9uK.mjs → media-CKQd8AYU.mjs} +2 -2
  349. package/dist/media-CKQd8AYU.mjs.map +1 -0
  350. package/dist/{media-allowlist-B8EX01DH.mjs → media-allowlist-BNloC69x.mjs} +1 -1
  351. package/dist/{media-allowlist-B8EX01DH.mjs.map → media-allowlist-BNloC69x.mjs.map} +1 -1
  352. package/dist/{menus-X4Z-eBA1.mjs → menus-C-nWT5Tu.mjs} +42 -17
  353. package/dist/menus-C-nWT5Tu.mjs.map +1 -0
  354. package/dist/{menus-DOzIecHi.mjs → menus-arUNspyU.mjs} +2 -2
  355. package/dist/menus-arUNspyU.mjs.map +1 -0
  356. package/dist/mime-KV5TqkMN.mjs.map +1 -1
  357. package/dist/{mode-DPRPvJYm.mjs → mode-CaaiebZI.mjs} +1 -1
  358. package/dist/{mode-DPRPvJYm.mjs.map → mode-CaaiebZI.mjs.map} +1 -1
  359. package/dist/{oauth-authorization-62GmpGIH.mjs → oauth-authorization-CTMeVfvj.mjs} +4 -4
  360. package/dist/{oauth-authorization-62GmpGIH.mjs.map → oauth-authorization-CTMeVfvj.mjs.map} +1 -1
  361. package/dist/{oauth-clients-D_B0_-Bz.mjs → oauth-clients-eJCbkVSG.mjs} +1 -1
  362. package/dist/oauth-clients-eJCbkVSG.mjs.map +1 -0
  363. package/dist/{oauth-state-store-DpsZViTu.mjs → oauth-state-store-vOSdOeGe.mjs} +1 -1
  364. package/dist/{oauth-state-store-DpsZViTu.mjs.map → oauth-state-store-vOSdOeGe.mjs.map} +1 -1
  365. package/dist/{oauth-user-lookup-meyS2oB1.mjs → oauth-user-lookup-3JwsVw6N.mjs} +1 -1
  366. package/dist/{oauth-user-lookup-meyS2oB1.mjs.map → oauth-user-lookup-3JwsVw6N.mjs.map} +1 -1
  367. package/dist/options-BL4X94qY.mjs.map +1 -1
  368. package/dist/{options-Cq64Wx0O.d.mts → options-DhV-gwJb.d.mts} +4 -4
  369. package/dist/options-DhV-gwJb.d.mts.map +1 -0
  370. package/dist/page/index.d.mts +2 -2
  371. package/dist/{parse-BFTPon-J.mjs → parse-DHbXfvxO.mjs} +2 -2
  372. package/dist/{parse-BFTPon-J.mjs.map → parse-DHbXfvxO.mjs.map} +1 -1
  373. package/dist/{passkey-config-Cg86_ISa.mjs → passkey-config-BloQOT3y.mjs} +1 -1
  374. package/dist/{passkey-config-Cg86_ISa.mjs.map → passkey-config-BloQOT3y.mjs.map} +1 -1
  375. package/dist/{placeholder-D3cFCU9y.d.mts → placeholder-KCkkCtgQ.d.mts} +1 -1
  376. package/dist/{placeholder-D3cFCU9y.d.mts.map → placeholder-KCkkCtgQ.d.mts.map} +1 -1
  377. package/dist/plugin-types.d.mts +1 -1
  378. package/dist/plugin-utils.d.mts +25 -10
  379. package/dist/plugin-utils.d.mts.map +1 -1
  380. package/dist/plugin-utils.mjs +11 -10
  381. package/dist/plugin-utils.mjs.map +1 -1
  382. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  383. package/dist/plugins/adapt-sandbox-entry.d.mts.map +1 -1
  384. package/dist/plugins/adapt-sandbox-entry.mjs +26 -15
  385. package/dist/plugins/adapt-sandbox-entry.mjs.map +1 -1
  386. package/dist/{preview-C1LOEbWZ.mjs → preview-D4z0WONU.mjs} +2 -2
  387. package/dist/{preview-C1LOEbWZ.mjs.map → preview-D4z0WONU.mjs.map} +1 -1
  388. package/dist/{public-url-CseXl9Fv.mjs → public-url-CUWWFME2.mjs} +1 -1
  389. package/dist/{public-url-CseXl9Fv.mjs.map → public-url-CUWWFME2.mjs.map} +1 -1
  390. package/dist/{query-axZmO6Tn.mjs → query-7m6-l0f_.mjs} +27 -17
  391. package/dist/query-7m6-l0f_.mjs.map +1 -0
  392. package/dist/{rate-limit-t5CVjCO6.mjs → rate-limit-D8RAXN8b.mjs} +2 -2
  393. package/dist/{rate-limit-t5CVjCO6.mjs.map → rate-limit-D8RAXN8b.mjs.map} +1 -1
  394. package/dist/{redirect-DGRsLO2I.mjs → redirect-BINiRYq4.mjs} +1 -1
  395. package/dist/{redirect-DGRsLO2I.mjs.map → redirect-BINiRYq4.mjs.map} +1 -1
  396. package/dist/{redirect-DkaDxq8e.mjs → redirect-CjfDGrTd.mjs} +2 -2
  397. package/dist/{redirect-DkaDxq8e.mjs.map → redirect-CjfDGrTd.mjs.map} +1 -1
  398. package/dist/{redirects-Dmj6KRU3.mjs → redirects-COMLwsV5.mjs} +19 -5
  399. package/dist/redirects-COMLwsV5.mjs.map +1 -0
  400. package/dist/{redirects-D1fdd68T.mjs → redirects-CowoEHdE.mjs} +3 -3
  401. package/dist/{redirects-D1fdd68T.mjs.map → redirects-CowoEHdE.mjs.map} +1 -1
  402. package/dist/{registry-BnCeHYsf.mjs → registry-Cyp-dx6J.mjs} +4 -4
  403. package/dist/{registry-BnCeHYsf.mjs.map → registry-Cyp-dx6J.mjs.map} +1 -1
  404. package/dist/request-cache-dzCt8TZB.mjs.map +1 -1
  405. package/dist/request-context.mjs.map +1 -1
  406. package/dist/{request-meta-CLCwSQOS.mjs → request-meta-C_Cjii-T.mjs} +2 -2
  407. package/dist/{request-meta-CLCwSQOS.mjs.map → request-meta-C_Cjii-T.mjs.map} +1 -1
  408. package/dist/resolve-D6sM-SgF.mjs +143 -0
  409. package/dist/resolve-D6sM-SgF.mjs.map +1 -0
  410. package/dist/{runner-DcfZewkO.d.mts → runner-DSQBurMS.d.mts} +8 -5
  411. package/dist/runner-DSQBurMS.d.mts.map +1 -0
  412. package/dist/{runner-DdnQIwz_.mjs → runner-Drnvs96u.mjs} +491 -188
  413. package/dist/runner-Drnvs96u.mjs.map +1 -0
  414. package/dist/runtime.d.mts +10 -10
  415. package/dist/runtime.mjs +2 -2
  416. package/dist/{schema-BmqagCwG.mjs → schema-CI9mYPX3.mjs} +4 -4
  417. package/dist/{schema-BmqagCwG.mjs.map → schema-CI9mYPX3.mjs.map} +1 -1
  418. package/dist/{search-CPrvO5u8.mjs → search-DKz_mGBP.mjs} +4 -4
  419. package/dist/{search-CPrvO5u8.mjs.map → search-DKz_mGBP.mjs.map} +1 -1
  420. package/dist/{secrets-6pgZyq0K.mjs → secrets-rPdhEBkD.mjs} +1 -1
  421. package/dist/{secrets-6pgZyq0K.mjs.map → secrets-rPdhEBkD.mjs.map} +1 -1
  422. package/dist/{sections-Cm-zb-gZ.mjs → sections-DBbCDIAT.mjs} +3 -3
  423. package/dist/{sections-Cm-zb-gZ.mjs.map → sections-DBbCDIAT.mjs.map} +1 -1
  424. package/dist/seed/index.d.mts +2 -2
  425. package/dist/seed/index.mjs +16 -16
  426. package/dist/seo/index.d.mts +1 -1
  427. package/dist/{seo-DRq9-EPP.mjs → seo-BGCyDlkb.mjs} +2 -2
  428. package/dist/{seo-DRq9-EPP.mjs.map → seo-BGCyDlkb.mjs.map} +1 -1
  429. package/dist/{seo-BoR4wCUh.mjs → seo-Dq707mNQ.mjs} +5 -3
  430. package/dist/seo-Dq707mNQ.mjs.map +1 -0
  431. package/dist/{service-vByySp-2.mjs → service-B0H7U1Y9.mjs} +3 -3
  432. package/dist/{service-vByySp-2.mjs.map → service-B0H7U1Y9.mjs.map} +1 -1
  433. package/dist/{settings-xQKsWnzQ.mjs → settings-BSXRtTzk.mjs} +3 -3
  434. package/dist/settings-BSXRtTzk.mjs.map +1 -0
  435. package/dist/{settings-CBBj7HUd.mjs → settings-DfwNyQkf.mjs} +3 -3
  436. package/dist/{settings-CBBj7HUd.mjs.map → settings-DfwNyQkf.mjs.map} +1 -1
  437. package/dist/{setup-BGAJ2uXs.mjs → setup-Cf_TyOv5.mjs} +2 -2
  438. package/dist/{setup-BGAJ2uXs.mjs.map → setup-Cf_TyOv5.mjs.map} +1 -1
  439. package/dist/{setup-complete-C6ZCLhKo.mjs → setup-complete-MzzN9u0b.mjs} +1 -1
  440. package/dist/{setup-complete-C6ZCLhKo.mjs.map → setup-complete-MzzN9u0b.mjs.map} +1 -1
  441. package/dist/{setup-nonce-CY1gQiAU.mjs → setup-nonce-DXuriHsg.mjs} +1 -1
  442. package/dist/{setup-nonce-CY1gQiAU.mjs.map → setup-nonce-DXuriHsg.mjs.map} +1 -1
  443. package/dist/{site-url-D-M4Fd8O.mjs → site-url-xkhw1tcz.mjs} +1 -1
  444. package/dist/{site-url-D-M4Fd8O.mjs.map → site-url-xkhw1tcz.mjs.map} +1 -1
  445. package/dist/{ssrf-DzFN_qV-.mjs → ssrf-MZ-zrG6-.mjs} +1 -1
  446. package/dist/{ssrf-DzFN_qV-.mjs.map → ssrf-MZ-zrG6-.mjs.map} +1 -1
  447. package/dist/storage/local.d.mts +1 -1
  448. package/dist/storage/local.mjs +1 -1
  449. package/dist/storage/local.mjs.map +1 -1
  450. package/dist/storage/s3.d.mts +1 -1
  451. package/dist/storage/s3.mjs +1 -1
  452. package/dist/storage/s3.mjs.map +1 -1
  453. package/dist/{taxonomies-Dc0mzlms.mjs → taxonomies-4vx0nmMr.mjs} +4 -4
  454. package/dist/{taxonomies-Dc0mzlms.mjs.map → taxonomies-4vx0nmMr.mjs.map} +1 -1
  455. package/dist/{taxonomies-Cn9UpaR2.mjs → taxonomies-CcvrMLbR.mjs} +8 -43
  456. package/dist/taxonomies-CcvrMLbR.mjs.map +1 -0
  457. package/dist/{taxonomy-wPfusMK9.mjs → taxonomy-zqGQUqgu.mjs} +3 -3
  458. package/dist/{taxonomy-wPfusMK9.mjs.map → taxonomy-zqGQUqgu.mjs.map} +1 -1
  459. package/dist/{tokens-DILYNZMi.mjs → tokens-N8otWMmj.mjs} +1 -1
  460. package/dist/{tokens-DILYNZMi.mjs.map → tokens-N8otWMmj.mjs.map} +1 -1
  461. package/dist/{transport-fw-mKJzT.mjs → transport-B6CHddbu.mjs} +1 -1
  462. package/dist/{transport-fw-mKJzT.mjs.map → transport-B6CHddbu.mjs.map} +1 -1
  463. package/dist/{transport-GeXlLscf.d.mts → transport-C2MGqtL6.d.mts} +1 -1
  464. package/dist/{transport-GeXlLscf.d.mts.map → transport-C2MGqtL6.d.mts.map} +1 -1
  465. package/dist/{trusted-proxy-CJhQIk65.mjs → trusted-proxy-97pajC2f.mjs} +1 -1
  466. package/dist/{trusted-proxy-CJhQIk65.mjs.map → trusted-proxy-97pajC2f.mjs.map} +1 -1
  467. package/dist/{types-CwXMEPRr.mjs → types-B0bmgwMG.mjs} +2 -2
  468. package/dist/types-B0bmgwMG.mjs.map +1 -0
  469. package/dist/{types-Dz9CGX_d.mjs → types-Cd9UCu3t.mjs} +1 -1
  470. package/dist/{types-Dz9CGX_d.mjs.map → types-Cd9UCu3t.mjs.map} +1 -1
  471. package/dist/{types-DmxPPXGf.d.mts → types-CkDSF81F.d.mts} +1 -1
  472. package/dist/{types-DmxPPXGf.d.mts.map → types-CkDSF81F.d.mts.map} +1 -1
  473. package/dist/{types-BWhaSS7U.d.mts → types-CpUuGcd5.d.mts} +1 -1
  474. package/dist/{types-BWhaSS7U.d.mts.map → types-CpUuGcd5.d.mts.map} +1 -1
  475. package/dist/{types-DFowNO60.d.mts → types-D599-ruj.d.mts} +1 -1
  476. package/dist/{types-DFowNO60.d.mts.map → types-D599-ruj.d.mts.map} +1 -1
  477. package/dist/{types-B05e2naf.d.mts → types-DGHWRQgr.d.mts} +3 -3
  478. package/dist/{types-B05e2naf.d.mts.map → types-DGHWRQgr.d.mts.map} +1 -1
  479. package/dist/{types-CzvJd1ND.d.mts → types-DaYDYW6g.d.mts} +14 -1
  480. package/dist/types-DaYDYW6g.d.mts.map +1 -0
  481. package/dist/{types-C1KKK4VP.d.mts → types-DaqNzqVt.d.mts} +16 -1
  482. package/dist/{types-C1KKK4VP.d.mts.map → types-DaqNzqVt.d.mts.map} +1 -1
  483. package/dist/{types-DW1l0gCv.d.mts → types-Dgo6y-Ut.d.mts} +1 -1
  484. package/dist/{types-DW1l0gCv.d.mts.map → types-Dgo6y-Ut.d.mts.map} +1 -1
  485. package/dist/{types-Cb2UCDJg.d.mts → types-bYmRn_Uy.d.mts} +1 -1
  486. package/dist/{types-Cb2UCDJg.d.mts.map → types-bYmRn_Uy.d.mts.map} +1 -1
  487. package/dist/{user-Dr1bOCqS.mjs → user-hUSOaIJy.mjs} +2 -2
  488. package/dist/{user-Dr1bOCqS.mjs.map → user-hUSOaIJy.mjs.map} +1 -1
  489. package/dist/{utils-_F-rWBTN.mjs → utils-C3wTAP-P.mjs} +1 -1
  490. package/dist/{utils-_F-rWBTN.mjs.map → utils-C3wTAP-P.mjs.map} +1 -1
  491. package/dist/{validate-BpQGsmd7.d.mts → validate-DQtHw9NT.d.mts} +5 -5
  492. package/dist/{validate-BpQGsmd7.d.mts.map → validate-DQtHw9NT.d.mts.map} +1 -1
  493. package/dist/{validate-DlFxcVVK.mjs → validate-IGltez8n.mjs} +2 -2
  494. package/dist/{validate-DlFxcVVK.mjs.map → validate-IGltez8n.mjs.map} +1 -1
  495. package/dist/{validation-BiFJqUp5.mjs → validation-Bmymau7y.mjs} +6 -6
  496. package/dist/{validation-BiFJqUp5.mjs.map → validation-Bmymau7y.mjs.map} +1 -1
  497. package/dist/version-BTc87L3L.mjs +7 -0
  498. package/dist/{version-DNmQakZO.mjs.map → version-BTc87L3L.mjs.map} +1 -1
  499. package/dist/{widgets-B9j_yzlk.mjs → widgets-yHQa4c6c.mjs} +3 -3
  500. package/dist/widgets-yHQa4c6c.mjs.map +1 -0
  501. package/dist/{zod-generator-DSyz01KE.mjs → zod-generator-B80aap1J.mjs} +2 -2
  502. package/dist/{zod-generator-DSyz01KE.mjs.map → zod-generator-B80aap1J.mjs.map} +1 -1
  503. package/package.json +12 -10
  504. package/src/api/error.ts +18 -3
  505. package/src/api/errors.ts +8 -0
  506. package/src/api/handlers/bylines.ts +161 -0
  507. package/src/api/handlers/content.ts +125 -43
  508. package/src/api/handlers/index.ts +8 -0
  509. package/src/api/handlers/marketplace.ts +27 -5
  510. package/src/api/handlers/oauth-clients.ts +1 -1
  511. package/src/api/handlers/registry.ts +622 -5
  512. package/src/api/handlers/seo.ts +16 -1
  513. package/src/api/handlers/snapshot.ts +1 -1
  514. package/src/api/openapi/document.ts +1 -1
  515. package/src/api/schemas/bylines.ts +46 -0
  516. package/src/astro/integration/index.ts +27 -1
  517. package/src/astro/integration/routes.ts +10 -0
  518. package/src/astro/integration/runtime.ts +20 -1
  519. package/src/astro/integration/virtual-modules.ts +19 -2
  520. package/src/astro/integration/vite-config.ts +2 -2
  521. package/src/astro/middleware/auth.ts +7 -7
  522. package/src/astro/middleware/request-context.ts +1 -1
  523. package/src/astro/middleware.ts +35 -20
  524. package/src/astro/public-plugin-api-routes.ts +41 -0
  525. package/src/astro/routes/api/admin/bylines/[id]/index.ts +3 -12
  526. package/src/astro/routes/api/admin/bylines/[id]/translations.ts +99 -0
  527. package/src/astro/routes/api/admin/bylines/index.ts +22 -11
  528. package/src/astro/routes/api/admin/plugins/[id]/update.ts +1 -0
  529. package/src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts +6 -1
  530. package/src/astro/routes/api/admin/plugins/registry/[id]/uninstall.ts +51 -0
  531. package/src/astro/routes/api/admin/plugins/registry/[id]/update.ts +83 -0
  532. package/src/astro/routes/api/admin/plugins/registry/artifact.ts +388 -0
  533. package/src/astro/routes/api/admin/plugins/registry/install.ts +7 -1
  534. package/src/astro/routes/api/admin/plugins/updates.ts +43 -6
  535. package/src/astro/routes/api/admin/themes/marketplace/index.ts +1 -1
  536. package/src/astro/routes/api/auth/oauth/[provider]/callback.ts +2 -2
  537. package/src/astro/routes/api/auth/oauth/[provider].ts +2 -2
  538. package/src/astro/routes/api/content/[collection]/[id]/discard-draft.ts +2 -2
  539. package/src/astro/routes/api/content/[collection]/[id]/duplicate.ts +2 -2
  540. package/src/astro/routes/api/content/[collection]/[id]/publish.ts +2 -2
  541. package/src/astro/routes/api/content/[collection]/[id]/restore.ts +2 -2
  542. package/src/astro/routes/api/content/[collection]/[id]/schedule.ts +2 -2
  543. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +6 -6
  544. package/src/astro/routes/api/content/[collection]/[id]/translations.ts +1 -1
  545. package/src/astro/routes/api/content/[collection]/[id]/unpublish.ts +2 -2
  546. package/src/astro/routes/api/content/[collection]/[id].ts +6 -6
  547. package/src/astro/routes/api/import/wordpress/execute.ts +1 -1
  548. package/src/astro/routes/api/import/wordpress/prepare.ts +2 -2
  549. package/src/astro/routes/api/import/wordpress/rewrite-url-helpers.ts +22 -0
  550. package/src/astro/routes/api/import/wordpress/rewrite-urls.ts +8 -5
  551. package/src/astro/routes/api/import/wordpress-plugin/execute.ts +2 -2
  552. package/src/astro/routes/api/media/upload-url.ts +1 -1
  553. package/src/astro/routes/api/redirects/404s/index.ts +3 -3
  554. package/src/astro/routes/api/redirects/404s/summary.ts +1 -1
  555. package/src/astro/routes/api/redirects/[id].ts +3 -3
  556. package/src/astro/routes/api/redirects/index.ts +2 -2
  557. package/src/astro/routes/api/schema/collections/[slug]/fields/[fieldSlug].ts +4 -4
  558. package/src/astro/routes/api/schema/collections/[slug]/fields/index.ts +2 -6
  559. package/src/astro/routes/api/schema/collections/[slug]/fields/reorder.ts +1 -1
  560. package/src/astro/routes/api/schema/collections/[slug]/index.ts +6 -6
  561. package/src/astro/routes/api/schema/collections/index.ts +4 -4
  562. package/src/astro/routes/api/schema/index.ts +1 -1
  563. package/src/astro/routes/api/schema/orphans/[slug].ts +1 -1
  564. package/src/astro/routes/api/schema/orphans/index.ts +1 -1
  565. package/src/astro/routes/api/sections/[slug].ts +3 -3
  566. package/src/astro/routes/api/sections/index.ts +2 -2
  567. package/src/astro/routes/sitemap-[collection].xml.ts +114 -14
  568. package/src/astro/types.ts +18 -0
  569. package/src/auth/rate-limit.ts +1 -1
  570. package/src/auth/trusted-proxy.ts +1 -1
  571. package/src/bylines/index.ts +154 -55
  572. package/src/cli/commands/init.ts +4 -8
  573. package/src/client/index.ts +1 -1
  574. package/src/components/InlinePortableTextEditor.tsx +5 -1
  575. package/src/components/inline-code-block.tsx +343 -0
  576. package/src/config/secrets.ts +3 -3
  577. package/src/content/converters/portable-text-to-prosemirror.ts +35 -11
  578. package/src/database/connection.ts +3 -10
  579. package/src/database/errors.ts +14 -0
  580. package/src/database/index.ts +3 -1
  581. package/src/database/migrations/006_taxonomy_defs.ts +1 -1
  582. package/src/database/migrations/014_draft_revisions.ts +6 -6
  583. package/src/database/migrations/040_byline_i18n.ts +497 -0
  584. package/src/database/migrations/runner.ts +33 -22
  585. package/src/database/repositories/audit.ts +2 -2
  586. package/src/database/repositories/byline.ts +320 -50
  587. package/src/database/repositories/media.ts +2 -2
  588. package/src/database/repositories/menu.ts +1 -1
  589. package/src/database/repositories/options.ts +3 -3
  590. package/src/database/repositories/plugin-storage.ts +3 -3
  591. package/src/database/repositories/types.ts +13 -0
  592. package/src/database/types.ts +15 -0
  593. package/src/emdash-runtime.ts +493 -20
  594. package/src/i18n/config.ts +1 -1
  595. package/src/i18n/resolve.ts +152 -0
  596. package/src/index.ts +9 -0
  597. package/src/loader.ts +134 -60
  598. package/src/mcp/server.ts +3 -3
  599. package/src/media/mime.ts +1 -1
  600. package/src/page/absolute-url.ts +1 -1
  601. package/src/plugin-utils.ts +23 -0
  602. package/src/plugins/adapt-sandbox-entry.ts +45 -40
  603. package/src/plugins/email-console.ts +1 -1
  604. package/src/plugins/index.ts +1 -0
  605. package/src/plugins/marketplace.ts +1 -1
  606. package/src/plugins/sandbox/index.ts +1 -0
  607. package/src/plugins/sandbox/noop.ts +11 -3
  608. package/src/plugins/sandbox/types.ts +28 -0
  609. package/src/query.ts +41 -7
  610. package/src/registry/config.ts +1 -1
  611. package/src/request-cache.ts +3 -3
  612. package/src/request-context.ts +1 -1
  613. package/src/settings/index.ts +4 -4
  614. package/src/storage/local.ts +1 -1
  615. package/src/storage/s3.ts +3 -3
  616. package/src/utils/db-errors.ts +24 -0
  617. package/src/widgets/index.ts +1 -1
  618. package/dist/api-BMLZuwM4.mjs.map +0 -1
  619. package/dist/byline-D09BaS4j.mjs +0 -220
  620. package/dist/byline-D09BaS4j.mjs.map +0 -1
  621. package/dist/bylines-BTM2xtP8.mjs +0 -113
  622. package/dist/bylines-BTM2xtP8.mjs.map +0 -1
  623. package/dist/bylines-BdUP8NuI.d.mts.map +0 -1
  624. package/dist/connection-2igzM-AT.mjs +0 -57
  625. package/dist/connection-2igzM-AT.mjs.map +0 -1
  626. package/dist/context-qF8d3IPR.mjs.map +0 -1
  627. package/dist/db-errors-CGN9kJfo.mjs.map +0 -1
  628. package/dist/email-console-Dmp5Q-P2.mjs.map +0 -1
  629. package/dist/error-tSQWIl5U.mjs.map +0 -1
  630. package/dist/index-BV8iJ-6s.d.mts.map +0 -1
  631. package/dist/loader-Cs6-Bqe6.mjs.map +0 -1
  632. package/dist/media-Dg7he9uK.mjs.map +0 -1
  633. package/dist/menus-DOzIecHi.mjs.map +0 -1
  634. package/dist/menus-X4Z-eBA1.mjs.map +0 -1
  635. package/dist/oauth-clients-D_B0_-Bz.mjs.map +0 -1
  636. package/dist/options-Cq64Wx0O.d.mts.map +0 -1
  637. package/dist/query-axZmO6Tn.mjs.map +0 -1
  638. package/dist/redirects-Dmj6KRU3.mjs.map +0 -1
  639. package/dist/runner-DcfZewkO.d.mts.map +0 -1
  640. package/dist/runner-DdnQIwz_.mjs.map +0 -1
  641. package/dist/seo-BoR4wCUh.mjs.map +0 -1
  642. package/dist/settings-xQKsWnzQ.mjs.map +0 -1
  643. package/dist/taxonomies-Cn9UpaR2.mjs.map +0 -1
  644. package/dist/types-CwXMEPRr.mjs.map +0 -1
  645. package/dist/types-CzvJd1ND.d.mts.map +0 -1
  646. package/dist/version-DNmQakZO.mjs +0 -7
  647. package/dist/widgets-B9j_yzlk.mjs.map +0 -1
  648. /package/dist/{api-tokens-D3C9v02m.mjs → api-tokens-iPIHAY8N.mjs} +0 -0
  649. /package/dist/{ssrf-CTul4uQi.mjs → ssrf-BIcd-aXW.mjs} +0 -0
  650. /package/dist/{types-Db67HHlU.mjs → types-1NNkmTIn.mjs} +0 -0
@@ -1,28 +1,36 @@
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";
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-DaYDYW6g.mjs";
2
+ import { d as ContentListResponse, f as ContentResponse, h as ManifestResponse, u as ApiResult } from "./options-DhV-gwJb.mjs";
3
+ import { t as Database } from "./types-DaqNzqVt.mjs";
4
+ import { Dt as WhereClause, G as MediaItem$1, I as HttpAccess, J as PageFragmentContribution, M as EmailMessage, Q as PageMetadataEvent, S as CronEvent, St as StorageCollection, Y as PageFragmentEvent, Z as PageMetadataContribution, _t as RequestMeta, c as CommentBeforeCreateEvent, ct as PluginDefinition, ft as PluginStorageConfig, gt as QueryOptions, i as CommentAfterCreateEvent, nt as PaginatedResult, o as CommentAfterModerateEvent, ut as PluginManifest, yt as ResolvedPlugin } from "./types-DGHWRQgr.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-CpUuGcd5.mjs";
6
+ import { _ as MediaValue, m as MediaProviderDescriptor } from "./placeholder-KCkkCtgQ.mjs";
7
+ import { C as ContentBylineInput } from "./index-CC42STEm.mjs";
8
+ import { i as SiteSettings, r as SiteSettingKey } from "./types-Dgo6y-Ut.mjs";
9
+ import { d as Storage } from "./types-CkDSF81F.mjs";
10
+ import { r as AuthProviderDescriptor, t as AuthDescriptor } from "./types-D599-ruj.mjs";
11
+ import { t as DatabaseDescriptor } from "./adapters-C4yd_UJR.mjs";
12
12
  import { Kysely } from "kysely";
13
13
  import { z } from "astro/zod";
14
14
  import { z as z$1 } from "zod";
15
+ import "@emdash-cms/registry-client/env";
15
16
  import { LiveLoader } from "astro/loaders";
16
17
 
18
+ //#region src/database/errors.d.ts
19
+ /**
20
+ * Database error types. Kept in their own module (no driver imports) so the
21
+ * public package barrel can re-export them without dragging native database
22
+ * drivers into the module graph of consumers that picked a different dialect.
23
+ */
24
+ declare class EmDashDatabaseError extends Error {
25
+ cause?: unknown | undefined;
26
+ constructor(message: string, cause?: unknown | undefined);
27
+ }
28
+ //#endregion
17
29
  //#region src/database/connection.d.ts
18
30
  interface DatabaseConfig {
19
31
  url: string;
20
32
  authToken?: string;
21
33
  }
22
- declare class EmDashDatabaseError extends Error {
23
- cause?: unknown | undefined;
24
- constructor(message: string, cause?: unknown | undefined);
25
- }
26
34
  //#endregion
27
35
  //#region src/database/repositories/content.d.ts
28
36
  /**
@@ -349,6 +357,99 @@ declare class MediaRepository {
349
357
  private rowToItem;
350
358
  }
351
359
  //#endregion
360
+ //#region src/database/repositories/user.d.ts
361
+ /**
362
+ * Valid role levels matching the database schema.
363
+ * 10=subscriber, 20=contributor, 30=author, 40=editor, 50=admin
364
+ */
365
+ type UserRole = 10 | 20 | 30 | 40 | 50;
366
+ /** String role names for convenience APIs */
367
+ type UserRoleName = "subscriber" | "contributor" | "author" | "editor" | "admin";
368
+ interface User {
369
+ id: string;
370
+ email: string;
371
+ name: string | null;
372
+ role: UserRole;
373
+ avatarUrl: string | null;
374
+ emailVerified: boolean;
375
+ data: Record<string, unknown> | null;
376
+ createdAt: string;
377
+ }
378
+ interface CreateUserInput {
379
+ email: string;
380
+ name?: string;
381
+ role?: UserRole | UserRoleName;
382
+ avatarUrl?: string;
383
+ data?: Record<string, unknown>;
384
+ }
385
+ interface UpdateUserInput {
386
+ name?: string;
387
+ role?: UserRole | UserRoleName;
388
+ avatarUrl?: string | null;
389
+ data?: Record<string, unknown>;
390
+ }
391
+ /**
392
+ * User repository for CRUD operations
393
+ */
394
+ declare class UserRepository {
395
+ private db;
396
+ constructor(db: Kysely<Database>);
397
+ /**
398
+ * Create a new user
399
+ */
400
+ create(input: CreateUserInput): Promise<User>;
401
+ /**
402
+ * Find user by ID
403
+ */
404
+ findById(id: string): Promise<User | null>;
405
+ /**
406
+ * Find user by email (case-insensitive)
407
+ */
408
+ findByEmail(email: string): Promise<User | null>;
409
+ /**
410
+ * List all users with cursor-based pagination
411
+ */
412
+ findMany(options?: {
413
+ role?: UserRole | UserRoleName;
414
+ limit?: number;
415
+ cursor?: string;
416
+ }): Promise<FindManyResult<User>>;
417
+ /**
418
+ * Update a user
419
+ */
420
+ update(id: string, input: UpdateUserInput): Promise<User | null>;
421
+ /**
422
+ * Delete a user
423
+ */
424
+ delete(id: string): Promise<boolean>;
425
+ /**
426
+ * Count users
427
+ */
428
+ count(role?: UserRole | UserRoleName): Promise<number>;
429
+ /**
430
+ * Check if email exists
431
+ */
432
+ emailExists(email: string): Promise<boolean>;
433
+ /**
434
+ * Convert database row to User object
435
+ */
436
+ private rowToUser;
437
+ /** Map of role name strings to numeric levels */
438
+ private static readonly ROLE_NAME_TO_LEVEL;
439
+ /** Valid numeric role levels */
440
+ private static readonly VALID_LEVELS;
441
+ /**
442
+ * Resolve a role name or number to a valid numeric UserRole.
443
+ * Accepts both string names ("admin") and numeric levels (50).
444
+ */
445
+ static resolveRole(role: UserRole | UserRoleName): UserRole;
446
+ /**
447
+ * Convert a raw DB integer to a typed UserRole.
448
+ * Falls back to subscriber (10) for unknown values.
449
+ */
450
+ private static toRole;
451
+ }
452
+ //#endregion
352
453
  //#region src/database/repositories/revision.d.ts
353
454
  interface Revision {
354
455
  id: string;
@@ -371,6 +472,62 @@ interface PublicComment {
371
472
  replies?: PublicComment[];
372
473
  }
373
474
  //#endregion
475
+ //#region src/database/repositories/plugin-storage.d.ts
476
+ /**
477
+ * Plugin Storage Repository
478
+ *
479
+ * Implements the StorageCollection interface for a specific plugin and collection.
480
+ */
481
+ declare class PluginStorageRepository<T = unknown> implements StorageCollection<T> {
482
+ private db;
483
+ private pluginId;
484
+ private collection;
485
+ private indexedFields;
486
+ constructor(db: Kysely<Database>, pluginId: string, collection: string, indexes: Array<string | string[]>);
487
+ /**
488
+ * Get a document by ID
489
+ */
490
+ get(id: string): Promise<T | null>;
491
+ /**
492
+ * Store a document
493
+ */
494
+ put(id: string, data: T): Promise<void>;
495
+ /**
496
+ * Delete a document
497
+ */
498
+ delete(id: string): Promise<boolean>;
499
+ /**
500
+ * Check if a document exists
501
+ */
502
+ exists(id: string): Promise<boolean>;
503
+ /**
504
+ * Get multiple documents by ID
505
+ */
506
+ getMany(ids: string[]): Promise<Map<string, T>>;
507
+ /**
508
+ * Store multiple documents
509
+ */
510
+ putMany(items: Array<{
511
+ id: string;
512
+ data: T;
513
+ }>): Promise<void>;
514
+ /**
515
+ * Delete multiple documents
516
+ */
517
+ deleteMany(ids: string[]): Promise<number>;
518
+ /**
519
+ * Query documents with filters
520
+ */
521
+ query(options?: QueryOptions): Promise<PaginatedResult<{
522
+ id: string;
523
+ data: T;
524
+ }>>;
525
+ /**
526
+ * Count documents matching a filter
527
+ */
528
+ count(where?: WhereClause): Promise<number>;
529
+ }
530
+ //#endregion
374
531
  //#region src/fields/types.d.ts
375
532
  /**
376
533
  * SQLite column types that map from field types
@@ -1083,6 +1240,19 @@ interface SandboxOptions {
1083
1240
  };
1084
1241
  /** Email send callback, wired from the EmailPipeline by the runtime */
1085
1242
  emailSend?: SandboxEmailSendCallback;
1243
+ /**
1244
+ * Media storage adapter for sandboxed plugin uploads and deletes.
1245
+ * When provided, plugins with write:media can upload and delete files
1246
+ * via ctx.media.upload() and ctx.media.delete().
1247
+ */
1248
+ mediaStorage?: {
1249
+ upload(options: {
1250
+ key: string;
1251
+ body: Uint8Array;
1252
+ contentType: string;
1253
+ }): Promise<unknown>;
1254
+ delete(key: string): Promise<unknown>;
1255
+ };
1086
1256
  }
1087
1257
  /**
1088
1258
  * Handle to a sandboxed plugin running inside an isolate. Returned
@@ -1138,6 +1308,13 @@ interface SandboxRunner {
1138
1308
  * Returns false for platforms that don't support isolation.
1139
1309
  */
1140
1310
  isAvailable(): boolean;
1311
+ /**
1312
+ * Check if the sandbox runtime is currently healthy.
1313
+ * For in-process runners this always returns true.
1314
+ * For sidecar-based runners (workerd), returns false if the
1315
+ * child process has crashed and hasn't been restarted yet.
1316
+ */
1317
+ isHealthy(): boolean;
1141
1318
  /**
1142
1319
  * Load a sandboxed plugin from code.
1143
1320
  *
@@ -1159,6 +1336,13 @@ interface SandboxRunner {
1159
1336
  */
1160
1337
  terminateAll(): Promise<void>;
1161
1338
  }
1339
+ /**
1340
+ * Error thrown when the sandbox runtime is unavailable.
1341
+ * This happens when the sidecar process has crashed or hasn't started.
1342
+ */
1343
+ declare class SandboxUnavailableError extends Error {
1344
+ constructor(pluginId: string, reason: string);
1345
+ }
1162
1346
  /**
1163
1347
  * Factory function type for creating sandbox runners.
1164
1348
  * Exported by platform adapters (e.g., @emdash-cms/adapter-cloudflare/sandbox).
@@ -1540,6 +1724,123 @@ declare function sanitizeHref(url: string | undefined | null): string;
1540
1724
  */
1541
1725
  declare function isSafeHref(url: string): boolean;
1542
1726
  //#endregion
1727
+ //#region src/loader.d.ts
1728
+ /**
1729
+ * Entry data type - generic object
1730
+ */
1731
+ type EntryData = Record<string, unknown>;
1732
+ /**
1733
+ * Sort direction
1734
+ */
1735
+ type SortDirection$1 = "asc" | "desc";
1736
+ /**
1737
+ * Order by specification - field name to direction
1738
+ * @example { created_at: "desc" } - Sort by created_at descending
1739
+ * @example { title: "asc" } - Sort by title ascending
1740
+ */
1741
+ type OrderBySpec$1 = Record<string, SortDirection$1>;
1742
+ /**
1743
+ * Range filter for comparison operators on field values.
1744
+ * Values are compared as strings in the database. This works correctly for
1745
+ * ISO 8601 dates (e.g. "2024-01-01T00:00:00Z") because lexicographic ordering
1746
+ * matches chronological ordering. Ensure date values use a consistent format.
1747
+ */
1748
+ interface WhereRange {
1749
+ gt?: string;
1750
+ gte?: string;
1751
+ lt?: string;
1752
+ lte?: string;
1753
+ }
1754
+ /**
1755
+ * A where clause value: exact match, multi-value match, or range comparison.
1756
+ */
1757
+ type WhereValue = string | string[] | WhereRange;
1758
+ /**
1759
+ * Filter for loadCollection - type is required
1760
+ */
1761
+ interface CollectionFilter$1 {
1762
+ type: string;
1763
+ status?: "draft" | "published" | "archived";
1764
+ limit?: number;
1765
+ /**
1766
+ * Opaque cursor for keyset pagination.
1767
+ * Pass the `nextCursor` value from a previous result to fetch the next page.
1768
+ */
1769
+ cursor?: string;
1770
+ /**
1771
+ * Filter by field values, taxonomy terms, or ranges.
1772
+ *
1773
+ * Taxonomy names are detected automatically and filtered via JOIN.
1774
+ * Other keys are treated as column filters on the content table.
1775
+ *
1776
+ * @example { category: 'news' } - taxonomy term
1777
+ * @example { series: 'main' } - exact match on a content field
1778
+ * @example { published_at: { gte: '2024-01-01', lt: '2025-01-01' } } - date range
1779
+ */
1780
+ where?: Record<string, WhereValue>;
1781
+ /**
1782
+ * Order results by field(s)
1783
+ * @default { created_at: "desc" }
1784
+ */
1785
+ orderBy?: OrderBySpec$1;
1786
+ /**
1787
+ * Filter by locale (e.g. 'en', 'fr').
1788
+ * When set, only returns content in this locale.
1789
+ */
1790
+ locale?: string;
1791
+ }
1792
+ /**
1793
+ * Filter for loadEntry - type and id are required
1794
+ */
1795
+ interface EntryFilter {
1796
+ type: string;
1797
+ id: string;
1798
+ /**
1799
+ * When set, fetch content data from this revision instead of the content table.
1800
+ * Used by preview mode to serve draft revision data.
1801
+ */
1802
+ revisionId?: string;
1803
+ /**
1804
+ * Locale to scope slug lookup. Only affects slug resolution;
1805
+ * IDs are globally unique and always resolve regardless of locale.
1806
+ */
1807
+ locale?: string;
1808
+ }
1809
+ /**
1810
+ * Get the database instance. Used by query wrapper functions and middleware.
1811
+ *
1812
+ * Checks the ALS request context first — if a per-request DB override is set
1813
+ * (e.g. by DO preview middleware), it takes precedence over the module-level
1814
+ * cached instance. This allows preview mode to route queries to an isolated
1815
+ * Durable Object database without modifying any calling code.
1816
+ *
1817
+ * Initializes the default database on first call using config from virtual module.
1818
+ */
1819
+ declare function getDb(): Promise<Kysely<Database>>;
1820
+ /**
1821
+ * Create an EmDash Live Collections loader
1822
+ *
1823
+ * This loader handles ALL content types in a single Astro collection.
1824
+ * Use `getEmDashCollection()` and `getEmDashEntry()` to query
1825
+ * specific content types.
1826
+ *
1827
+ * Database is configured in astro.config.mjs via the emdash() integration.
1828
+ *
1829
+ * @example
1830
+ * ```ts
1831
+ * // src/live.config.ts
1832
+ * import { defineLiveCollection } from "astro:content";
1833
+ * import { emdashLoader } from "emdash";
1834
+ *
1835
+ * export const collections = {
1836
+ * emdash: defineLiveCollection({
1837
+ * loader: emdashLoader(),
1838
+ * }),
1839
+ * };
1840
+ * ```
1841
+ */
1842
+ declare function emdashLoader(): LiveLoader<EntryData, EntryFilter, CollectionFilter$1>;
1843
+ //#endregion
1543
1844
  //#region src/visual-editing/editable.d.ts
1544
1845
  /**
1545
1846
  * Visual editing annotation system
@@ -1622,15 +1923,15 @@ type InferCollectionData<T extends string> = T extends keyof EmDashCollections ?
1622
1923
  /**
1623
1924
  * Sort direction
1624
1925
  */
1625
- type SortDirection$1 = "asc" | "desc";
1926
+ type SortDirection = "asc" | "desc";
1626
1927
  /**
1627
1928
  * Order by specification - field name to direction
1628
1929
  * @example { created_at: "desc" } - Sort by created_at descending
1629
1930
  * @example { title: "asc" } - Sort by title ascending
1630
1931
  * @example { published_at: "desc", title: "asc" } - Multi-field sort
1631
1932
  */
1632
- type OrderBySpec$1 = Record<string, SortDirection$1>;
1633
- interface CollectionFilter$1 {
1933
+ type OrderBySpec = Record<string, SortDirection>;
1934
+ interface CollectionFilter {
1634
1935
  status?: "draft" | "published" | "archived";
1635
1936
  limit?: number;
1636
1937
  /**
@@ -1647,11 +1948,17 @@ interface CollectionFilter$1 {
1647
1948
  */
1648
1949
  cursor?: string;
1649
1950
  /**
1650
- * Filter by field values or taxonomy terms
1951
+ * Filter by field values, taxonomy terms, or ranges.
1952
+ *
1953
+ * Taxonomy names are detected automatically and filtered via JOIN.
1954
+ * Other keys are treated as column filters on the content table.
1955
+ *
1651
1956
  * @example { category: 'news' } - Filter by taxonomy term
1652
1957
  * @example { category: ['news', 'featured'] } - Filter by multiple terms (OR)
1958
+ * @example { series: 'main' } - Exact match on a content field
1959
+ * @example { published_at: { gte: '2024-01-01', lt: '2025-01-01' } } - Date range
1653
1960
  */
1654
- where?: Record<string, string | string[]>;
1961
+ where?: Record<string, WhereValue>;
1655
1962
  /**
1656
1963
  * Order results by field(s)
1657
1964
  * @default { created_at: "desc" }
@@ -1659,7 +1966,7 @@ interface CollectionFilter$1 {
1659
1966
  * @example { title: "asc" } - Sort by title ascending
1660
1967
  * @example { published_at: "desc", title: "asc" } - Multi-field sort
1661
1968
  */
1662
- orderBy?: OrderBySpec$1;
1969
+ orderBy?: OrderBySpec;
1663
1970
  /**
1664
1971
  * Filter by locale. When set, only returns entries in this locale.
1665
1972
  * Only relevant when i18n is configured.
@@ -1746,7 +2053,7 @@ declare function getEditMeta(value: unknown): EditFieldMeta | undefined;
1746
2053
  * const { entries: drafts } = await getEmDashCollection("posts", { status: "draft" });
1747
2054
  * ```
1748
2055
  */
1749
- declare function getEmDashCollection<T extends string, D = InferCollectionData<T>>(type: T, filter?: CollectionFilter$1): Promise<CollectionResult<D>>;
2056
+ declare function getEmDashCollection<T extends string, D = InferCollectionData<T>>(type: T, filter?: CollectionFilter): Promise<CollectionResult<D>>;
1750
2057
  /**
1751
2058
  * Get a single entry by type and ID/slug
1752
2059
  *
@@ -1900,100 +2207,6 @@ declare function isI18nEnabled(): boolean;
1900
2207
  */
1901
2208
  declare function getFallbackChain(locale: string): string[];
1902
2209
  //#endregion
1903
- //#region src/loader.d.ts
1904
- /**
1905
- * Entry data type - generic object
1906
- */
1907
- type EntryData = Record<string, unknown>;
1908
- /**
1909
- * Sort direction
1910
- */
1911
- type SortDirection = "asc" | "desc";
1912
- /**
1913
- * Order by specification - field name to direction
1914
- * @example { created_at: "desc" } - Sort by created_at descending
1915
- * @example { title: "asc" } - Sort by title ascending
1916
- */
1917
- type OrderBySpec = Record<string, SortDirection>;
1918
- /**
1919
- * Filter for loadCollection - type is required
1920
- */
1921
- interface CollectionFilter {
1922
- type: string;
1923
- status?: "draft" | "published" | "archived";
1924
- limit?: number;
1925
- /**
1926
- * Opaque cursor for keyset pagination.
1927
- * Pass the `nextCursor` value from a previous result to fetch the next page.
1928
- */
1929
- cursor?: string;
1930
- /**
1931
- * Filter by field values or taxonomy terms
1932
- */
1933
- where?: Record<string, string | string[]>;
1934
- /**
1935
- * Order results by field(s)
1936
- * @default { created_at: "desc" }
1937
- */
1938
- orderBy?: OrderBySpec;
1939
- /**
1940
- * Filter by locale (e.g. 'en', 'fr').
1941
- * When set, only returns content in this locale.
1942
- */
1943
- locale?: string;
1944
- }
1945
- /**
1946
- * Filter for loadEntry - type and id are required
1947
- */
1948
- interface EntryFilter {
1949
- type: string;
1950
- id: string;
1951
- /**
1952
- * When set, fetch content data from this revision instead of the content table.
1953
- * Used by preview mode to serve draft revision data.
1954
- */
1955
- revisionId?: string;
1956
- /**
1957
- * Locale to scope slug lookup. Only affects slug resolution;
1958
- * IDs are globally unique and always resolve regardless of locale.
1959
- */
1960
- locale?: string;
1961
- }
1962
- /**
1963
- * Get the database instance. Used by query wrapper functions and middleware.
1964
- *
1965
- * Checks the ALS request context first — if a per-request DB override is set
1966
- * (e.g. by DO preview middleware), it takes precedence over the module-level
1967
- * cached instance. This allows preview mode to route queries to an isolated
1968
- * Durable Object database without modifying any calling code.
1969
- *
1970
- * Initializes the default database on first call using config from virtual module.
1971
- */
1972
- declare function getDb(): Promise<Kysely<Database>>;
1973
- /**
1974
- * Create an EmDash Live Collections loader
1975
- *
1976
- * This loader handles ALL content types in a single Astro collection.
1977
- * Use `getEmDashCollection()` and `getEmDashEntry()` to query
1978
- * specific content types.
1979
- *
1980
- * Database is configured in astro.config.mjs via the emdash() integration.
1981
- *
1982
- * @example
1983
- * ```ts
1984
- * // src/live.config.ts
1985
- * import { defineLiveCollection } from "astro:content";
1986
- * import { emdashLoader } from "emdash";
1987
- *
1988
- * export const collections = {
1989
- * emdash: defineLiveCollection({
1990
- * loader: emdashLoader(),
1991
- * }),
1992
- * };
1993
- * ```
1994
- */
1995
- declare function emdashLoader(): LiveLoader<EntryData, EntryFilter, CollectionFilter>;
1996
- //#endregion
1997
2210
  //#region src/plugins/define-plugin.d.ts
1998
2211
  /**
1999
2212
  * Define a native EmDash plugin.
@@ -2253,6 +2466,16 @@ interface EmDashConfig {
2253
2466
  * ```
2254
2467
  */
2255
2468
  sandboxRunner?: string;
2469
+ /**
2470
+ * Explicitly disable plugin sandboxing, even if a sandbox runner is configured.
2471
+ * Use this as a debugging escape hatch to determine whether a bug is in your
2472
+ * plugin code or in the sandbox runtime.
2473
+ *
2474
+ * When set to `false`, all plugins run in-process without isolation.
2475
+ *
2476
+ * @default true (sandboxing enabled if sandboxRunner is configured)
2477
+ */
2478
+ sandbox?: boolean;
2256
2479
  /**
2257
2480
  * Authentication configuration
2258
2481
  *
@@ -2529,6 +2752,13 @@ interface EmDashConfig {
2529
2752
  siteName?: string; /** URL or path to a custom favicon for the admin panel. */
2530
2753
  favicon?: string;
2531
2754
  };
2755
+ /**
2756
+ * Version of Astro the host project is building with. Populated by the
2757
+ * integration's `astro:config:setup` hook (not authored by the user) and
2758
+ * surfaced to the admin and the registry install gate so a plugin's
2759
+ * `env:astro` requirement can be evaluated against the real host version.
2760
+ */
2761
+ astroVersion?: string;
2532
2762
  }
2533
2763
  /**
2534
2764
  * Get stored config from global
@@ -2696,10 +2926,10 @@ declare const pluginManifestSchema: z$1.ZodObject<{
2696
2926
  string: "string";
2697
2927
  number: "number";
2698
2928
  boolean: "boolean";
2699
- slug: "slug";
2700
2929
  file: "file";
2701
- datetime: "datetime";
2702
2930
  image: "image";
2931
+ slug: "slug";
2932
+ datetime: "datetime";
2703
2933
  text: "text";
2704
2934
  integer: "integer";
2705
2935
  select: "select";
@@ -3058,6 +3288,19 @@ declare class EmailPipeline {
3058
3288
  }
3059
3289
  //#endregion
3060
3290
  //#region src/plugins/context.d.ts
3291
+ /**
3292
+ * Create HTTP access with host validation.
3293
+ *
3294
+ * Uses redirect: "manual" to re-validate each redirect target against
3295
+ * the allowedHosts list, preventing redirects to unauthorized hosts.
3296
+ */
3297
+ declare function createHttpAccess(pluginId: string, allowedHosts: string[]): HttpAccess;
3298
+ /**
3299
+ * Create unrestricted HTTP access (for plugins with network:fetch:any capability).
3300
+ * No host validation, but applies SSRF protection on redirect targets to
3301
+ * prevent plugins from being tricked into reaching internal services.
3302
+ */
3303
+ declare function createUnrestrictedHttpAccess(pluginId: string): HttpAccess;
3061
3304
  /**
3062
3305
  * Options for creating site info
3063
3306
  */
@@ -3405,6 +3648,10 @@ declare class NoopSandboxRunner implements SandboxRunner {
3405
3648
  * Always returns false - sandboxing is not available.
3406
3649
  */
3407
3650
  isAvailable(): boolean;
3651
+ /**
3652
+ * Always returns false - no sandbox runtime to be healthy.
3653
+ */
3654
+ isHealthy(): boolean;
3408
3655
  /**
3409
3656
  * Always throws - can't load sandboxed plugins without isolation.
3410
3657
  */
@@ -3869,17 +4116,31 @@ declare function getByline(id: string): Promise<BylineSummary | null>;
3869
4116
  /**
3870
4117
  * Get a byline by slug.
3871
4118
  *
4119
+ * Standalone identity lookup (e.g. rendering an author profile page). Walks
4120
+ * the configured locale fallback chain — same pattern as `getMenu` and
4121
+ * `getTerm`, see PR #916. Returns the first match found, walking
4122
+ * `[requestedLocale, ...fallbacks, defaultLocale]` in order.
4123
+ *
4124
+ * Note: this is intentionally different from credit hydration on a content
4125
+ * entry (`getEntryBylines`), which is strict per locale with no fallback.
4126
+ * The distinction: identity lookups answer "give me this byline", and
4127
+ * falling back to another locale's display name is acceptable. Credit
4128
+ * hydration answers "what should render on this entry", where falling back
4129
+ * silently surfaces a stale-locale name and contradicts editorial intent.
4130
+ *
3872
4131
  * @example
3873
4132
  * ```ts
3874
4133
  * import { getBylineBySlug } from "emdash";
3875
4134
  *
3876
- * const byline = await getBylineBySlug("jane-doe");
4135
+ * const byline = await getBylineBySlug("jane-doe", { locale: "de-de" });
3877
4136
  * if (byline) {
3878
- * console.log(byline.displayName); // "Jane Doe"
4137
+ * console.log(byline.displayName);
3879
4138
  * }
3880
4139
  * ```
3881
4140
  */
3882
- declare function getBylineBySlug(slug: string): Promise<BylineSummary | null>;
4141
+ declare function getBylineBySlug(slug: string, options?: {
4142
+ locale?: string;
4143
+ }): Promise<BylineSummary | null>;
3883
4144
  //#endregion
3884
4145
  //#region src/taxonomies/types.d.ts
3885
4146
  /**
@@ -4433,5 +4694,5 @@ declare function extractPlainText(blocks: PortableTextBlock[] | string | null |
4433
4694
  */
4434
4695
  declare function extractSearchableFields(entry: Record<string, unknown>, fields: string[]): Record<string, string>;
4435
4696
  //#endregion
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-BV8iJ-6s.d.mts.map
4697
+ export { UpdateMenuInput as $, UpdateSectionInput as $n, EditFieldMeta as $t, getEntriesByTerm as A, PortableTextImageBlock as An, handleContentSchedule as Ar, EmailPipeline as At, TaxonomyTerm as B, SandboxEmailSendCallback as Bn, FieldUIHints as Br, S3StorageConfig as Bt, ReorderWidgetsInput as C, isSafeHref as Cn, handleContentGet as Cr, SandboxNotAvailableError as Ct, WidgetComponentDef as D, portableTextToProsemirror as Dn, handleContentPermanentDelete as Dr, PluginRouteError as Dt, WidgetArea as E, hashString as En, handleContentListTrashed as Er, createPluginManager as Et, getTerm as F, PortableTextUnknownBlock as Fn, portableText as Fr, pluginManifestSchema as Ft, getMenu as G, SandboxedPluginInstance as Gn, UserRepository as Gr, getI18nConfig as Gt, UpdateTermInput as H, SandboxRunner as Hn, ImageValue as Hr, definePlugin as Ht, getTermsForEntries as I, ProseMirrorDocument as In, reference as Ir, EmDashConfig as It, CreateMenuItemInput as J, getSections as Jn, MediaRepository as Jr, after as Jt, getMenus as K, SerializedRequest as Kn, CreateMediaInput as Kr, isI18nEnabled as Kt, invalidateTermCache as L, ProseMirrorMark as Ln, file as Lr, PluginDescriptor as Lt, getTaxonomyDef as M, PortableTextMarkDef as Mn, handleContentUnpublish as Mr, HookResult as Mt, getTaxonomyDefs as N, PortableTextSpan as Nn, handleContentUnschedule as Nr, createHookPipeline as Nt, WidgetType as O, prosemirrorToPortableText as On, handleContentPublish as Or, createHttpAccess as Ot, getTaxonomyTerms as P, PortableTextTextBlock as Pn, handleContentUpdate as Pr, ValidatedPluginManifest as Pt, ReorderMenuItemsInput as Q, SectionSource as Qn, ContentEntry as Qt, CreateTermInput as R, ProseMirrorNode as Rn, image as Rr, getStoredConfig as Rt, PropDef as S, getDb as Sn, handleContentDuplicate as Sr, NoopSandboxRunner as St, Widget as T, computeContentHash as Tn, handleContentList as Tr, PluginManager as Tt, getByline as U, SandboxRunnerFactory as Un, PortableTextBlock$1 as Ur, I18nConfig as Ut, TaxonomyTermRow as V, SandboxOptions as Vn, FileValue as Vr, StorageDescriptor as Vt, getBylineBySlug as W, SandboxUnavailableError as Wn, PluginStorageRepository as Wr, getFallbackChain as Wt, MenuItem as X, GetSectionsOptions as Xn, DatabaseConfig as Xr, CollectionFilter as Xt, Menu as Y, CreateSectionInput as Yn, ContentRepository as Yr, CacheHint as Yt, MenuItemType as Z, Section as Zn, EmDashDatabaseError as Zr, CollectionResult as Zt, getWidgetArea as _, EntryData as _n, handleContentCountScheduled as _r, VerifyPreviewTokenOptions as _t, search as a, TranslationsResult as an, handleMediaCreate as ar, getPluginSetting as at, CreateWidgetAreaInput as b, WhereValue as bn, handleContentDelete as br, parseContentId as bt, FTSManager as c, getEmDashEntry as cn, handleMediaList as cr, getSiteSettings as ct, SearchOptions as d, CMSAnnotation as dn, RevisionResponse as dr, isPreviewRequest as dt, EmDashCollections as en, getCollectionInfo as er, UpdateMenuItemInput as et, SearchResponse as f, EditProxy as fn, handleRevisionGet as fr, GetPreviewUrlOptions as ft, Suggestion as g, CollectionFilter$1 as gn, handleContentCompare as gr, PreviewTokenPayload as gt, SuggestOptions as h, createNoop as hn, generateManifest as hr, GeneratePreviewTokenOptions as ht, getSuggestions as i, TranslationSummary as in, MediaResponse as ir, getComments as it, getEntryTerms as j, PortableTextLinkMark as jn, handleContentTranslations as jr, HookPipeline as jt, getAllTermsForEntries as k, PortableTextCodeBlock as kn, handleContentRestore as kr, createUnrestrictedHttpAccess as kt, CollectionSearchOptions as l, getTranslations as ln, handleMediaUpdate as lr, setSiteSettings as lt, SearchStats as m, createEditable as mn, handleRevisionRestore as mr, getPreviewUrl as mt, extractSearchableFields as n, InferCollectionData as nn, SchemaRegistry as nr, GetCommentsResult as nt, searchCollection as o, getEditMeta as on, handleMediaDelete as or, getPluginSettings as ot, SearchResult as p, FieldAnnotation as pn, handleRevisionList as pr, buildPreviewUrl as pt, CreateMenuInput as q, getSection as qn, MediaItem as qr, WaitUntilFn as qt, getSearchStats as r, ResolvePathResult as rn, MediaListResponse as rr, getCommentCount as rt, searchWithDb as s, getEmDashCollection as sn, handleMediaGet as sr, getSiteSetting as st, extractPlainText as t, EntryResult as tn, SchemaError as tr, GetCommentsOptions as tt, SearchConfig as u, resolveEmDashPath as un, RevisionListResponse as ur, getPreviewToken as ut, getWidgetAreas as v, EntryFilter as vn, handleContentCountTrashed as vr, VerifyPreviewTokenResult as vt, UpdateWidgetInput as w, sanitizeHref as wn, handleContentGetIncludingTrashed as wr, createNoopSandboxRunner as wt, CreateWidgetInput as x, emdashLoader as xn, handleContentDiscardDraft as xr, verifyPreviewToken as xt, getWidgetComponents as y, WhereRange as yn, handleContentCreate as yr, generatePreviewToken as yt, TaxonomyDef as z, SandboxEmailMessage as zn, FieldDefinition as zr, LocalStorageConfig as zt };
4698
+ //# sourceMappingURL=index-BPZFAcgE.d.mts.map