emdash 0.16.1 → 0.17.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 (562) hide show
  1. package/dist/{adapters-C4yd_UJR.d.mts → adapters-C5AWLJSD.d.mts} +1 -1
  2. package/dist/{adapters-C4yd_UJR.d.mts.map → adapters-C5AWLJSD.d.mts.map} +1 -1
  3. package/dist/{allowed-origins-D0fFk9a6.mjs → allowed-origins-CyYLEJkp.mjs} +2 -2
  4. package/dist/{allowed-origins-D0fFk9a6.mjs.map → allowed-origins-CyYLEJkp.mjs.map} +1 -1
  5. package/dist/api/route-utils.d.mts +3 -3
  6. package/dist/api/route-utils.mjs +16 -16
  7. package/dist/api/schemas/index.d.mts +2 -2
  8. package/dist/api/schemas/index.mjs +3 -3
  9. package/dist/{api-BNKqxyFX.mjs → api-Dmz40c2V.mjs} +44 -22
  10. package/dist/api-Dmz40c2V.mjs.map +1 -0
  11. package/dist/{api-tokens-ucpcNXDt.mjs → api-tokens-VrXNiNvV.mjs} +2 -2
  12. package/dist/{api-tokens-ucpcNXDt.mjs.map → api-tokens-VrXNiNvV.mjs.map} +1 -1
  13. package/dist/{apply-BOPaD-s9.mjs → apply-CgamLmed.mjs} +93 -31
  14. package/dist/apply-CgamLmed.mjs.map +1 -0
  15. package/dist/astro/index.d.mts +10 -10
  16. package/dist/astro/index.mjs +19 -3
  17. package/dist/astro/index.mjs.map +1 -1
  18. package/dist/astro/middleware/auth.d.mts +9 -9
  19. package/dist/astro/middleware/auth.mjs +6 -6
  20. package/dist/astro/middleware/redirect.d.mts.map +1 -1
  21. package/dist/astro/middleware/redirect.mjs +9 -5
  22. package/dist/astro/middleware/redirect.mjs.map +1 -1
  23. package/dist/astro/middleware/request-context.mjs +2 -2
  24. package/dist/astro/middleware/setup.mjs +1 -1
  25. package/dist/astro/middleware.mjs +66 -65
  26. package/dist/astro/middleware.mjs.map +1 -1
  27. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  28. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  29. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +4 -4
  30. package/dist/astro/routes/api/admin/api-tokens/index.mjs +5 -5
  31. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.d.mts +8 -0
  32. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.d.mts.map +1 -0
  33. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +23 -0
  34. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs.map +1 -0
  35. package/dist/astro/routes/api/admin/byline-fields/_slug_.d.mts +10 -0
  36. package/dist/astro/routes/api/admin/byline-fields/_slug_.d.mts.map +1 -0
  37. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +55 -0
  38. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs.map +1 -0
  39. package/dist/astro/routes/api/admin/byline-fields/index.d.mts +9 -0
  40. package/dist/astro/routes/api/admin/byline-fields/index.d.mts.map +1 -0
  41. package/dist/astro/routes/api/admin/byline-fields/index.mjs +43 -0
  42. package/dist/astro/routes/api/admin/byline-fields/index.mjs.map +1 -0
  43. package/dist/astro/routes/api/admin/byline-fields/reorder.d.mts +8 -0
  44. package/dist/astro/routes/api/admin/byline-fields/reorder.d.mts.map +1 -0
  45. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +27 -0
  46. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs.map +1 -0
  47. package/dist/astro/routes/api/admin/bylines/_id_/index.d.mts.map +1 -1
  48. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +27 -28
  49. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  50. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +13 -12
  51. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  52. package/dist/astro/routes/api/admin/bylines/index.mjs +15 -13
  53. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  54. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +10 -10
  55. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  56. package/dist/astro/routes/api/admin/comments/bulk.mjs +8 -8
  57. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  58. package/dist/astro/routes/api/admin/comments/index.mjs +8 -8
  59. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +4 -4
  60. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +3 -3
  61. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +4 -4
  62. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +4 -4
  63. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +35 -34
  64. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
  65. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +35 -34
  66. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
  67. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +34 -33
  68. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  69. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +34 -33
  70. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  71. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +34 -33
  72. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  73. package/dist/astro/routes/api/admin/plugins/index.mjs +34 -33
  74. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  75. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +3 -3
  76. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +34 -33
  77. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  78. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +34 -33
  79. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  80. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +34 -33
  81. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  82. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +34 -33
  83. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  84. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +35 -34
  85. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +34 -33
  87. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
  88. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +35 -34
  89. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  90. package/dist/astro/routes/api/admin/plugins/updates.mjs +34 -33
  91. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  92. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +34 -33
  93. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  94. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +3 -3
  95. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +34 -33
  96. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  97. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +2 -2
  98. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +2 -2
  99. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  100. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +3 -3
  101. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  102. package/dist/astro/routes/api/auth/dev-bypass.mjs +5 -5
  103. package/dist/astro/routes/api/auth/invite/accept.mjs +2 -2
  104. package/dist/astro/routes/api/auth/invite/complete.mjs +9 -9
  105. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  106. package/dist/astro/routes/api/auth/invite/register-options.mjs +8 -8
  107. package/dist/astro/routes/api/auth/logout.mjs +3 -3
  108. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  109. package/dist/astro/routes/api/auth/magic-link/verify.mjs +3 -3
  110. package/dist/astro/routes/api/auth/me.d.mts.map +1 -1
  111. package/dist/astro/routes/api/auth/me.mjs +18 -11
  112. package/dist/astro/routes/api/auth/me.mjs.map +1 -1
  113. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  114. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  115. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  116. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  117. package/dist/astro/routes/api/auth/passkey/index.mjs +2 -2
  118. package/dist/astro/routes/api/auth/passkey/options.mjs +10 -10
  119. package/dist/astro/routes/api/auth/passkey/register/options.mjs +8 -8
  120. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +9 -9
  121. package/dist/astro/routes/api/auth/passkey/verify.mjs +9 -9
  122. package/dist/astro/routes/api/auth/signup/complete.mjs +9 -9
  123. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  124. package/dist/astro/routes/api/auth/signup/verify.mjs +2 -2
  125. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +11 -11
  126. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +3 -3
  127. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +3 -3
  128. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +3 -3
  129. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +3 -3
  130. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  131. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +6 -6
  132. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +3 -3
  133. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +3 -3
  134. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +6 -6
  135. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.d.mts.map +1 -1
  136. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +18 -13
  137. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs.map +1 -1
  138. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +3 -3
  139. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +3 -3
  140. package/dist/astro/routes/api/content/_collection_/_id_.d.mts.map +1 -1
  141. package/dist/astro/routes/api/content/_collection_/_id_.mjs +9 -7
  142. package/dist/astro/routes/api/content/_collection_/_id_.mjs.map +1 -1
  143. package/dist/astro/routes/api/content/_collection_/index.mjs +6 -6
  144. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  145. package/dist/astro/routes/api/dashboard.mjs +7 -7
  146. package/dist/astro/routes/api/dev/emails.mjs +3 -3
  147. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  148. package/dist/astro/routes/api/import/probe.mjs +10 -10
  149. package/dist/astro/routes/api/import/wordpress/analyze.mjs +4 -4
  150. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -9
  151. package/dist/astro/routes/api/import/wordpress/execute.mjs +11 -10
  152. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  153. package/dist/astro/routes/api/import/wordpress/media.mjs +8 -8
  154. package/dist/astro/routes/api/import/wordpress/prepare.mjs +9 -9
  155. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +8 -8
  156. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  157. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +10 -10
  158. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +1 -1
  159. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +13 -11
  160. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  161. package/dist/astro/routes/api/manifest.mjs +4 -4
  162. package/dist/astro/routes/api/mcp.mjs +34 -30
  163. package/dist/astro/routes/api/mcp.mjs.map +1 -1
  164. package/dist/astro/routes/api/media/_id_/confirm.mjs +6 -6
  165. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  166. package/dist/astro/routes/api/media/file/_...key_.mjs +2 -2
  167. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +3 -3
  168. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +3 -3
  169. package/dist/astro/routes/api/media/providers/index.mjs +3 -3
  170. package/dist/astro/routes/api/media/upload-url.mjs +8 -8
  171. package/dist/astro/routes/api/media.d.mts.map +1 -1
  172. package/dist/astro/routes/api/media.mjs +13 -12
  173. package/dist/astro/routes/api/media.mjs.map +1 -1
  174. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +7 -7
  175. package/dist/astro/routes/api/menus/_name_/items.mjs +7 -7
  176. package/dist/astro/routes/api/menus/_name_/reorder.mjs +7 -7
  177. package/dist/astro/routes/api/menus/_name_/translations.mjs +7 -7
  178. package/dist/astro/routes/api/menus/_name_.mjs +7 -7
  179. package/dist/astro/routes/api/menus/index.mjs +7 -7
  180. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  181. package/dist/astro/routes/api/oauth/device/authorize.mjs +6 -6
  182. package/dist/astro/routes/api/oauth/device/code.mjs +9 -9
  183. package/dist/astro/routes/api/oauth/device/token.mjs +8 -8
  184. package/dist/astro/routes/api/oauth/register.mjs +3 -3
  185. package/dist/astro/routes/api/oauth/token/refresh.mjs +6 -6
  186. package/dist/astro/routes/api/oauth/token/revoke.mjs +6 -6
  187. package/dist/astro/routes/api/oauth/token.mjs +6 -6
  188. package/dist/astro/routes/api/openapi.json.mjs +10 -7
  189. package/dist/astro/routes/api/openapi.json.mjs.map +1 -1
  190. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +4 -4
  191. package/dist/astro/routes/api/redirects/404s/index.mjs +8 -8
  192. package/dist/astro/routes/api/redirects/404s/summary.mjs +8 -8
  193. package/dist/astro/routes/api/redirects/_id_.mjs +9 -9
  194. package/dist/astro/routes/api/redirects/index.mjs +9 -9
  195. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +3 -3
  196. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +3 -3
  197. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +34 -33
  198. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  199. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +34 -33
  200. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  201. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +34 -33
  202. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  203. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +34 -33
  204. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  205. package/dist/astro/routes/api/schema/collections/index.mjs +34 -33
  206. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  207. package/dist/astro/routes/api/schema/index.mjs +6 -6
  208. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +34 -33
  209. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  210. package/dist/astro/routes/api/schema/orphans/index.mjs +34 -33
  211. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  212. package/dist/astro/routes/api/search/enable.mjs +9 -9
  213. package/dist/astro/routes/api/search/index.mjs +8 -8
  214. package/dist/astro/routes/api/search/rebuild.mjs +9 -9
  215. package/dist/astro/routes/api/search/stats.mjs +6 -6
  216. package/dist/astro/routes/api/search/suggest.mjs +8 -8
  217. package/dist/astro/routes/api/sections/_slug_.mjs +8 -8
  218. package/dist/astro/routes/api/sections/index.mjs +8 -8
  219. package/dist/astro/routes/api/settings/email.mjs +4 -4
  220. package/dist/astro/routes/api/settings.mjs +11 -11
  221. package/dist/astro/routes/api/setup/admin-verify.mjs +10 -10
  222. package/dist/astro/routes/api/setup/admin.mjs +9 -9
  223. package/dist/astro/routes/api/setup/dev-bypass.mjs +24 -23
  224. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  225. package/dist/astro/routes/api/setup/dev-reset.mjs +2 -2
  226. package/dist/astro/routes/api/setup/index.mjs +24 -23
  227. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  228. package/dist/astro/routes/api/setup/status.mjs +4 -4
  229. package/dist/astro/routes/api/snapshot.mjs +5 -5
  230. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +12 -12
  231. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +12 -12
  232. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +12 -12
  233. package/dist/astro/routes/api/taxonomies/index.mjs +12 -12
  234. package/dist/astro/routes/api/themes/preview.mjs +5 -5
  235. package/dist/astro/routes/api/typegen.mjs +5 -5
  236. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  237. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  238. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  239. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +6 -6
  240. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +8 -8
  241. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +8 -8
  242. package/dist/astro/routes/api/widget-areas/_name_.mjs +5 -5
  243. package/dist/astro/routes/api/widget-areas/index.mjs +8 -8
  244. package/dist/astro/routes/api/widget-components.mjs +3 -3
  245. package/dist/astro/routes/robots.txt.mjs +6 -6
  246. package/dist/astro/routes/sitemap-_collection_.xml.mjs +8 -8
  247. package/dist/astro/routes/sitemap.xml.mjs +7 -7
  248. package/dist/astro/types.d.mts +13 -12
  249. package/dist/astro/types.d.mts.map +1 -1
  250. package/dist/auth/providers/github.d.mts +1 -1
  251. package/dist/auth/providers/google.d.mts +1 -1
  252. package/dist/{authorize-Bn4S4DUT.mjs → authorize-_wWM_44T.mjs} +2 -2
  253. package/dist/{authorize-Bn4S4DUT.mjs.map → authorize-_wWM_44T.mjs.map} +1 -1
  254. package/dist/byline-BrIVWLm-.mjs +925 -0
  255. package/dist/byline-BrIVWLm-.mjs.map +1 -0
  256. package/dist/{bylines-DWLnr6-k.d.mts → byline-fields-BNy7Ng1U.d.mts} +151 -23
  257. package/dist/byline-fields-BNy7Ng1U.d.mts.map +1 -0
  258. package/dist/byline-fields-DC3Wkk-U.mjs +123 -0
  259. package/dist/byline-fields-DC3Wkk-U.mjs.map +1 -0
  260. package/dist/byline-fields-Dr-xcb6S.mjs +238 -0
  261. package/dist/byline-fields-Dr-xcb6S.mjs.map +1 -0
  262. package/dist/byline-registry-CxK5g559.mjs +406 -0
  263. package/dist/byline-registry-CxK5g559.mjs.map +1 -0
  264. package/dist/{bylines-n6nykUyI.mjs → bylines-C_POWmGT.mjs} +25 -11
  265. package/dist/{bylines-n6nykUyI.mjs.map → bylines-C_POWmGT.mjs.map} +1 -1
  266. package/dist/bylines-sqExMElV.mjs +204 -0
  267. package/dist/bylines-sqExMElV.mjs.map +1 -0
  268. package/dist/{cache-BcI1yUjR.mjs → cache-wsDkA8ru.mjs} +2 -2
  269. package/dist/{cache-BcI1yUjR.mjs.map → cache-wsDkA8ru.mjs.map} +1 -1
  270. package/dist/{challenge-store-Dng1SxKT.mjs → challenge-store-DGwuCc4R.mjs} +1 -1
  271. package/dist/{challenge-store-Dng1SxKT.mjs.map → challenge-store-DGwuCc4R.mjs.map} +1 -1
  272. package/dist/{chunks-cYG4SnIP.mjs → chunks-BAYkM-CF.mjs} +2 -2
  273. package/dist/{chunks-cYG4SnIP.mjs.map → chunks-BAYkM-CF.mjs.map} +1 -1
  274. package/dist/cli/index.mjs +29 -23
  275. package/dist/cli/index.mjs.map +1 -1
  276. package/dist/client/cf-access.d.mts +1 -1
  277. package/dist/client/index.d.mts +2 -1
  278. package/dist/client/index.d.mts.map +1 -1
  279. package/dist/client/index.mjs +4 -2
  280. package/dist/client/index.mjs.map +1 -1
  281. package/dist/{comment-C76G-9tz.mjs → comment-Cd29aktf.mjs} +2 -2
  282. package/dist/{comment-C76G-9tz.mjs.map → comment-Cd29aktf.mjs.map} +1 -1
  283. package/dist/{comments-CCxFFGY1.mjs → comments-B7ufhkxN.mjs} +3 -3
  284. package/dist/{comments-CCxFFGY1.mjs.map → comments-B7ufhkxN.mjs.map} +1 -1
  285. package/dist/{components-Dx3DM0gg.mjs → components-CTfpu3PZ.mjs} +1 -1
  286. package/dist/{components-Dx3DM0gg.mjs.map → components-CTfpu3PZ.mjs.map} +1 -1
  287. package/dist/{content-8voQNTXX.mjs → content-BbqKo3Kc.mjs} +22 -3
  288. package/dist/content-BbqKo3Kc.mjs.map +1 -0
  289. package/dist/{context-B7qiYrz2.mjs → context-BsF1rhoI.mjs} +9 -9
  290. package/dist/{context-B7qiYrz2.mjs.map → context-BsF1rhoI.mjs.map} +1 -1
  291. package/dist/{cron-Bd3b3iuj.mjs → cron-DZovZUnC.mjs} +1 -1
  292. package/dist/{cron-Bd3b3iuj.mjs.map → cron-DZovZUnC.mjs.map} +1 -1
  293. package/dist/{dashboard-BeaFSPpx.mjs → dashboard-BwIX9r-X.mjs} +4 -4
  294. package/dist/{dashboard-BeaFSPpx.mjs.map → dashboard-BwIX9r-X.mjs.map} +1 -1
  295. package/dist/db/index.d.mts +3 -3
  296. package/dist/db/index.mjs +1 -1
  297. package/dist/db/libsql.d.mts +1 -1
  298. package/dist/db/postgres.d.mts +1 -1
  299. package/dist/db/sqlite.d.mts +1 -1
  300. package/dist/{db-errors-BiYqoX-n.mjs → db-errors-CtzxKBxe.mjs} +1 -1
  301. package/dist/{db-errors-BiYqoX-n.mjs.map → db-errors-CtzxKBxe.mjs.map} +1 -1
  302. package/dist/{default-BvTAYCzx.mjs → default-xLFNSsZ9.mjs} +1 -1
  303. package/dist/{default-BvTAYCzx.mjs.map → default-xLFNSsZ9.mjs.map} +1 -1
  304. package/dist/{device-flow-B9oG8PwP.mjs → device-flow-ptLrVINd.mjs} +4 -4
  305. package/dist/{device-flow-B9oG8PwP.mjs.map → device-flow-ptLrVINd.mjs.map} +1 -1
  306. package/dist/{email-console-CubRll9q.mjs → email-console-DHT2Fbpj.mjs} +1 -1
  307. package/dist/{email-console-CubRll9q.mjs.map → email-console-DHT2Fbpj.mjs.map} +1 -1
  308. package/dist/{error-ChfADBuu.mjs → error-npZWBSb7.mjs} +7 -3
  309. package/dist/error-npZWBSb7.mjs.map +1 -0
  310. package/dist/{escape-Cg6kMELH.mjs → escape-bIyGoW5W.mjs} +1 -1
  311. package/dist/{escape-Cg6kMELH.mjs.map → escape-bIyGoW5W.mjs.map} +1 -1
  312. package/dist/{fts-manager-C_b-4x8u.mjs → fts-manager-DmUAk-kQ.mjs} +2 -2
  313. package/dist/{fts-manager-C_b-4x8u.mjs.map → fts-manager-DmUAk-kQ.mjs.map} +1 -1
  314. package/dist/{hash-DlUxGhQS.mjs → hash-9w3pd3-m.mjs} +1 -1
  315. package/dist/{hash-DlUxGhQS.mjs.map → hash-9w3pd3-m.mjs.map} +1 -1
  316. package/dist/{import-DG80rC_I.mjs → import-Dh8bWmyq.mjs} +3 -3
  317. package/dist/{import-DG80rC_I.mjs.map → import-Dh8bWmyq.mjs.map} +1 -1
  318. package/dist/{index-D_p_jIP1.d.mts → index-CjKdMZ3U.d.mts} +38 -16
  319. package/dist/index-CjKdMZ3U.d.mts.map +1 -0
  320. package/dist/{index-CC42STEm.d.mts → index-D60_SzHG.d.mts} +3 -3
  321. package/dist/{index-CC42STEm.d.mts.map → index-D60_SzHG.d.mts.map} +1 -1
  322. package/dist/index.d.mts +17 -17
  323. package/dist/index.mjs +55 -54
  324. package/dist/{load-CLFRjk9r.mjs → load-DsoLq7ex.mjs} +2 -2
  325. package/dist/{load-CLFRjk9r.mjs.map → load-DsoLq7ex.mjs.map} +1 -1
  326. package/dist/{loader-D-vIJjfY.mjs → loader-CJ6lWO0d.mjs} +75 -19
  327. package/dist/loader-CJ6lWO0d.mjs.map +1 -0
  328. package/dist/{manifest-schema-Czqf0TLu.mjs → manifest-schema-Cj-YrzrF.mjs} +1 -1
  329. package/dist/{manifest-schema-Czqf0TLu.mjs.map → manifest-schema-Cj-YrzrF.mjs.map} +1 -1
  330. package/dist/media/index.d.mts +1 -1
  331. package/dist/media/index.mjs +2 -2
  332. package/dist/media/local-runtime.d.mts +11 -11
  333. package/dist/media/local-runtime.mjs +5 -5
  334. package/dist/{media-allowlist-BNloC69x.mjs → media-allowlist-CMcoYIjQ.mjs} +2 -2
  335. package/dist/{media-allowlist-BNloC69x.mjs.map → media-allowlist-CMcoYIjQ.mjs.map} +1 -1
  336. package/dist/{media-CKQd8AYU.mjs → media-jk_HzzOl.mjs} +7 -2
  337. package/dist/media-jk_HzzOl.mjs.map +1 -0
  338. package/dist/{menus-arUNspyU.mjs → menus-B-5-3aon.mjs} +2 -2
  339. package/dist/{menus-arUNspyU.mjs.map → menus-B-5-3aon.mjs.map} +1 -1
  340. package/dist/{menus-C-nWT5Tu.mjs → menus-CyMO6GBx.mjs} +27 -11
  341. package/dist/menus-CyMO6GBx.mjs.map +1 -0
  342. package/dist/{mime-KV5TqkMN.mjs → mime-CCEzze7W.mjs} +1 -1
  343. package/dist/{mime-KV5TqkMN.mjs.map → mime-CCEzze7W.mjs.map} +1 -1
  344. package/dist/{mode-CaaiebZI.mjs → mode-BjlXswIw.mjs} +1 -1
  345. package/dist/{mode-CaaiebZI.mjs.map → mode-BjlXswIw.mjs.map} +1 -1
  346. package/dist/{normalize-CN5kRSMC.mjs → normalize-DVV8nbrL.mjs} +1 -1
  347. package/dist/{normalize-CN5kRSMC.mjs.map → normalize-DVV8nbrL.mjs.map} +1 -1
  348. package/dist/{oauth-authorization-CTMeVfvj.mjs → oauth-authorization-DvBAL75d.mjs} +4 -4
  349. package/dist/{oauth-authorization-CTMeVfvj.mjs.map → oauth-authorization-DvBAL75d.mjs.map} +1 -1
  350. package/dist/{oauth-clients-eJCbkVSG.mjs → oauth-clients-8mPDStMv.mjs} +1 -1
  351. package/dist/{oauth-clients-eJCbkVSG.mjs.map → oauth-clients-8mPDStMv.mjs.map} +1 -1
  352. package/dist/{oauth-state-store-vOSdOeGe.mjs → oauth-state-store-BJ7YtrfD.mjs} +1 -1
  353. package/dist/{oauth-state-store-vOSdOeGe.mjs.map → oauth-state-store-BJ7YtrfD.mjs.map} +1 -1
  354. package/dist/{oauth-user-lookup-3JwsVw6N.mjs → oauth-user-lookup-BdDSDvjF.mjs} +1 -1
  355. package/dist/{oauth-user-lookup-3JwsVw6N.mjs.map → oauth-user-lookup-BdDSDvjF.mjs.map} +1 -1
  356. package/dist/{options-DhV-gwJb.d.mts → options-tb7DJROi.d.mts} +3 -3
  357. package/dist/{options-DhV-gwJb.d.mts.map → options-tb7DJROi.d.mts.map} +1 -1
  358. package/dist/page/index.d.mts +2 -2
  359. package/dist/{parse-DHbXfvxO.mjs → parse-4zO5Y2DL.mjs} +2 -2
  360. package/dist/{parse-DHbXfvxO.mjs.map → parse-4zO5Y2DL.mjs.map} +1 -1
  361. package/dist/{passkey-config-BloQOT3y.mjs → passkey-config-BDVM86Tj.mjs} +1 -1
  362. package/dist/{passkey-config-BloQOT3y.mjs.map → passkey-config-BDVM86Tj.mjs.map} +1 -1
  363. package/dist/{placeholder-KCkkCtgQ.d.mts → placeholder-B9lUUEmj.d.mts} +1 -1
  364. package/dist/{placeholder-KCkkCtgQ.d.mts.map → placeholder-B9lUUEmj.d.mts.map} +1 -1
  365. package/dist/{placeholder-LqmHqvBw.mjs → placeholder-BZxr8W1j.mjs} +1 -1
  366. package/dist/{placeholder-LqmHqvBw.mjs.map → placeholder-BZxr8W1j.mjs.map} +1 -1
  367. package/dist/plugin-types.d.mts +1 -1
  368. package/dist/plugin-utils.d.mts +9 -9
  369. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  370. package/dist/plugins/adapt-sandbox-entry.mjs +2 -2
  371. package/dist/{preview-D4z0WONU.mjs → preview-BfuRkVKW.mjs} +2 -2
  372. package/dist/{preview-D4z0WONU.mjs.map → preview-BfuRkVKW.mjs.map} +1 -1
  373. package/dist/{public-url-CUWWFME2.mjs → public-url-egRHCy1m.mjs} +1 -1
  374. package/dist/{public-url-CUWWFME2.mjs.map → public-url-egRHCy1m.mjs.map} +1 -1
  375. package/dist/{query-7m6-l0f_.mjs → query-CuvjwhrE.mjs} +12 -12
  376. package/dist/{query-7m6-l0f_.mjs.map → query-CuvjwhrE.mjs.map} +1 -1
  377. package/dist/{rate-limit-D8RAXN8b.mjs → rate-limit-D6VQqBk_.mjs} +2 -2
  378. package/dist/{rate-limit-D8RAXN8b.mjs.map → rate-limit-D6VQqBk_.mjs.map} +1 -1
  379. package/dist/{redirect-CjfDGrTd.mjs → redirect-BZUJltlj.mjs} +2 -2
  380. package/dist/{redirect-CjfDGrTd.mjs.map → redirect-BZUJltlj.mjs.map} +1 -1
  381. package/dist/{redirect-BINiRYq4.mjs → redirect-Cw3JTlmj.mjs} +1 -1
  382. package/dist/{redirect-BINiRYq4.mjs.map → redirect-Cw3JTlmj.mjs.map} +1 -1
  383. package/dist/{redirects-COMLwsV5.mjs → redirects-C0L9JUk4.mjs} +19 -6
  384. package/dist/redirects-C0L9JUk4.mjs.map +1 -0
  385. package/dist/{redirects-CowoEHdE.mjs → redirects-DnYuqsEf.mjs} +3 -3
  386. package/dist/{redirects-CowoEHdE.mjs.map → redirects-DnYuqsEf.mjs.map} +1 -1
  387. package/dist/{registry-Cyp-dx6J.mjs → registry-Dn6gsx3L.mjs} +13 -5
  388. package/dist/{registry-Cyp-dx6J.mjs.map → registry-Dn6gsx3L.mjs.map} +1 -1
  389. package/dist/{request-cache-dzCt8TZB.mjs → request-cache-BYMs-BGX.mjs} +23 -2
  390. package/dist/{request-cache-dzCt8TZB.mjs.map → request-cache-BYMs-BGX.mjs.map} +1 -1
  391. package/dist/{request-meta-C_Cjii-T.mjs → request-meta-7ByVLxB-.mjs} +2 -2
  392. package/dist/{request-meta-C_Cjii-T.mjs.map → request-meta-7ByVLxB-.mjs.map} +1 -1
  393. package/dist/{resolve-D6sM-SgF.mjs → resolve-BqYMVG0D.mjs} +1 -1
  394. package/dist/{resolve-D6sM-SgF.mjs.map → resolve-BqYMVG0D.mjs.map} +1 -1
  395. package/dist/{runner-DSQBurMS.d.mts → runner-DM1yR5qd.d.mts} +2 -2
  396. package/dist/{runner-DSQBurMS.d.mts.map → runner-DM1yR5qd.d.mts.map} +1 -1
  397. package/dist/{runner-Drnvs96u.mjs → runner-eAgyIkeg.mjs} +284 -158
  398. package/dist/runner-eAgyIkeg.mjs.map +1 -0
  399. package/dist/runtime.d.mts +10 -10
  400. package/dist/runtime.mjs +2 -2
  401. package/dist/{schema-CI9mYPX3.mjs → schema--mYZX4D7.mjs} +5 -5
  402. package/dist/{schema-CI9mYPX3.mjs.map → schema--mYZX4D7.mjs.map} +1 -1
  403. package/dist/{search-DKz_mGBP.mjs → search-C6U_NvZI.mjs} +4 -4
  404. package/dist/{search-DKz_mGBP.mjs.map → search-C6U_NvZI.mjs.map} +1 -1
  405. package/dist/{secrets-rPdhEBkD.mjs → secrets-YYbTgB1w.mjs} +1 -1
  406. package/dist/{secrets-rPdhEBkD.mjs.map → secrets-YYbTgB1w.mjs.map} +1 -1
  407. package/dist/{sections-DBbCDIAT.mjs → sections-Ba-rJLKb.mjs} +3 -3
  408. package/dist/{sections-DBbCDIAT.mjs.map → sections-Ba-rJLKb.mjs.map} +1 -1
  409. package/dist/seed/index.d.mts +2 -2
  410. package/dist/seed/index.mjs +18 -17
  411. package/dist/seo/index.d.mts +1 -1
  412. package/dist/{seo-BGCyDlkb.mjs → seo-BTzb5ksq.mjs} +2 -2
  413. package/dist/{seo-BGCyDlkb.mjs.map → seo-BTzb5ksq.mjs.map} +1 -1
  414. package/dist/{seo-Dq707mNQ.mjs → seo-DfjLvu8i.mjs} +1 -1
  415. package/dist/{seo-Dq707mNQ.mjs.map → seo-DfjLvu8i.mjs.map} +1 -1
  416. package/dist/{service-B0H7U1Y9.mjs → service-Cn-kIfZn.mjs} +3 -3
  417. package/dist/{service-B0H7U1Y9.mjs.map → service-Cn-kIfZn.mjs.map} +1 -1
  418. package/dist/{settings-DfwNyQkf.mjs → settings-C65OSm41.mjs} +3 -3
  419. package/dist/{settings-DfwNyQkf.mjs.map → settings-C65OSm41.mjs.map} +1 -1
  420. package/dist/{settings-BSXRtTzk.mjs → settings-ChlQbwU0.mjs} +4 -4
  421. package/dist/{settings-BSXRtTzk.mjs.map → settings-ChlQbwU0.mjs.map} +1 -1
  422. package/dist/{setup-complete-MzzN9u0b.mjs → setup-complete-VoEZfasi.mjs} +1 -1
  423. package/dist/{setup-complete-MzzN9u0b.mjs.map → setup-complete-VoEZfasi.mjs.map} +1 -1
  424. package/dist/{setup-nonce-DXuriHsg.mjs → setup-nonce-Bm0uKqmf.mjs} +1 -1
  425. package/dist/{setup-nonce-DXuriHsg.mjs.map → setup-nonce-Bm0uKqmf.mjs.map} +1 -1
  426. package/dist/{site-url-xkhw1tcz.mjs → site-url-Cm8-sJy7.mjs} +1 -1
  427. package/dist/{site-url-xkhw1tcz.mjs.map → site-url-Cm8-sJy7.mjs.map} +1 -1
  428. package/dist/{ssrf-MZ-zrG6-.mjs → ssrf-BsVGIE0Z.mjs} +1 -1
  429. package/dist/{ssrf-MZ-zrG6-.mjs.map → ssrf-BsVGIE0Z.mjs.map} +1 -1
  430. package/dist/storage/local.d.mts +1 -1
  431. package/dist/storage/local.mjs +1 -1
  432. package/dist/storage/s3.d.mts +1 -1
  433. package/dist/storage/s3.mjs +1 -1
  434. package/dist/{taxonomies-CcvrMLbR.mjs → taxonomies-CgpzAU6F.mjs} +8 -8
  435. package/dist/{taxonomies-CcvrMLbR.mjs.map → taxonomies-CgpzAU6F.mjs.map} +1 -1
  436. package/dist/{taxonomies-4vx0nmMr.mjs → taxonomies-D72gTOg_.mjs} +4 -4
  437. package/dist/{taxonomies-4vx0nmMr.mjs.map → taxonomies-D72gTOg_.mjs.map} +1 -1
  438. package/dist/{taxonomy-zqGQUqgu.mjs → taxonomy-BBK-UAEo.mjs} +3 -3
  439. package/dist/{taxonomy-zqGQUqgu.mjs.map → taxonomy-BBK-UAEo.mjs.map} +1 -1
  440. package/dist/{tokens-N8otWMmj.mjs → tokens-Bx2afeT-.mjs} +1 -1
  441. package/dist/{tokens-N8otWMmj.mjs.map → tokens-Bx2afeT-.mjs.map} +1 -1
  442. package/dist/{transport-B6CHddbu.mjs → transport--Ck3RBin.mjs} +1 -1
  443. package/dist/{transport-B6CHddbu.mjs.map → transport--Ck3RBin.mjs.map} +1 -1
  444. package/dist/{transport-C2MGqtL6.d.mts → transport-OnMNbsIA.d.mts} +1 -1
  445. package/dist/{transport-C2MGqtL6.d.mts.map → transport-OnMNbsIA.d.mts.map} +1 -1
  446. package/dist/{trusted-proxy-97pajC2f.mjs → trusted-proxy-B4AfnoAp.mjs} +1 -1
  447. package/dist/{trusted-proxy-97pajC2f.mjs.map → trusted-proxy-B4AfnoAp.mjs.map} +1 -1
  448. package/dist/types-D8bhH891.mjs +125 -0
  449. package/dist/{types-DSZl1Dsv.mjs.map → types-D8bhH891.mjs.map} +1 -1
  450. package/dist/{types-DGHWRQgr.d.mts → types-DMwSpvcw.d.mts} +2 -2
  451. package/dist/{types-DGHWRQgr.d.mts.map → types-DMwSpvcw.d.mts.map} +1 -1
  452. package/dist/{types-bYmRn_Uy.d.mts → types-DWnN7weG.d.mts} +1 -1
  453. package/dist/{types-bYmRn_Uy.d.mts.map → types-DWnN7weG.d.mts.map} +1 -1
  454. package/dist/{types-Dgo6y-Ut.d.mts → types-DX6v9KzJ.d.mts} +1 -1
  455. package/dist/{types-Dgo6y-Ut.d.mts.map → types-DX6v9KzJ.d.mts.map} +1 -1
  456. package/dist/{types-DaqNzqVt.d.mts → types-DawhLFwy.d.mts} +35 -1
  457. package/dist/{types-DaqNzqVt.d.mts.map → types-DawhLFwy.d.mts.map} +1 -1
  458. package/dist/{types-CpUuGcd5.d.mts → types-DbCWhHet.d.mts} +8 -2
  459. package/dist/{types-CpUuGcd5.d.mts.map → types-DbCWhHet.d.mts.map} +1 -1
  460. package/dist/{types-Cd9UCu3t.mjs → types-DpFmlNyB.mjs} +1 -1
  461. package/dist/{types-Cd9UCu3t.mjs.map → types-DpFmlNyB.mjs.map} +1 -1
  462. package/dist/{types-D599-ruj.d.mts → types-Qa7-HJJC.d.mts} +1 -1
  463. package/dist/{types-D599-ruj.d.mts.map → types-Qa7-HJJC.d.mts.map} +1 -1
  464. package/dist/{types-B0bmgwMG.mjs → types-SF1DwGf2.mjs} +2 -2
  465. package/dist/types-SF1DwGf2.mjs.map +1 -0
  466. package/dist/{types-DaYDYW6g.d.mts → types-i8_uzhMD.d.mts} +40 -2
  467. package/dist/types-i8_uzhMD.d.mts.map +1 -0
  468. package/dist/{types-CkDSF81F.d.mts → types-kwqCOUxj.d.mts} +1 -1
  469. package/dist/{types-CkDSF81F.d.mts.map → types-kwqCOUxj.d.mts.map} +1 -1
  470. package/dist/{user-hUSOaIJy.mjs → user-X4rtyO4Y.mjs} +2 -2
  471. package/dist/{user-hUSOaIJy.mjs.map → user-X4rtyO4Y.mjs.map} +1 -1
  472. package/dist/{utils-C3wTAP-P.mjs → utils-C4Ih4DML.mjs} +1 -1
  473. package/dist/{utils-C3wTAP-P.mjs.map → utils-C4Ih4DML.mjs.map} +1 -1
  474. package/dist/{validate-IGltez8n.mjs → validate-DactmcJG.mjs} +23 -3
  475. package/dist/validate-DactmcJG.mjs.map +1 -0
  476. package/dist/{validate-DQtHw9NT.d.mts → validate-Dy6nkNls.d.mts} +25 -5
  477. package/dist/{validate-DQtHw9NT.d.mts.map → validate-Dy6nkNls.d.mts.map} +1 -1
  478. package/dist/{validation-Bmymau7y.mjs → validation-BYA4i85b.mjs} +6 -6
  479. package/dist/{validation-Bmymau7y.mjs.map → validation-BYA4i85b.mjs.map} +1 -1
  480. package/dist/version-FGcv0ooe.mjs +7 -0
  481. package/dist/{version-ITD3PlQd.mjs.map → version-FGcv0ooe.mjs.map} +1 -1
  482. package/dist/{widgets-yHQa4c6c.mjs → widgets-DG-1jxnz.mjs} +3 -3
  483. package/dist/{widgets-yHQa4c6c.mjs.map → widgets-DG-1jxnz.mjs.map} +1 -1
  484. package/dist/{zod-generator-B80aap1J.mjs → zod-generator-BNAObjSt.mjs} +3 -3
  485. package/dist/{zod-generator-B80aap1J.mjs.map → zod-generator-BNAObjSt.mjs.map} +1 -1
  486. package/package.json +7 -7
  487. package/src/api/errors.ts +7 -0
  488. package/src/api/handlers/byline-fields.ts +212 -0
  489. package/src/api/handlers/bylines.ts +126 -5
  490. package/src/api/handlers/content.ts +43 -2
  491. package/src/api/handlers/media.ts +2 -0
  492. package/src/api/openapi/document.ts +3 -0
  493. package/src/api/schemas/byline-fields.ts +188 -0
  494. package/src/api/schemas/bylines.ts +42 -0
  495. package/src/api/schemas/content.ts +2 -0
  496. package/src/api/schemas/index.ts +1 -0
  497. package/src/api/schemas/media.ts +2 -0
  498. package/src/astro/integration/routes.ts +27 -0
  499. package/src/astro/middleware/redirect.ts +5 -1
  500. package/src/astro/routes/api/admin/byline-fields/[slug]/usage.ts +36 -0
  501. package/src/astro/routes/api/admin/byline-fields/[slug].ts +92 -0
  502. package/src/astro/routes/api/admin/byline-fields/index.ts +66 -0
  503. package/src/astro/routes/api/admin/byline-fields/reorder.ts +39 -0
  504. package/src/astro/routes/api/admin/bylines/[id]/index.ts +23 -21
  505. package/src/astro/routes/api/admin/bylines/index.ts +1 -0
  506. package/src/astro/routes/api/auth/me.ts +21 -10
  507. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +15 -3
  508. package/src/astro/routes/api/content/[collection]/[id].ts +3 -1
  509. package/src/astro/routes/api/media.ts +1 -0
  510. package/src/astro/types.ts +1 -0
  511. package/src/bylines/field-defs-cache.ts +138 -0
  512. package/src/bylines/index.ts +37 -4
  513. package/src/cli/commands/content.ts +4 -2
  514. package/src/client/index.ts +4 -1
  515. package/src/components/InlinePortableTextEditor.tsx +69 -0
  516. package/src/content/converters/portable-text-to-prosemirror.ts +7 -0
  517. package/src/content/converters/prosemirror-to-portable-text.ts +16 -0
  518. package/src/content/converters/types.ts +10 -0
  519. package/src/database/migrations/041_content_locale_list_index.ts +47 -0
  520. package/src/database/migrations/042_byline_fields.ts +157 -0
  521. package/src/database/migrations/runner.ts +4 -0
  522. package/src/database/repositories/byline.ts +758 -50
  523. package/src/database/repositories/content.ts +43 -3
  524. package/src/database/repositories/media.ts +14 -0
  525. package/src/database/repositories/types.ts +38 -0
  526. package/src/database/types.ts +44 -0
  527. package/src/emdash-runtime.ts +4 -1
  528. package/src/index.ts +1 -0
  529. package/src/loader.ts +98 -10
  530. package/src/mcp/server.ts +10 -1
  531. package/src/request-cache.ts +23 -0
  532. package/src/schema/byline-registry.ts +671 -0
  533. package/src/schema/registry.ts +14 -0
  534. package/src/schema/types.ts +133 -0
  535. package/src/seed/apply.ts +101 -14
  536. package/src/seed/types.ts +21 -0
  537. package/src/seed/validate.ts +39 -0
  538. package/dist/api-BNKqxyFX.mjs.map +0 -1
  539. package/dist/apply-BOPaD-s9.mjs.map +0 -1
  540. package/dist/byline-BDylH_m4.mjs +0 -404
  541. package/dist/byline-BDylH_m4.mjs.map +0 -1
  542. package/dist/bylines-B7TFEvFf.mjs +0 -118
  543. package/dist/bylines-B7TFEvFf.mjs.map +0 -1
  544. package/dist/bylines-DWLnr6-k.d.mts.map +0 -1
  545. package/dist/content-8voQNTXX.mjs.map +0 -1
  546. package/dist/error-ChfADBuu.mjs.map +0 -1
  547. package/dist/index-D_p_jIP1.d.mts.map +0 -1
  548. package/dist/loader-D-vIJjfY.mjs.map +0 -1
  549. package/dist/media-CKQd8AYU.mjs.map +0 -1
  550. package/dist/menus-C-nWT5Tu.mjs.map +0 -1
  551. package/dist/redirects-COMLwsV5.mjs.map +0 -1
  552. package/dist/runner-Drnvs96u.mjs.map +0 -1
  553. package/dist/setup-Cf_TyOv5.mjs +0 -137
  554. package/dist/setup-Cf_TyOv5.mjs.map +0 -1
  555. package/dist/types-B0bmgwMG.mjs.map +0 -1
  556. package/dist/types-DSZl1Dsv.mjs +0 -83
  557. package/dist/types-DaYDYW6g.d.mts.map +0 -1
  558. package/dist/validate-IGltez8n.mjs.map +0 -1
  559. package/dist/version-ITD3PlQd.mjs +0 -7
  560. /package/dist/{api-tokens-iPIHAY8N.mjs → api-tokens-B6VgoE6M.mjs} +0 -0
  561. /package/dist/{ssrf-BIcd-aXW.mjs → ssrf-BvgVcfNQ.mjs} +0 -0
  562. /package/dist/{types-1NNkmTIn.mjs → types-Cj2S6FuC.mjs} +0 -0
@@ -1,39 +1,40 @@
1
1
  import "../../../../../../dialect-helpers-BKCvISIQ.mjs";
2
- import "../../../../../../content-8voQNTXX.mjs";
2
+ import "../../../../../../content-BbqKo3Kc.mjs";
3
3
  import "../../../../../../base64-CqR-7kqF.mjs";
4
- import "../../../../../../types-B0bmgwMG.mjs";
5
- import "../../../../../../media-CKQd8AYU.mjs";
6
- import "../../../../../../user-hUSOaIJy.mjs";
7
- import "../../../../../../taxonomy-zqGQUqgu.mjs";
8
- import "../../../../../../comment-C76G-9tz.mjs";
4
+ import "../../../../../../types-SF1DwGf2.mjs";
5
+ import "../../../../../../media-jk_HzzOl.mjs";
6
+ import "../../../../../../user-X4rtyO4Y.mjs";
7
+ import "../../../../../../taxonomy-BBK-UAEo.mjs";
8
+ import "../../../../../../comment-Cd29aktf.mjs";
9
9
  import "../../../../../../options-BL4X94qY.mjs";
10
- import "../../../../../../menus-arUNspyU.mjs";
11
- import "../../../../../../redirect-CjfDGrTd.mjs";
12
- import "../../../../../../byline-BDylH_m4.mjs";
13
- import "../../../../../../seo-BGCyDlkb.mjs";
14
- import { g as handleThemeSearch } from "../../../../../../api-BNKqxyFX.mjs";
15
- import "../../../../../../request-cache-dzCt8TZB.mjs";
16
- import "../../../../../../dashboard-BeaFSPpx.mjs";
17
- import "../../../../../../fts-manager-C_b-4x8u.mjs";
18
- import "../../../../../../registry-Cyp-dx6J.mjs";
19
- import "../../../../../../loader-D-vIJjfY.mjs";
20
- import "../../../../../../schema-CI9mYPX3.mjs";
21
- import "../../../../../../zod-generator-B80aap1J.mjs";
22
- import "../../../../../../seo-Dq707mNQ.mjs";
23
- import "../../../../../../sections-DBbCDIAT.mjs";
24
- import "../../../../../../settings-BSXRtTzk.mjs";
25
- import "../../../../../../settings-DfwNyQkf.mjs";
26
- import "../../../../../../resolve-D6sM-SgF.mjs";
27
- import "../../../../../../taxonomies-CcvrMLbR.mjs";
28
- import "../../../../../../taxonomies-4vx0nmMr.mjs";
29
- import "../../../../../../manifest-schema-Czqf0TLu.mjs";
30
- import "../../../../../../types-1NNkmTIn.mjs";
31
- import "../../../../../../ssrf-MZ-zrG6-.mjs";
32
- import { a as unwrapResult, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
33
- import "../../../../../../parse-DHbXfvxO.mjs";
34
- import "../../../../../../redirects-COMLwsV5.mjs";
35
- import "../../../../../../setup-Cf_TyOv5.mjs";
36
- import { n as requirePerm } from "../../../../../../authorize-Bn4S4DUT.mjs";
10
+ import "../../../../../../menus-B-5-3aon.mjs";
11
+ import "../../../../../../redirect-BZUJltlj.mjs";
12
+ import "../../../../../../request-cache-BYMs-BGX.mjs";
13
+ import "../../../../../../byline-registry-CxK5g559.mjs";
14
+ import "../../../../../../byline-BrIVWLm-.mjs";
15
+ import "../../../../../../seo-BTzb5ksq.mjs";
16
+ import { g as handleThemeSearch } from "../../../../../../api-Dmz40c2V.mjs";
17
+ import "../../../../../../dashboard-BwIX9r-X.mjs";
18
+ import "../../../../../../fts-manager-DmUAk-kQ.mjs";
19
+ import "../../../../../../registry-Dn6gsx3L.mjs";
20
+ import "../../../../../../loader-CJ6lWO0d.mjs";
21
+ import "../../../../../../schema--mYZX4D7.mjs";
22
+ import "../../../../../../zod-generator-BNAObjSt.mjs";
23
+ import "../../../../../../seo-DfjLvu8i.mjs";
24
+ import "../../../../../../sections-Ba-rJLKb.mjs";
25
+ import "../../../../../../settings-ChlQbwU0.mjs";
26
+ import "../../../../../../settings-C65OSm41.mjs";
27
+ import "../../../../../../resolve-BqYMVG0D.mjs";
28
+ import "../../../../../../taxonomies-CgpzAU6F.mjs";
29
+ import "../../../../../../taxonomies-D72gTOg_.mjs";
30
+ import "../../../../../../manifest-schema-Cj-YrzrF.mjs";
31
+ import "../../../../../../types-Cj2S6FuC.mjs";
32
+ import "../../../../../../ssrf-BsVGIE0Z.mjs";
33
+ import { a as unwrapResult, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
34
+ import "../../../../../../parse-4zO5Y2DL.mjs";
35
+ import "../../../../../../redirects-C0L9JUk4.mjs";
36
+ import "../../../../../../byline-fields-Dr-xcb6S.mjs";
37
+ import { n as requirePerm } from "../../../../../../authorize-_wWM_44T.mjs";
37
38
 
38
39
  //#region src/astro/routes/api/admin/themes/marketplace/index.ts
39
40
  const prerender = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/themes/marketplace/index.ts"],"sourcesContent":["/**\n * Theme marketplace search proxy endpoint\n *\n * GET /_emdash/api/admin/themes/marketplace - Search marketplace themes\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleThemeSearch } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ url, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tif (!emdash?.db) {\n\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\t}\n\n\tconst denied = requirePerm(user, \"plugins:read\");\n\tif (denied) return denied;\n\n\tconst query = url.searchParams.get(\"q\") ?? undefined;\n\tconst keyword = url.searchParams.get(\"keyword\") ?? undefined;\n\tconst sortParam = url.searchParams.get(\"sort\");\n\tconst validSorts = new Set([\"name\", \"created\", \"updated\"]);\n\tlet sort: \"name\" | \"created\" | \"updated\" | undefined;\n\tif (sortParam && validSorts.has(sortParam)) {\n\t\tsort = sortParam as \"name\" | \"created\" | \"updated\"; // eslint-disable-line typescript/no-unsafe-type-assertion -- validated by Set.has()\n\t}\n\tconst cursor = url.searchParams.get(\"cursor\") ?? undefined;\n\tconst limitParam = url.searchParams.get(\"limit\");\n\tconst limit = limitParam ? Math.min(Math.max(1, parseInt(limitParam, 10) || 50), 100) : undefined;\n\n\tconst result = await handleThemeSearch(emdash.config.marketplace, query, {\n\t\tkeyword,\n\t\tsort,\n\t\tcursor,\n\t\tlimit,\n\t});\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,KAAK,aAAa;CACvD,MAAM,EAAE,QAAQ,SAAS;AAEzB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,IAAI,aAAa,IAAI,IAAI,IAAI;CAC3C,MAAM,UAAU,IAAI,aAAa,IAAI,UAAU,IAAI;CACnD,MAAM,YAAY,IAAI,aAAa,IAAI,OAAO;CAC9C,MAAM,aAAa,IAAI,IAAI;EAAC;EAAQ;EAAW;EAAU,CAAC;CAC1D,IAAI;AACJ,KAAI,aAAa,WAAW,IAAI,UAAU,CACzC,QAAO;CAER,MAAM,SAAS,IAAI,aAAa,IAAI,SAAS,IAAI;CACjD,MAAM,aAAa,IAAI,aAAa,IAAI,QAAQ;CAChD,MAAM,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,GAAG,SAAS,YAAY,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG;AASxF,QAAO,aAPQ,MAAM,kBAAkB,OAAO,OAAO,aAAa,OAAO;EACxE;EACA;EACA;EACA;EACA,CAAC,CAEyB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/themes/marketplace/index.ts"],"sourcesContent":["/**\n * Theme marketplace search proxy endpoint\n *\n * GET /_emdash/api/admin/themes/marketplace - Search marketplace themes\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleThemeSearch } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ url, locals }) => {\n\tconst { emdash, user } = locals;\n\n\tif (!emdash?.db) {\n\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\t}\n\n\tconst denied = requirePerm(user, \"plugins:read\");\n\tif (denied) return denied;\n\n\tconst query = url.searchParams.get(\"q\") ?? undefined;\n\tconst keyword = url.searchParams.get(\"keyword\") ?? undefined;\n\tconst sortParam = url.searchParams.get(\"sort\");\n\tconst validSorts = new Set([\"name\", \"created\", \"updated\"]);\n\tlet sort: \"name\" | \"created\" | \"updated\" | undefined;\n\tif (sortParam && validSorts.has(sortParam)) {\n\t\tsort = sortParam as \"name\" | \"created\" | \"updated\"; // eslint-disable-line typescript/no-unsafe-type-assertion -- validated by Set.has()\n\t}\n\tconst cursor = url.searchParams.get(\"cursor\") ?? undefined;\n\tconst limitParam = url.searchParams.get(\"limit\");\n\tconst limit = limitParam ? Math.min(Math.max(1, parseInt(limitParam, 10) || 50), 100) : undefined;\n\n\tconst result = await handleThemeSearch(emdash.config.marketplace, query, {\n\t\tkeyword,\n\t\tsort,\n\t\tcursor,\n\t\tlimit,\n\t});\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,KAAK,aAAa;CACvD,MAAM,EAAE,QAAQ,SAAS;AAEzB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;CAEnB,MAAM,QAAQ,IAAI,aAAa,IAAI,IAAI,IAAI;CAC3C,MAAM,UAAU,IAAI,aAAa,IAAI,UAAU,IAAI;CACnD,MAAM,YAAY,IAAI,aAAa,IAAI,OAAO;CAC9C,MAAM,aAAa,IAAI,IAAI;EAAC;EAAQ;EAAW;EAAU,CAAC;CAC1D,IAAI;AACJ,KAAI,aAAa,WAAW,IAAI,UAAU,CACzC,QAAO;CAER,MAAM,SAAS,IAAI,aAAa,IAAI,SAAS,IAAI;CACjD,MAAM,aAAa,IAAI,aAAa,IAAI,QAAQ;CAChD,MAAM,QAAQ,aAAa,KAAK,IAAI,KAAK,IAAI,GAAG,SAAS,YAAY,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG;AASxF,QAAO,aAPQ,MAAM,kBAAkB,OAAO,OAAO,aAAa,OAAO;EACxE;EACA;EACA;EACA;EACA,CAAC,CAEyB"}
@@ -1,7 +1,7 @@
1
1
  import "../../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as withTransaction } from "../../../../../../transaction-NQj4VJ7Z.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
5
5
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
6
6
  import { Role } from "@emdash-cms/auth";
7
7
 
@@ -1,6 +1,6 @@
1
1
  import "../../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
2
+ import "../../../../../../types-SF1DwGf2.mjs";
3
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
4
4
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
5
5
  import { Role } from "@emdash-cms/auth";
6
6
 
@@ -1,10 +1,10 @@
1
1
  import "../../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as withTransaction } from "../../../../../../transaction-NQj4VJ7Z.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../../parse-DHbXfvxO.mjs";
6
- import { E as userUpdateBody } from "../../../../../../redirects-COMLwsV5.mjs";
7
- import "../../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../../parse-4zO5Y2DL.mjs";
6
+ import { E as userUpdateBody } from "../../../../../../redirects-C0L9JUk4.mjs";
7
+ import "../../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../../api/schemas/index.mjs";
9
9
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
10
10
  import { Role } from "@emdash-cms/auth";
@@ -1,8 +1,8 @@
1
1
  import "../../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
5
- import { t as getSiteBaseUrl } from "../../../../../../site-url-xkhw1tcz.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
5
+ import { t as getSiteBaseUrl } from "../../../../../../site-url-Cm8-sJy7.mjs";
6
6
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
7
7
  import { Role, sendMagicLink } from "@emdash-cms/auth";
8
8
 
@@ -1,9 +1,9 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
4
- import { i as parseQuery, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
5
- import { D as usersListQuery } from "../../../../../redirects-COMLwsV5.mjs";
6
- import "../../../../../setup-Cf_TyOv5.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
4
+ import { i as parseQuery, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
5
+ import { D as usersListQuery } from "../../../../../redirects-C0L9JUk4.mjs";
6
+ import "../../../../../byline-fields-Dr-xcb6S.mjs";
7
7
  import "../../../../../api/schemas/index.mjs";
8
8
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
9
9
  import { Role } from "@emdash-cms/auth";
@@ -1,10 +1,10 @@
1
- import { r as runMigrations } from "../../../../runner-Drnvs96u.mjs";
1
+ import { r as runMigrations } from "../../../../runner-eAgyIkeg.mjs";
2
2
  import "../../../../dialect-helpers-BKCvISIQ.mjs";
3
3
  import "../../../../base64-CqR-7kqF.mjs";
4
- import "../../../../types-B0bmgwMG.mjs";
5
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-ChfADBuu.mjs";
6
- import { t as escapeHtml } from "../../../../escape-Cg6kMELH.mjs";
7
- import { t as isSafeRedirect } from "../../../../redirect-BINiRYq4.mjs";
4
+ import "../../../../types-SF1DwGf2.mjs";
5
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-npZWBSb7.mjs";
6
+ import { t as escapeHtml } from "../../../../escape-bIyGoW5W.mjs";
7
+ import { t as isSafeRedirect } from "../../../../redirect-Cw3JTlmj.mjs";
8
8
  import { ulid } from "ulidx";
9
9
 
10
10
  //#region src/astro/routes/api/auth/dev-bypass.ts
@@ -1,6 +1,6 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
4
4
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
5
5
  import { InviteError, roleFromLevel, validateInvite } from "@emdash-cms/auth";
6
6
 
@@ -1,15 +1,15 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { p as inviteCompleteBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { y as inviteCompleteBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { n as getPublicOrigin } from "../../../../../public-url-CUWWFME2.mjs";
10
- import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../allowed-origins-D0fFk9a6.mjs";
11
- import { n as createChallengeStore } from "../../../../../challenge-store-Dng1SxKT.mjs";
12
- import { t as getPasskeyConfig } from "../../../../../passkey-config-BloQOT3y.mjs";
9
+ import { n as getPublicOrigin } from "../../../../../public-url-egRHCy1m.mjs";
10
+ import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../allowed-origins-CyYLEJkp.mjs";
11
+ import { n as createChallengeStore } from "../../../../../challenge-store-DGwuCc4R.mjs";
12
+ import { t as getPasskeyConfig } from "../../../../../passkey-config-BDVM86Tj.mjs";
13
13
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
14
14
  import { InviteError, completeInvite } from "@emdash-cms/auth";
15
15
  import { registerPasskey, verifyRegistrationResponse } from "@emdash-cms/auth/passkey";
@@ -1,12 +1,12 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { m as inviteCreateBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { b as inviteCreateBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { t as getSiteBaseUrl } from "../../../../../site-url-xkhw1tcz.mjs";
9
+ import { t as getSiteBaseUrl } from "../../../../../site-url-Cm8-sJy7.mjs";
10
10
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
11
11
  import { InviteError, Role, createInvite } from "@emdash-cms/auth";
12
12
 
@@ -1,14 +1,14 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { h as inviteRegisterOptionsBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { x as inviteRegisterOptionsBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { n as getPublicOrigin } from "../../../../../public-url-CUWWFME2.mjs";
10
- import { n as createChallengeStore } from "../../../../../challenge-store-Dng1SxKT.mjs";
11
- import { t as getPasskeyConfig } from "../../../../../passkey-config-BloQOT3y.mjs";
9
+ import { n as getPublicOrigin } from "../../../../../public-url-egRHCy1m.mjs";
10
+ import { n as createChallengeStore } from "../../../../../challenge-store-DGwuCc4R.mjs";
11
+ import { t as getPasskeyConfig } from "../../../../../passkey-config-BDVM86Tj.mjs";
12
12
  import { ulid } from "ulidx";
13
13
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
14
14
  import { InviteError, validateInvite } from "@emdash-cms/auth";
@@ -1,7 +1,7 @@
1
1
  import "../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, r as handleError } from "../../../../error-ChfADBuu.mjs";
4
- import { t as isSafeRedirect } from "../../../../redirect-BINiRYq4.mjs";
2
+ import "../../../../types-SF1DwGf2.mjs";
3
+ import { n as apiSuccess, r as handleError } from "../../../../error-npZWBSb7.mjs";
4
+ import { t as isSafeRedirect } from "../../../../redirect-Cw3JTlmj.mjs";
5
5
 
6
6
  //#region src/astro/routes/api/auth/logout.ts
7
7
  const prerender = false;
@@ -1,14 +1,14 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { g as magicLinkSendBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { S as magicLinkSendBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { t as getTrustedProxyHeaders } from "../../../../../trusted-proxy-97pajC2f.mjs";
10
- import { t as getSiteBaseUrl } from "../../../../../site-url-xkhw1tcz.mjs";
11
- import { n as getClientIp, t as checkRateLimit } from "../../../../../rate-limit-D8RAXN8b.mjs";
9
+ import { t as getTrustedProxyHeaders } from "../../../../../trusted-proxy-B4AfnoAp.mjs";
10
+ import { t as getSiteBaseUrl } from "../../../../../site-url-Cm8-sJy7.mjs";
11
+ import { n as getClientIp, t as checkRateLimit } from "../../../../../rate-limit-D6VQqBk_.mjs";
12
12
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
13
13
  import { sendMagicLink } from "@emdash-cms/auth";
14
14
 
@@ -1,7 +1,7 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
3
- import { t as apiError } from "../../../../../error-ChfADBuu.mjs";
4
- import { t as isSafeRedirect } from "../../../../../redirect-BINiRYq4.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
+ import { t as apiError } from "../../../../../error-npZWBSb7.mjs";
4
+ import { t as isSafeRedirect } from "../../../../../redirect-Cw3JTlmj.mjs";
5
5
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
6
6
  import { MagicLinkError, verifyMagicLink } from "@emdash-cms/auth";
7
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.mts","names":[],"sources":["../../../../../src/astro/routes/api/auth/me.ts"],"mappings":";;;cASa,SAAA;AAAA,cAMA,GAAA,EAAK,QAAA;;;;;AA4BlB;cAAa,IAAA,EAAM,QAAA"}
1
+ {"version":3,"file":"me.d.mts","names":[],"sources":["../../../../../src/astro/routes/api/auth/me.ts"],"mappings":";;;cASa,SAAA;AAAA,cAOA,GAAA,EAAK,QAAA;;;;;AA4BlB;cAAa,IAAA,EAAM,QAAA"}
@@ -1,17 +1,18 @@
1
1
  import "../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, t as apiError } from "../../../../error-ChfADBuu.mjs";
4
- import { n as parseBody, t as isParseError } from "../../../../parse-DHbXfvxO.mjs";
5
- import "../../../../redirects-COMLwsV5.mjs";
6
- import { f as authMeActionBody } from "../../../../setup-Cf_TyOv5.mjs";
2
+ import "../../../../types-SF1DwGf2.mjs";
3
+ import { t as UserRepository } from "../../../../user-X4rtyO4Y.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../redirects-C0L9JUk4.mjs";
7
+ import { v as authMeActionBody } from "../../../../byline-fields-Dr-xcb6S.mjs";
7
8
  import "../../../../api/schemas/index.mjs";
8
9
 
9
10
  //#region src/astro/routes/api/auth/me.ts
10
11
  const prerender = false;
11
- const GET = async ({ locals, session }) => {
12
+ const GET = async ({ locals }) => {
12
13
  const { user } = locals;
13
14
  if (!user) return apiError("NOT_AUTHENTICATED", "Not authenticated", 401);
14
- const isFirstLogin = !await session?.get("hasSeenWelcome");
15
+ const isFirstLogin = !user.data?.welcomeDismissed;
15
16
  return apiSuccess({
16
17
  id: user.id,
17
18
  email: user.email,
@@ -26,14 +27,20 @@ const GET = async ({ locals, session }) => {
26
27
  *
27
28
  * Mark that the user has seen the welcome modal.
28
29
  */
29
- const POST = async ({ request, locals, session }) => {
30
- const { user } = locals;
30
+ const POST = async ({ request, locals }) => {
31
+ const { user, emdash } = locals;
31
32
  if (!user) return apiError("NOT_AUTHENTICATED", "Not authenticated", 401);
33
+ if (!emdash) return apiError("NOT_CONFIGURED", "EmDash is not initialized", 500);
32
34
  const body = await parseBody(request, authMeActionBody);
33
35
  if (isParseError(body)) return body;
34
- if (body.action === "dismissWelcome") {
35
- session?.set("hasSeenWelcome", true);
36
+ if (body.action === "dismissWelcome") try {
37
+ await new UserRepository(emdash.db).update(user.id, { data: {
38
+ ...user.data,
39
+ welcomeDismissed: true
40
+ } });
36
41
  return apiSuccess({ success: true });
42
+ } catch (error) {
43
+ return handleError(error, "Failed to dismiss welcome", "WELCOME_DISMISS_ERROR");
37
44
  }
38
45
  return apiError("UNKNOWN_ACTION", "Unknown action", 400);
39
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"me.mjs","names":[],"sources":["../../../../../src/astro/routes/api/auth/me.ts"],"sourcesContent":["/**\n * GET /_emdash/api/auth/me\n *\n * Returns the current authenticated user's info.\n * Used by the admin UI to display user info in the header.\n */\n\nimport type { APIRoute } from \"astro\";\n\nexport const prerender = false;\n\nimport { apiError, apiSuccess } from \"#api/error.js\";\nimport { isParseError, parseBody } from \"#api/parse.js\";\nimport { authMeActionBody } from \"#api/schemas.js\";\n\nexport const GET: APIRoute = async ({ locals, session }) => {\n\tconst { user } = locals;\n\n\tif (!user) {\n\t\treturn apiError(\"NOT_AUTHENTICATED\", \"Not authenticated\", 401);\n\t}\n\n\t// Check if this is the user's first login (for welcome modal)\n\t// We track this in the session to show the modal only once\n\tconst hasSeenWelcome = await session?.get(\"hasSeenWelcome\");\n\tconst isFirstLogin = !hasSeenWelcome;\n\n\t// Return safe user info (no sensitive data)\n\treturn apiSuccess({\n\t\tid: user.id,\n\t\temail: user.email,\n\t\tname: user.name,\n\t\trole: user.role,\n\t\tavatarUrl: user.avatarUrl,\n\t\tisFirstLogin,\n\t});\n};\n\n/**\n * POST /_emdash/api/auth/me\n *\n * Mark that the user has seen the welcome modal.\n */\nexport const POST: APIRoute = async ({ request, locals, session }) => {\n\tconst { user } = locals;\n\n\tif (!user) {\n\t\treturn apiError(\"NOT_AUTHENTICATED\", \"Not authenticated\", 401);\n\t}\n\n\tconst body = await parseBody(request, authMeActionBody);\n\tif (isParseError(body)) return body;\n\n\tif (body.action === \"dismissWelcome\") {\n\t\tsession?.set(\"hasSeenWelcome\", true);\n\t\treturn apiSuccess({ success: true });\n\t}\n\n\treturn apiError(\"UNKNOWN_ACTION\", \"Unknown action\", 400);\n};\n"],"mappings":";;;;;;;;;AASA,MAAa,YAAY;AAMzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,cAAc;CAC3D,MAAM,EAAE,SAAS;AAEjB,KAAI,CAAC,KACJ,QAAO,SAAS,qBAAqB,qBAAqB,IAAI;CAM/D,MAAM,eAAe,CADE,MAAM,SAAS,IAAI,iBAAiB;AAI3D,QAAO,WAAW;EACjB,IAAI,KAAK;EACT,OAAO,KAAK;EACZ,MAAM,KAAK;EACX,MAAM,KAAK;EACX,WAAW,KAAK;EAChB;EACA,CAAC;;;;;;;AAQH,MAAa,OAAiB,OAAO,EAAE,SAAS,QAAQ,cAAc;CACrE,MAAM,EAAE,SAAS;AAEjB,KAAI,CAAC,KACJ,QAAO,SAAS,qBAAqB,qBAAqB,IAAI;CAG/D,MAAM,OAAO,MAAM,UAAU,SAAS,iBAAiB;AACvD,KAAI,aAAa,KAAK,CAAE,QAAO;AAE/B,KAAI,KAAK,WAAW,kBAAkB;AACrC,WAAS,IAAI,kBAAkB,KAAK;AACpC,SAAO,WAAW,EAAE,SAAS,MAAM,CAAC;;AAGrC,QAAO,SAAS,kBAAkB,kBAAkB,IAAI"}
1
+ {"version":3,"file":"me.mjs","names":[],"sources":["../../../../../src/astro/routes/api/auth/me.ts"],"sourcesContent":["/**\n * GET /_emdash/api/auth/me\n *\n * Returns the current authenticated user's info.\n * Used by the admin UI to display user info in the header.\n */\n\nimport type { APIRoute } from \"astro\";\n\nexport const prerender = false;\n\nimport { apiError, apiSuccess, handleError } from \"#api/error.js\";\nimport { isParseError, parseBody } from \"#api/parse.js\";\nimport { authMeActionBody } from \"#api/schemas.js\";\nimport { UserRepository } from \"#db/repositories/user.js\";\n\nexport const GET: APIRoute = async ({ locals }) => {\n\tconst { user } = locals;\n\n\tif (!user) {\n\t\treturn apiError(\"NOT_AUTHENTICATED\", \"Not authenticated\", 401);\n\t}\n\n\t// Check if this is the user's first login (for welcome modal).\n\t// The flag is persisted in the user's `data` JSON column so it survives\n\t// session expiry / rotation.\n\tconst isFirstLogin = !user.data?.welcomeDismissed;\n\n\t// Return safe user info (no sensitive data)\n\treturn apiSuccess({\n\t\tid: user.id,\n\t\temail: user.email,\n\t\tname: user.name,\n\t\trole: user.role,\n\t\tavatarUrl: user.avatarUrl,\n\t\tisFirstLogin,\n\t});\n};\n\n/**\n * POST /_emdash/api/auth/me\n *\n * Mark that the user has seen the welcome modal.\n */\nexport const POST: APIRoute = async ({ request, locals }) => {\n\tconst { user, emdash } = locals;\n\n\tif (!user) {\n\t\treturn apiError(\"NOT_AUTHENTICATED\", \"Not authenticated\", 401);\n\t}\n\n\tif (!emdash) return apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\n\tconst body = await parseBody(request, authMeActionBody);\n\tif (isParseError(body)) return body;\n\n\tif (body.action === \"dismissWelcome\") {\n\t\ttry {\n\t\t\t// Persist in the user's data column so it survives session expiry.\n\t\t\tconst userRepo = new UserRepository(emdash.db);\n\t\t\tawait userRepo.update(user.id, {\n\t\t\t\tdata: { ...user.data, welcomeDismissed: true },\n\t\t\t});\n\t\t\treturn apiSuccess({ success: true });\n\t\t} catch (error) {\n\t\t\treturn handleError(error, \"Failed to dismiss welcome\", \"WELCOME_DISMISS_ERROR\");\n\t\t}\n\t}\n\n\treturn apiError(\"UNKNOWN_ACTION\", \"Unknown action\", 400);\n};\n"],"mappings":";;;;;;;;;;AASA,MAAa,YAAY;AAOzB,MAAa,MAAgB,OAAO,EAAE,aAAa;CAClD,MAAM,EAAE,SAAS;AAEjB,KAAI,CAAC,KACJ,QAAO,SAAS,qBAAqB,qBAAqB,IAAI;CAM/D,MAAM,eAAe,CAAC,KAAK,MAAM;AAGjC,QAAO,WAAW;EACjB,IAAI,KAAK;EACT,OAAO,KAAK;EACZ,MAAM,KAAK;EACX,MAAM,KAAK;EACX,WAAW,KAAK;EAChB;EACA,CAAC;;;;;;;AAQH,MAAa,OAAiB,OAAO,EAAE,SAAS,aAAa;CAC5D,MAAM,EAAE,MAAM,WAAW;AAEzB,KAAI,CAAC,KACJ,QAAO,SAAS,qBAAqB,qBAAqB,IAAI;AAG/D,KAAI,CAAC,OAAQ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAEhF,MAAM,OAAO,MAAM,UAAU,SAAS,iBAAiB;AACvD,KAAI,aAAa,KAAK,CAAE,QAAO;AAE/B,KAAI,KAAK,WAAW,iBACnB,KAAI;AAGH,QADiB,IAAI,eAAe,OAAO,GAAG,CAC/B,OAAO,KAAK,IAAI,EAC9B,MAAM;GAAE,GAAG,KAAK;GAAM,kBAAkB;GAAM,EAC9C,CAAC;AACF,SAAO,WAAW,EAAE,SAAS,MAAM,CAAC;UAC5B,OAAO;AACf,SAAO,YAAY,OAAO,6BAA6B,wBAAwB;;AAIjF,QAAO,SAAS,kBAAkB,kBAAkB,IAAI"}
@@ -1,4 +1,4 @@
1
- import { t as getAuthMode } from "../../../../mode-CaaiebZI.mjs";
1
+ import { t as getAuthMode } from "../../../../mode-BjlXswIw.mjs";
2
2
 
3
3
  //#region src/astro/routes/api/auth/mode.ts
4
4
  const prerender = false;
@@ -1,7 +1,7 @@
1
1
  import { t as OptionsRepository } from "../../../../../../options-BL4X94qY.mjs";
2
- import { n as getPublicOrigin } from "../../../../../../public-url-CUWWFME2.mjs";
3
- import { t as finalizeSetup } from "../../../../../../setup-complete-MzzN9u0b.mjs";
4
- import { t as createOAuthStateStore } from "../../../../../../oauth-state-store-vOSdOeGe.mjs";
2
+ import { n as getPublicOrigin } from "../../../../../../public-url-egRHCy1m.mjs";
3
+ import { t as finalizeSetup } from "../../../../../../setup-complete-VoEZfasi.mjs";
4
+ import { t as createOAuthStateStore } from "../../../../../../oauth-state-store-BJ7YtrfD.mjs";
5
5
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
6
6
  import { OAuthError, Role, handleOAuthCallback } from "@emdash-cms/auth";
7
7
 
@@ -1,5 +1,5 @@
1
- import { n as getPublicOrigin } from "../../../../../public-url-CUWWFME2.mjs";
2
- import { t as createOAuthStateStore } from "../../../../../oauth-state-store-vOSdOeGe.mjs";
1
+ import { n as getPublicOrigin } from "../../../../../public-url-egRHCy1m.mjs";
2
+ import { t as createOAuthStateStore } from "../../../../../oauth-state-store-BJ7YtrfD.mjs";
3
3
  import { createAuthorizationUrl } from "@emdash-cms/auth";
4
4
 
5
5
  //#region src/astro/routes/api/auth/oauth/[provider].ts
@@ -1,9 +1,9 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
4
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
5
- import "../../../../../redirects-COMLwsV5.mjs";
6
- import { b as passkeyRenameBody } from "../../../../../setup-Cf_TyOv5.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
4
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
5
+ import "../../../../../redirects-C0L9JUk4.mjs";
6
+ import { E as passkeyRenameBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
7
7
  import "../../../../../api/schemas/index.mjs";
8
8
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
9
9
 
@@ -1,6 +1,6 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
3
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
4
4
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
5
5
 
6
6
  //#region src/astro/routes/api/auth/passkey/index.ts
@@ -1,16 +1,16 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { r as parseOptionalBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { _ as passkeyOptionsBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { r as parseOptionalBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { C as passkeyOptionsBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { t as getTrustedProxyHeaders } from "../../../../../trusted-proxy-97pajC2f.mjs";
10
- import { n as getPublicOrigin } from "../../../../../public-url-CUWWFME2.mjs";
11
- import { n as createChallengeStore, t as cleanupExpiredChallenges } from "../../../../../challenge-store-Dng1SxKT.mjs";
12
- import { t as getPasskeyConfig } from "../../../../../passkey-config-BloQOT3y.mjs";
13
- import { n as getClientIp, r as rateLimitResponse, t as checkRateLimit } from "../../../../../rate-limit-D8RAXN8b.mjs";
9
+ import { t as getTrustedProxyHeaders } from "../../../../../trusted-proxy-B4AfnoAp.mjs";
10
+ import { n as getPublicOrigin } from "../../../../../public-url-egRHCy1m.mjs";
11
+ import { n as createChallengeStore, t as cleanupExpiredChallenges } from "../../../../../challenge-store-DGwuCc4R.mjs";
12
+ import { t as getPasskeyConfig } from "../../../../../passkey-config-BDVM86Tj.mjs";
13
+ import { n as getClientIp, r as rateLimitResponse, t as checkRateLimit } from "../../../../../rate-limit-D6VQqBk_.mjs";
14
14
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
15
15
  import { generateAuthenticationOptions } from "@emdash-cms/auth/passkey";
16
16
 
@@ -1,14 +1,14 @@
1
1
  import "../../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
5
- import { r as parseOptionalBody, t as isParseError } from "../../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../../redirects-COMLwsV5.mjs";
7
- import { v as passkeyRegisterOptionsBody } from "../../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
5
+ import { r as parseOptionalBody, t as isParseError } from "../../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../../redirects-C0L9JUk4.mjs";
7
+ import { w as passkeyRegisterOptionsBody } from "../../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../../api/schemas/index.mjs";
9
- import { n as getPublicOrigin } from "../../../../../../public-url-CUWWFME2.mjs";
10
- import { n as createChallengeStore } from "../../../../../../challenge-store-Dng1SxKT.mjs";
11
- import { t as getPasskeyConfig } from "../../../../../../passkey-config-BloQOT3y.mjs";
9
+ import { n as getPublicOrigin } from "../../../../../../public-url-egRHCy1m.mjs";
10
+ import { n as createChallengeStore } from "../../../../../../challenge-store-DGwuCc4R.mjs";
11
+ import { t as getPasskeyConfig } from "../../../../../../passkey-config-BDVM86Tj.mjs";
12
12
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
13
13
  import { generateRegistrationOptions } from "@emdash-cms/auth/passkey";
14
14
 
@@ -1,15 +1,15 @@
1
1
  import "../../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, t as apiError } from "../../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../../redirects-COMLwsV5.mjs";
7
- import { y as passkeyRegisterVerifyBody } from "../../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, t as apiError } from "../../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../../redirects-C0L9JUk4.mjs";
7
+ import { T as passkeyRegisterVerifyBody } from "../../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../../api/schemas/index.mjs";
9
- import { n as getPublicOrigin } from "../../../../../../public-url-CUWWFME2.mjs";
10
- import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../../allowed-origins-D0fFk9a6.mjs";
11
- import { n as createChallengeStore } from "../../../../../../challenge-store-Dng1SxKT.mjs";
12
- import { t as getPasskeyConfig } from "../../../../../../passkey-config-BloQOT3y.mjs";
9
+ import { n as getPublicOrigin } from "../../../../../../public-url-egRHCy1m.mjs";
10
+ import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../../allowed-origins-CyYLEJkp.mjs";
11
+ import { n as createChallengeStore } from "../../../../../../challenge-store-DGwuCc4R.mjs";
12
+ import { t as getPasskeyConfig } from "../../../../../../passkey-config-BDVM86Tj.mjs";
13
13
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
14
14
  import { registerPasskey, verifyRegistrationResponse } from "@emdash-cms/auth/passkey";
15
15
 
@@ -1,15 +1,15 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { x as passkeyVerifyBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { D as passkeyVerifyBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { n as getPublicOrigin } from "../../../../../public-url-CUWWFME2.mjs";
10
- import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../allowed-origins-D0fFk9a6.mjs";
11
- import { n as createChallengeStore } from "../../../../../challenge-store-Dng1SxKT.mjs";
12
- import { t as getPasskeyConfig } from "../../../../../passkey-config-BloQOT3y.mjs";
9
+ import { n as getPublicOrigin } from "../../../../../public-url-egRHCy1m.mjs";
10
+ import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../allowed-origins-CyYLEJkp.mjs";
11
+ import { n as createChallengeStore } from "../../../../../challenge-store-DGwuCc4R.mjs";
12
+ import { t as getPasskeyConfig } from "../../../../../passkey-config-BDVM86Tj.mjs";
13
13
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
14
14
  import { PasskeyAuthenticationError, authenticateWithPasskey } from "@emdash-cms/auth/passkey";
15
15
 
@@ -1,15 +1,15 @@
1
1
  import "../../../../../base64-CqR-7kqF.mjs";
2
- import "../../../../../types-B0bmgwMG.mjs";
2
+ import "../../../../../types-SF1DwGf2.mjs";
3
3
  import { t as OptionsRepository } from "../../../../../options-BL4X94qY.mjs";
4
- import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-ChfADBuu.mjs";
5
- import { n as parseBody, t as isParseError } from "../../../../../parse-DHbXfvxO.mjs";
6
- import "../../../../../redirects-COMLwsV5.mjs";
7
- import { S as signupCompleteBody } from "../../../../../setup-Cf_TyOv5.mjs";
4
+ import { n as apiSuccess, r as handleError, t as apiError } from "../../../../../error-npZWBSb7.mjs";
5
+ import { n as parseBody, t as isParseError } from "../../../../../parse-4zO5Y2DL.mjs";
6
+ import "../../../../../redirects-C0L9JUk4.mjs";
7
+ import { O as signupCompleteBody } from "../../../../../byline-fields-Dr-xcb6S.mjs";
8
8
  import "../../../../../api/schemas/index.mjs";
9
- import { n as getPublicOrigin } from "../../../../../public-url-CUWWFME2.mjs";
10
- import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../allowed-origins-D0fFk9a6.mjs";
11
- import { n as createChallengeStore } from "../../../../../challenge-store-Dng1SxKT.mjs";
12
- import { t as getPasskeyConfig } from "../../../../../passkey-config-BloQOT3y.mjs";
9
+ import { n as getPublicOrigin } from "../../../../../public-url-egRHCy1m.mjs";
10
+ import { n as validateAllowedOrigins, t as getConfiguredAllowedOrigins } from "../../../../../allowed-origins-CyYLEJkp.mjs";
11
+ import { n as createChallengeStore } from "../../../../../challenge-store-DGwuCc4R.mjs";
12
+ import { t as getPasskeyConfig } from "../../../../../passkey-config-BDVM86Tj.mjs";
13
13
  import { createKyselyAdapter } from "@emdash-cms/auth/adapters/kysely";
14
14
  import { SignupError, completeSignup } from "@emdash-cms/auth";
15
15
  import { registerPasskey, verifyRegistrationResponse } from "@emdash-cms/auth/passkey";