emdash 0.16.1 → 0.17.1

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 (566) 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-CuuZG6op.mjs} +93 -31
  14. package/dist/apply-CuuZG6op.mjs.map +1 -0
  15. package/dist/astro/index.d.mts +10 -10
  16. package/dist/astro/index.mjs +28 -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 +140 -32
  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-Bt52mHXp.mjs} +19 -18
  376. package/dist/query-Bt52mHXp.mjs.map +1 -0
  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-ByLlXrv5.mjs} +8 -8
  435. package/dist/{taxonomies-CcvrMLbR.mjs.map → taxonomies-ByLlXrv5.mjs.map} +1 -1
  436. package/dist/{taxonomies-4vx0nmMr.mjs → taxonomies-CbO6v7EE.mjs} +4 -4
  437. package/dist/{taxonomies-4vx0nmMr.mjs.map → taxonomies-CbO6v7EE.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-CWbvq9LG.mjs +7 -0
  481. package/dist/{version-ITD3PlQd.mjs.map → version-CWbvq9LG.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/integration/vite-config.ts +16 -0
  500. package/src/astro/middleware/redirect.ts +5 -1
  501. package/src/astro/routes/api/admin/byline-fields/[slug]/usage.ts +36 -0
  502. package/src/astro/routes/api/admin/byline-fields/[slug].ts +92 -0
  503. package/src/astro/routes/api/admin/byline-fields/index.ts +66 -0
  504. package/src/astro/routes/api/admin/byline-fields/reorder.ts +39 -0
  505. package/src/astro/routes/api/admin/bylines/[id]/index.ts +23 -21
  506. package/src/astro/routes/api/admin/bylines/index.ts +1 -0
  507. package/src/astro/routes/api/auth/me.ts +21 -10
  508. package/src/astro/routes/api/content/[collection]/[id]/terms/[taxonomy].ts +15 -3
  509. package/src/astro/routes/api/content/[collection]/[id].ts +3 -1
  510. package/src/astro/routes/api/media.ts +1 -0
  511. package/src/astro/types.ts +1 -0
  512. package/src/bylines/field-defs-cache.ts +138 -0
  513. package/src/bylines/index.ts +37 -4
  514. package/src/cli/commands/content.ts +4 -2
  515. package/src/cli/commands/export-seed.ts +174 -12
  516. package/src/client/index.ts +4 -1
  517. package/src/components/InlinePortableTextEditor.tsx +69 -0
  518. package/src/content/converters/portable-text-to-prosemirror.ts +7 -0
  519. package/src/content/converters/prosemirror-to-portable-text.ts +16 -0
  520. package/src/content/converters/types.ts +10 -0
  521. package/src/database/migrations/041_content_locale_list_index.ts +47 -0
  522. package/src/database/migrations/042_byline_fields.ts +157 -0
  523. package/src/database/migrations/runner.ts +4 -0
  524. package/src/database/repositories/byline.ts +758 -50
  525. package/src/database/repositories/content.ts +43 -3
  526. package/src/database/repositories/media.ts +14 -0
  527. package/src/database/repositories/types.ts +38 -0
  528. package/src/database/types.ts +44 -0
  529. package/src/emdash-runtime.ts +4 -1
  530. package/src/index.ts +1 -0
  531. package/src/loader.ts +98 -10
  532. package/src/mcp/server.ts +10 -1
  533. package/src/query.ts +7 -7
  534. package/src/request-cache.ts +23 -0
  535. package/src/schema/byline-registry.ts +671 -0
  536. package/src/schema/registry.ts +14 -0
  537. package/src/schema/types.ts +133 -0
  538. package/src/seed/apply.ts +101 -14
  539. package/src/seed/types.ts +21 -0
  540. package/src/seed/validate.ts +39 -0
  541. package/dist/api-BNKqxyFX.mjs.map +0 -1
  542. package/dist/apply-BOPaD-s9.mjs.map +0 -1
  543. package/dist/byline-BDylH_m4.mjs +0 -404
  544. package/dist/byline-BDylH_m4.mjs.map +0 -1
  545. package/dist/bylines-B7TFEvFf.mjs +0 -118
  546. package/dist/bylines-B7TFEvFf.mjs.map +0 -1
  547. package/dist/bylines-DWLnr6-k.d.mts.map +0 -1
  548. package/dist/content-8voQNTXX.mjs.map +0 -1
  549. package/dist/error-ChfADBuu.mjs.map +0 -1
  550. package/dist/index-D_p_jIP1.d.mts.map +0 -1
  551. package/dist/loader-D-vIJjfY.mjs.map +0 -1
  552. package/dist/media-CKQd8AYU.mjs.map +0 -1
  553. package/dist/menus-C-nWT5Tu.mjs.map +0 -1
  554. package/dist/query-7m6-l0f_.mjs.map +0 -1
  555. package/dist/redirects-COMLwsV5.mjs.map +0 -1
  556. package/dist/runner-Drnvs96u.mjs.map +0 -1
  557. package/dist/setup-Cf_TyOv5.mjs +0 -137
  558. package/dist/setup-Cf_TyOv5.mjs.map +0 -1
  559. package/dist/types-B0bmgwMG.mjs.map +0 -1
  560. package/dist/types-DSZl1Dsv.mjs +0 -83
  561. package/dist/types-DaYDYW6g.d.mts.map +0 -1
  562. package/dist/validate-IGltez8n.mjs.map +0 -1
  563. package/dist/version-ITD3PlQd.mjs +0 -7
  564. /package/dist/{api-tokens-iPIHAY8N.mjs → api-tokens-B6VgoE6M.mjs} +0 -0
  565. /package/dist/{ssrf-BIcd-aXW.mjs → ssrf-BvgVcfNQ.mjs} +0 -0
  566. /package/dist/{types-1NNkmTIn.mjs → types-Cj2S6FuC.mjs} +0 -0
@@ -4,7 +4,7 @@ import { z } from "zod";
4
4
  /** Valid role level values */
5
5
  declare const VALID_ROLE_LEVELS: Set<number>;
6
6
  /** Role level — coerces string/number to valid RoleLevel (10|20|30|40|50) */
7
- declare const roleLevel: z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>;
7
+ declare const roleLevel: z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>;
8
8
  /** Pagination query params — cursor-based */
9
9
  declare const cursorPaginationQuery: z.ZodObject<{
10
10
  cursor: z.ZodOptional<z.ZodString>;
@@ -64,6 +64,7 @@ declare const contentListQuery: z.ZodObject<{
64
64
  desc: "desc";
65
65
  }>>;
66
66
  locale: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
67
+ q: z.ZodOptional<z.ZodString>;
67
68
  }, z.core.$strip>;
68
69
  declare const contentCreateBody: z.ZodObject<{
69
70
  data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
@@ -149,6 +150,8 @@ declare const contentItemSchema: z.ZodObject<{
149
150
  displayName: z.ZodString;
150
151
  bio: z.ZodNullable<z.ZodString>;
151
152
  avatarMediaId: z.ZodNullable<z.ZodString>;
153
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
154
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
152
155
  websiteUrl: z.ZodNullable<z.ZodString>;
153
156
  userId: z.ZodNullable<z.ZodString>;
154
157
  isGuest: z.ZodBoolean;
@@ -156,6 +159,7 @@ declare const contentItemSchema: z.ZodObject<{
156
159
  updatedAt: z.ZodString;
157
160
  locale: z.ZodString;
158
161
  translationGroup: z.ZodNullable<z.ZodString>;
162
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
159
163
  }, z.core.$strip>>>;
160
164
  bylines: z.ZodOptional<z.ZodArray<z.ZodObject<{
161
165
  byline: z.ZodObject<{
@@ -164,6 +168,8 @@ declare const contentItemSchema: z.ZodObject<{
164
168
  displayName: z.ZodString;
165
169
  bio: z.ZodNullable<z.ZodString>;
166
170
  avatarMediaId: z.ZodNullable<z.ZodString>;
171
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
172
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
167
173
  websiteUrl: z.ZodNullable<z.ZodString>;
168
174
  userId: z.ZodNullable<z.ZodString>;
169
175
  isGuest: z.ZodBoolean;
@@ -171,6 +177,7 @@ declare const contentItemSchema: z.ZodObject<{
171
177
  updatedAt: z.ZodString;
172
178
  locale: z.ZodString;
173
179
  translationGroup: z.ZodNullable<z.ZodString>;
180
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
174
181
  }, z.core.$strip>;
175
182
  sortOrder: z.ZodNumber;
176
183
  roleLabel: z.ZodNullable<z.ZodString>;
@@ -212,6 +219,8 @@ declare const contentResponseSchema: z.ZodObject<{
212
219
  displayName: z.ZodString;
213
220
  bio: z.ZodNullable<z.ZodString>;
214
221
  avatarMediaId: z.ZodNullable<z.ZodString>;
222
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
223
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
215
224
  websiteUrl: z.ZodNullable<z.ZodString>;
216
225
  userId: z.ZodNullable<z.ZodString>;
217
226
  isGuest: z.ZodBoolean;
@@ -219,6 +228,7 @@ declare const contentResponseSchema: z.ZodObject<{
219
228
  updatedAt: z.ZodString;
220
229
  locale: z.ZodString;
221
230
  translationGroup: z.ZodNullable<z.ZodString>;
231
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
222
232
  }, z.core.$strip>>>;
223
233
  bylines: z.ZodOptional<z.ZodArray<z.ZodObject<{
224
234
  byline: z.ZodObject<{
@@ -227,6 +237,8 @@ declare const contentResponseSchema: z.ZodObject<{
227
237
  displayName: z.ZodString;
228
238
  bio: z.ZodNullable<z.ZodString>;
229
239
  avatarMediaId: z.ZodNullable<z.ZodString>;
240
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
241
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
230
242
  websiteUrl: z.ZodNullable<z.ZodString>;
231
243
  userId: z.ZodNullable<z.ZodString>;
232
244
  isGuest: z.ZodBoolean;
@@ -234,6 +246,7 @@ declare const contentResponseSchema: z.ZodObject<{
234
246
  updatedAt: z.ZodString;
235
247
  locale: z.ZodString;
236
248
  translationGroup: z.ZodNullable<z.ZodString>;
249
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
237
250
  }, z.core.$strip>;
238
251
  sortOrder: z.ZodNumber;
239
252
  roleLabel: z.ZodNullable<z.ZodString>;
@@ -277,6 +290,8 @@ declare const contentListResponseSchema: z.ZodObject<{
277
290
  displayName: z.ZodString;
278
291
  bio: z.ZodNullable<z.ZodString>;
279
292
  avatarMediaId: z.ZodNullable<z.ZodString>;
293
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
294
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
295
  websiteUrl: z.ZodNullable<z.ZodString>;
281
296
  userId: z.ZodNullable<z.ZodString>;
282
297
  isGuest: z.ZodBoolean;
@@ -284,6 +299,7 @@ declare const contentListResponseSchema: z.ZodObject<{
284
299
  updatedAt: z.ZodString;
285
300
  locale: z.ZodString;
286
301
  translationGroup: z.ZodNullable<z.ZodString>;
302
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
287
303
  }, z.core.$strip>>>;
288
304
  bylines: z.ZodOptional<z.ZodArray<z.ZodObject<{
289
305
  byline: z.ZodObject<{
@@ -292,6 +308,8 @@ declare const contentListResponseSchema: z.ZodObject<{
292
308
  displayName: z.ZodString;
293
309
  bio: z.ZodNullable<z.ZodString>;
294
310
  avatarMediaId: z.ZodNullable<z.ZodString>;
311
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
312
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
295
313
  websiteUrl: z.ZodNullable<z.ZodString>;
296
314
  userId: z.ZodNullable<z.ZodString>;
297
315
  isGuest: z.ZodBoolean;
@@ -299,6 +317,7 @@ declare const contentListResponseSchema: z.ZodObject<{
299
317
  updatedAt: z.ZodString;
300
318
  locale: z.ZodString;
301
319
  translationGroup: z.ZodNullable<z.ZodString>;
320
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
302
321
  }, z.core.$strip>;
303
322
  sortOrder: z.ZodNumber;
304
323
  roleLabel: z.ZodNullable<z.ZodString>;
@@ -387,6 +406,7 @@ declare const mediaListQuery: z.ZodObject<{
387
406
  cursor: z.ZodOptional<z.ZodString>;
388
407
  limit: z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>;
389
408
  mimeType: z.ZodOptional<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>>;
409
+ q: z.ZodOptional<z.ZodString>;
390
410
  }, z.core.$strip>;
391
411
  declare const mediaUpdateBody: z.ZodObject<{
392
412
  alt: z.ZodOptional<z.ZodString>;
@@ -530,11 +550,11 @@ declare const createCollectionBody: z.ZodObject<{
530
550
  description: z.ZodOptional<z.ZodString>;
531
551
  icon: z.ZodOptional<z.ZodString>;
532
552
  supports: z.ZodOptional<z.ZodArray<z.ZodEnum<{
533
- search: "search";
534
553
  drafts: "drafts";
535
554
  revisions: "revisions";
536
555
  preview: "preview";
537
556
  scheduling: "scheduling";
557
+ search: "search";
538
558
  }>>>;
539
559
  source: z.ZodOptional<z.ZodString>;
540
560
  urlPattern: z.ZodOptional<z.ZodString>;
@@ -546,11 +566,11 @@ declare const updateCollectionBody: z.ZodObject<{
546
566
  description: z.ZodOptional<z.ZodString>;
547
567
  icon: z.ZodOptional<z.ZodString>;
548
568
  supports: z.ZodOptional<z.ZodArray<z.ZodEnum<{
549
- search: "search";
550
569
  drafts: "drafts";
551
570
  revisions: "revisions";
552
571
  preview: "preview";
553
572
  scheduling: "scheduling";
573
+ search: "search";
554
574
  }>>>;
555
575
  urlPattern: z.ZodOptional<z.ZodNullable<z.ZodString>>;
556
576
  hasSeo: z.ZodOptional<z.ZodBoolean>;
@@ -571,13 +591,13 @@ declare const createFieldBody: z.ZodObject<{
571
591
  number: "number";
572
592
  boolean: "boolean";
573
593
  slug: "slug";
594
+ text: "text";
574
595
  url: "url";
596
+ select: "select";
575
597
  file: "file";
576
598
  image: "image";
577
599
  datetime: "datetime";
578
- text: "text";
579
600
  integer: "integer";
580
- select: "select";
581
601
  multiSelect: "multiSelect";
582
602
  portableText: "portableText";
583
603
  reference: "reference";
@@ -601,10 +621,10 @@ declare const createFieldBody: z.ZodObject<{
601
621
  string: "string";
602
622
  number: "number";
603
623
  boolean: "boolean";
604
- datetime: "datetime";
605
624
  text: "text";
606
- integer: "integer";
607
625
  select: "select";
626
+ datetime: "datetime";
627
+ integer: "integer";
608
628
  }>;
609
629
  label: z.ZodString;
610
630
  required: z.ZodOptional<z.ZodBoolean>;
@@ -639,10 +659,10 @@ declare const updateFieldBody: z.ZodObject<{
639
659
  string: "string";
640
660
  number: "number";
641
661
  boolean: "boolean";
642
- datetime: "datetime";
643
662
  text: "text";
644
- integer: "integer";
645
663
  select: "select";
664
+ datetime: "datetime";
665
+ integer: "integer";
646
666
  }>;
647
667
  label: z.ZodString;
648
668
  required: z.ZodOptional<z.ZodBoolean>;
@@ -696,13 +716,13 @@ declare const fieldSchema: z.ZodObject<{
696
716
  number: "number";
697
717
  boolean: "boolean";
698
718
  slug: "slug";
719
+ text: "text";
699
720
  url: "url";
721
+ select: "select";
700
722
  file: "file";
701
723
  image: "image";
702
724
  datetime: "datetime";
703
- text: "text";
704
725
  integer: "integer";
705
- select: "select";
706
726
  multiSelect: "multiSelect";
707
727
  portableText: "portableText";
708
728
  reference: "reference";
@@ -761,13 +781,13 @@ declare const collectionWithFieldsResponseSchema: z.ZodObject<{
761
781
  number: "number";
762
782
  boolean: "boolean";
763
783
  slug: "slug";
784
+ text: "text";
764
785
  url: "url";
786
+ select: "select";
765
787
  file: "file";
766
788
  image: "image";
767
789
  datetime: "datetime";
768
- text: "text";
769
790
  integer: "integer";
770
- select: "select";
771
791
  multiSelect: "multiSelect";
772
792
  portableText: "portableText";
773
793
  reference: "reference";
@@ -815,13 +835,13 @@ declare const fieldResponseSchema: z.ZodObject<{
815
835
  number: "number";
816
836
  boolean: "boolean";
817
837
  slug: "slug";
838
+ text: "text";
818
839
  url: "url";
840
+ select: "select";
819
841
  file: "file";
820
842
  image: "image";
821
843
  datetime: "datetime";
822
- text: "text";
823
844
  integer: "integer";
824
- select: "select";
825
845
  multiSelect: "multiSelect";
826
846
  portableText: "portableText";
827
847
  reference: "reference";
@@ -852,13 +872,13 @@ declare const fieldListResponseSchema: z.ZodObject<{
852
872
  number: "number";
853
873
  boolean: "boolean";
854
874
  slug: "slug";
875
+ text: "text";
855
876
  url: "url";
877
+ select: "select";
856
878
  file: "file";
857
879
  image: "image";
858
880
  datetime: "datetime";
859
- text: "text";
860
881
  integer: "integer";
861
- select: "select";
862
882
  multiSelect: "multiSelect";
863
883
  portableText: "portableText";
864
884
  reference: "reference";
@@ -1037,7 +1057,7 @@ declare const signupCompleteBody: z.ZodObject<{
1037
1057
  }, z.core.$strip>;
1038
1058
  declare const inviteCreateBody: z.ZodObject<{
1039
1059
  email: z.ZodString;
1040
- role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1060
+ role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1041
1061
  }, z.core.$strip>;
1042
1062
  declare const inviteRegisterOptionsBody: z.ZodObject<{
1043
1063
  token: z.ZodString;
@@ -1632,15 +1652,15 @@ declare const usersListQuery: z.ZodObject<{
1632
1652
  declare const userUpdateBody: z.ZodObject<{
1633
1653
  name: z.ZodOptional<z.ZodString>;
1634
1654
  email: z.ZodOptional<z.ZodString>;
1635
- role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1655
+ role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1636
1656
  }, z.core.$strip>;
1637
1657
  declare const allowedDomainCreateBody: z.ZodObject<{
1638
1658
  domain: z.ZodString;
1639
- defaultRole: z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>;
1659
+ defaultRole: z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>;
1640
1660
  }, z.core.$strip>;
1641
1661
  declare const allowedDomainUpdateBody: z.ZodObject<{
1642
1662
  enabled: z.ZodOptional<z.ZodBoolean>;
1643
- defaultRole: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1663
+ defaultRole: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1644
1664
  }, z.core.$strip>;
1645
1665
  declare const userSchema: z.ZodObject<{
1646
1666
  id: z.ZodString;
@@ -1908,6 +1928,8 @@ declare const bylineSummarySchema: z.ZodObject<{
1908
1928
  displayName: z.ZodString;
1909
1929
  bio: z.ZodNullable<z.ZodString>;
1910
1930
  avatarMediaId: z.ZodNullable<z.ZodString>;
1931
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1932
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1911
1933
  websiteUrl: z.ZodNullable<z.ZodString>;
1912
1934
  userId: z.ZodNullable<z.ZodString>;
1913
1935
  isGuest: z.ZodBoolean;
@@ -1915,6 +1937,7 @@ declare const bylineSummarySchema: z.ZodObject<{
1915
1937
  updatedAt: z.ZodString;
1916
1938
  locale: z.ZodString;
1917
1939
  translationGroup: z.ZodNullable<z.ZodString>;
1940
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
1918
1941
  }, z.core.$strip>;
1919
1942
  declare const bylineCreditSchema: z.ZodObject<{
1920
1943
  byline: z.ZodObject<{
@@ -1923,6 +1946,8 @@ declare const bylineCreditSchema: z.ZodObject<{
1923
1946
  displayName: z.ZodString;
1924
1947
  bio: z.ZodNullable<z.ZodString>;
1925
1948
  avatarMediaId: z.ZodNullable<z.ZodString>;
1949
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1950
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1926
1951
  websiteUrl: z.ZodNullable<z.ZodString>;
1927
1952
  userId: z.ZodNullable<z.ZodString>;
1928
1953
  isGuest: z.ZodBoolean;
@@ -1930,6 +1955,7 @@ declare const bylineCreditSchema: z.ZodObject<{
1930
1955
  updatedAt: z.ZodString;
1931
1956
  locale: z.ZodString;
1932
1957
  translationGroup: z.ZodNullable<z.ZodString>;
1958
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
1933
1959
  }, z.core.$strip>;
1934
1960
  sortOrder: z.ZodNumber;
1935
1961
  roleLabel: z.ZodNullable<z.ZodString>;
@@ -1960,6 +1986,7 @@ declare const bylineCreateBody: z.ZodObject<{
1960
1986
  isGuest: z.ZodOptional<z.ZodBoolean>;
1961
1987
  locale: z.ZodOptional<z.ZodString>;
1962
1988
  translationOf: z.ZodOptional<z.ZodString>;
1989
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1963
1990
  }, z.core.$strip>;
1964
1991
  declare const bylineTranslationCreateBody: z.ZodObject<{
1965
1992
  locale: z.ZodString;
@@ -1976,6 +2003,8 @@ declare const bylineTranslationsResponseSchema: z.ZodObject<{
1976
2003
  displayName: z.ZodString;
1977
2004
  bio: z.ZodNullable<z.ZodString>;
1978
2005
  avatarMediaId: z.ZodNullable<z.ZodString>;
2006
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2007
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1979
2008
  websiteUrl: z.ZodNullable<z.ZodString>;
1980
2009
  userId: z.ZodNullable<z.ZodString>;
1981
2010
  isGuest: z.ZodBoolean;
@@ -1983,6 +2012,7 @@ declare const bylineTranslationsResponseSchema: z.ZodObject<{
1983
2012
  updatedAt: z.ZodString;
1984
2013
  locale: z.ZodString;
1985
2014
  translationGroup: z.ZodNullable<z.ZodString>;
2015
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
1986
2016
  }, z.core.$strip>>;
1987
2017
  }, z.core.$strip>;
1988
2018
  declare const bylineUpdateBody: z.ZodObject<{
@@ -1993,6 +2023,7 @@ declare const bylineUpdateBody: z.ZodObject<{
1993
2023
  websiteUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1994
2024
  userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1995
2025
  isGuest: z.ZodOptional<z.ZodBoolean>;
2026
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1996
2027
  }, z.core.$strip>;
1997
2028
  declare const bylineListResponseSchema: z.ZodObject<{
1998
2029
  items: z.ZodArray<z.ZodObject<{
@@ -2001,6 +2032,8 @@ declare const bylineListResponseSchema: z.ZodObject<{
2001
2032
  displayName: z.ZodString;
2002
2033
  bio: z.ZodNullable<z.ZodString>;
2003
2034
  avatarMediaId: z.ZodNullable<z.ZodString>;
2035
+ avatarStorageKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2036
+ avatarAlt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2004
2037
  websiteUrl: z.ZodNullable<z.ZodString>;
2005
2038
  userId: z.ZodNullable<z.ZodString>;
2006
2039
  isGuest: z.ZodBoolean;
@@ -2008,9 +2041,104 @@ declare const bylineListResponseSchema: z.ZodObject<{
2008
2041
  updatedAt: z.ZodString;
2009
2042
  locale: z.ZodString;
2010
2043
  translationGroup: z.ZodNullable<z.ZodString>;
2044
+ customFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNull]>>>;
2011
2045
  }, z.core.$strip>>;
2012
2046
  nextCursor: z.ZodOptional<z.ZodString>;
2013
2047
  }, z.core.$strip>;
2014
2048
  //#endregion
2015
- export { searchSuggestQuery as $, localeFilterQuery as $n, collectionListResponseSchema as $t, allowedDomainCreateBody as A, contentItemSchema as An, authMeActionBody as At, setupAtprotoAdminBody as B, contentTranslationSchema as Bn, signupCompleteBody as Bt, createWidgetBody as C, mediaProviderListQuery as Cn, menuListItemSchema as Ct, widgetAreaWithWidgetsAndCountSchema as D, mediaUploadUrlResponseSchema as Dn, reorderMenuItemsBody as Dt, widgetAreaSchema as E, mediaUploadUrlBody as En, menuWithItemsSchema as Et, userUpdateBody as F, contentResponseSchema as Fn, passkeyOptionsBody as Ft, wpPluginExecuteBody as G, trashedContentListResponseSchema as Gn, commentCountsResponseSchema as Gt, importProbeBody as H, contentTrashQuery as Hn, adminCommentListResponseSchema as Ht, usersListQuery as I, contentScheduleBody as In, passkeyRegisterOptionsBody as It, searchEnableBody as J, countResponseSchema as Jn, commentStatusBody as Jt, wpPrepareBody as K, VALID_ROLE_LEVELS as Kn, commentListQuery as Kt, atprotoLoginBody as L, contentSeoInput as Ln, passkeyRegisterVerifyBody as Lt, userDetailSchema as M, contentListResponseSchema as Mn, inviteCreateBody as Mt, userListResponseSchema as N, contentPreviewUrlBody as Nn, inviteRegisterOptionsBody as Nt, widgetAreaWithWidgetsSchema as O, contentCompareResponseSchema as On, updateMenuBody as Ot, userSchema as P, contentPublishBody as Pn, magicLinkSendBody as Pt, searchResultSchema as Q, localeCode as Qn, collectionGetQuery as Qt, setupAdminBody as R, contentSeoSchema as Rn, passkeyRenameBody as Rt, createWidgetAreaBody as S, mediaListResponseSchema as Sn, menuItemTypeEnum as St, updateWidgetBody as T, mediaUpdateBody as Tn, menuTranslationsSchema as Tt, wpMediaImportBody as U, contentUpdateBody as Un, commentBulkBody as Ut, setupBody as V, contentTranslationsResponseSchema as Vn, signupRequestBody as Vt, wpPluginAnalyzeBody as W, trashedContentItemSchema as Wn, commentBulkResponseSchema as Wt, searchRebuildBody as X, deleteResponseSchema as Xn, publicCommentListResponseSchema as Xt, searchQuery as Y, cursorPaginationQuery as Yn, createCommentBody as Yt, searchResponseSchema as Z, httpUrl as Zn, publicCommentSchema as Zt, notFoundSummarySchema as _, mediaConfirmBody as _n, termWithCountSchema as _t, bylineTranslationCreateBody as a, fieldListResponseSchema as an, sectionsListQuery as at, redirectsListQuery as b, mediaItemSchema as bn, createMenuItemBody as bt, bylinesListQuery as c, fieldSchema as cn, createTermBody as ct, notFoundEntrySchema as d, orphanedTableSchema as dn, taxonomyListResponseSchema as dt, collectionResponseSchema as en, offsetPaginationQuery as er, settingsUpdateBody as et, notFoundListQuery as f, schemaExportQuery as fn, termGetResponseSchema as ft, notFoundSummaryResponseSchema as g, formatFileSize as gn, termTranslationsSchema as gt, notFoundSummaryQuery as h, DEFAULT_MAX_UPLOAD_SIZE as hn, termSchema as ht, bylineSummarySchema as i, createFieldBody as in, sectionSchema as it, allowedDomainUpdateBody as j, contentListQuery as jn, inviteCompleteBody as jt, widgetSchema as k, contentCreateBody as kn, updateMenuItemBody as kt, contentBylineInputSchema as l, orphanRegisterBody as ln, taxonomyDefSchema as lt, notFoundPruneBody as m, updateFieldBody as mn, termResponseSchema as mt, bylineCreditSchema as n, collectionWithFieldsResponseSchema as nn, slugPattern as nr, createSectionBody as nt, bylineTranslationsResponseSchema as o, fieldReorderBody as on, updateSectionBody as ot, notFoundListResponseSchema as p, updateCollectionBody as pn, termListResponseSchema as pt, wpRewriteUrlsBody as q, apiErrorSchema as qn, commentSchema as qt, bylineListResponseSchema as r, createCollectionBody as rn, successEnvelope as rr, sectionListResponseSchema as rt, bylineUpdateBody as s, fieldResponseSchema as sn, createTaxonomyDefBody as st, bylineCreateBody as t, collectionSchema as tn, roleLevel as tr, siteSettingsSchema as tt, createRedirectBody as u, orphanedTableListResponseSchema as un, taxonomyDefTranslationsSchema as ut, redirectListResponseSchema as v, mediaConfirmResponseSchema as vn, updateTermBody as vt, reorderWidgetsBody as w, mediaResponseSchema as wn, menuSchema as wt, updateRedirectBody as x, mediaListQuery as xn, menuItemSchema as xt, redirectSchema as y, mediaExistingResponseSchema as yn, createMenuBody as yt, setupAdminVerifyBody as z, contentTermsBody as zn, passkeyVerifyBody as zt };
2016
- //# sourceMappingURL=bylines-DWLnr6-k.d.mts.map
2049
+ //#region src/api/schemas/byline-fields.d.ts
2050
+ declare const bylineFieldCreateBody: z.ZodObject<{
2051
+ slug: z.ZodString;
2052
+ label: z.ZodString;
2053
+ type: z.ZodEnum<{
2054
+ string: "string";
2055
+ boolean: "boolean";
2056
+ text: "text";
2057
+ url: "url";
2058
+ select: "select";
2059
+ }>;
2060
+ required: z.ZodOptional<z.ZodBoolean>;
2061
+ translatable: z.ZodOptional<z.ZodBoolean>;
2062
+ validation: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2063
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2064
+ }, z.core.$strict>>>;
2065
+ sortOrder: z.ZodOptional<z.ZodNumber>;
2066
+ }, z.core.$strict>;
2067
+ /**
2068
+ * Update body. `slug` and `type` are intentionally absent — both are
2069
+ * immutable post-create (changing them would invalidate stored values).
2070
+ * `translatable` flips are gated at the registry layer when value rows
2071
+ * exist (`TRANSLATABLE_LOCKED`).
2072
+ */
2073
+ declare const bylineFieldUpdateBody: z.ZodObject<{
2074
+ label: z.ZodOptional<z.ZodString>;
2075
+ required: z.ZodOptional<z.ZodBoolean>;
2076
+ translatable: z.ZodOptional<z.ZodBoolean>;
2077
+ validation: z.ZodOptional<z.ZodNullable<z.ZodObject<{
2078
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2079
+ }, z.core.$strict>>>;
2080
+ sortOrder: z.ZodOptional<z.ZodNumber>;
2081
+ }, z.core.$strict>;
2082
+ declare const bylineFieldReorderBody: z.ZodObject<{
2083
+ slugs: z.ZodArray<z.ZodString>;
2084
+ }, z.core.$strict>;
2085
+ declare const bylineFieldDefinitionSchema: z.ZodObject<{
2086
+ id: z.ZodString;
2087
+ slug: z.ZodString;
2088
+ label: z.ZodString;
2089
+ type: z.ZodEnum<{
2090
+ string: "string";
2091
+ boolean: "boolean";
2092
+ text: "text";
2093
+ url: "url";
2094
+ select: "select";
2095
+ }>;
2096
+ required: z.ZodBoolean;
2097
+ translatable: z.ZodBoolean;
2098
+ validation: z.ZodNullable<z.ZodObject<{
2099
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2100
+ }, z.core.$strip>>;
2101
+ sortOrder: z.ZodNumber;
2102
+ createdAt: z.ZodString;
2103
+ updatedAt: z.ZodString;
2104
+ }, z.core.$strip>;
2105
+ declare const bylineFieldListResponseSchema: z.ZodObject<{
2106
+ items: z.ZodArray<z.ZodObject<{
2107
+ id: z.ZodString;
2108
+ slug: z.ZodString;
2109
+ label: z.ZodString;
2110
+ type: z.ZodEnum<{
2111
+ string: "string";
2112
+ boolean: "boolean";
2113
+ text: "text";
2114
+ url: "url";
2115
+ select: "select";
2116
+ }>;
2117
+ required: z.ZodBoolean;
2118
+ translatable: z.ZodBoolean;
2119
+ validation: z.ZodNullable<z.ZodObject<{
2120
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2121
+ }, z.core.$strip>>;
2122
+ sortOrder: z.ZodNumber;
2123
+ createdAt: z.ZodString;
2124
+ updatedAt: z.ZodString;
2125
+ }, z.core.$strip>>;
2126
+ }, z.core.$strip>;
2127
+ /**
2128
+ * Response shape for `GET /api/admin/byline-fields/[slug]/usage`.
2129
+ *
2130
+ * `translatableValueCount` counts rows in `_emdash_byline_field_values`.
2131
+ * `groupValueCount` counts rows in `_emdash_byline_field_group_values`.
2132
+ * `totalAffectedRows` is the sum — what the destructive-delete confirm
2133
+ * dialog surfaces. Both individual counts are exposed for diagnostic
2134
+ * value (e.g. inconsistency with the field's current `translatable`
2135
+ * flag would show non-zero on the "wrong" side).
2136
+ */
2137
+ declare const bylineFieldUsageResponseSchema: z.ZodObject<{
2138
+ translatableValueCount: z.ZodNumber;
2139
+ groupValueCount: z.ZodNumber;
2140
+ totalAffectedRows: z.ZodNumber;
2141
+ }, z.core.$strip>;
2142
+ //#endregion
2143
+ export { wpRewriteUrlsBody as $, apiErrorSchema as $n, commentSchema as $t, reorderWidgetsBody as A, mediaResponseSchema as An, menuSchema as At, userSchema as B, contentPublishBody as Bn, magicLinkSendBody as Bt, notFoundSummarySchema as C, mediaConfirmBody as Cn, termWithCountSchema as Ct, updateRedirectBody as D, mediaListQuery as Dn, menuItemSchema as Dt, redirectsListQuery as E, mediaItemSchema as En, createMenuItemBody as Et, widgetSchema as F, contentCreateBody as Fn, updateMenuItemBody as Ft, setupAdminVerifyBody as G, contentTermsBody as Gn, passkeyVerifyBody as Gt, usersListQuery as H, contentScheduleBody as Hn, passkeyRegisterOptionsBody as Ht, allowedDomainCreateBody as I, contentItemSchema as In, authMeActionBody as It, importProbeBody as J, contentTrashQuery as Jn, adminCommentListResponseSchema as Jt, setupAtprotoAdminBody as K, contentTranslationSchema as Kn, signupCompleteBody as Kt, allowedDomainUpdateBody as L, contentListQuery as Ln, inviteCompleteBody as Lt, widgetAreaSchema as M, mediaUploadUrlBody as Mn, menuWithItemsSchema as Mt, widgetAreaWithWidgetsAndCountSchema as N, mediaUploadUrlResponseSchema as Nn, reorderMenuItemsBody as Nt, createWidgetAreaBody as O, mediaListResponseSchema as On, menuItemTypeEnum as Ot, widgetAreaWithWidgetsSchema as P, contentCompareResponseSchema as Pn, updateMenuBody as Pt, wpPrepareBody as Q, VALID_ROLE_LEVELS as Qn, commentListQuery as Qt, userDetailSchema as R, contentListResponseSchema as Rn, inviteCreateBody as Rt, notFoundSummaryResponseSchema as S, formatFileSize as Sn, termTranslationsSchema as St, redirectSchema as T, mediaExistingResponseSchema as Tn, createMenuBody as Tt, atprotoLoginBody as U, contentSeoInput as Un, passkeyRegisterVerifyBody as Ut, userUpdateBody as V, contentResponseSchema as Vn, passkeyOptionsBody as Vt, setupAdminBody as W, contentSeoSchema as Wn, passkeyRenameBody as Wt, wpPluginAnalyzeBody as X, trashedContentItemSchema as Xn, commentBulkResponseSchema as Xt, wpMediaImportBody as Y, contentUpdateBody as Yn, commentBulkBody as Yt, wpPluginExecuteBody as Z, trashedContentListResponseSchema as Zn, commentCountsResponseSchema as Zt, notFoundEntrySchema as _, orphanedTableSchema as _n, taxonomyListResponseSchema as _t, bylineFieldUpdateBody as a, collectionListResponseSchema as an, localeFilterQuery as ar, searchSuggestQuery as at, notFoundPruneBody as b, updateFieldBody as bn, termResponseSchema as bt, bylineCreditSchema as c, collectionWithFieldsResponseSchema as cn, slugPattern as cr, createSectionBody as ct, bylineTranslationCreateBody as d, fieldListResponseSchema as dn, sectionsListQuery as dt, commentStatusBody as en, countResponseSchema as er, searchEnableBody as et, bylineTranslationsResponseSchema as f, fieldReorderBody as fn, updateSectionBody as ft, createRedirectBody as g, orphanedTableListResponseSchema as gn, taxonomyDefTranslationsSchema as gt, contentBylineInputSchema as h, orphanRegisterBody as hn, taxonomyDefSchema as ht, bylineFieldReorderBody as i, collectionGetQuery as in, localeCode as ir, searchResultSchema as it, updateWidgetBody as j, mediaUpdateBody as jn, menuTranslationsSchema as jt, createWidgetBody as k, mediaProviderListQuery as kn, menuListItemSchema as kt, bylineListResponseSchema as l, createCollectionBody as ln, successEnvelope as lr, sectionListResponseSchema as lt, bylinesListQuery as m, fieldSchema as mn, createTermBody as mt, bylineFieldDefinitionSchema as n, publicCommentListResponseSchema as nn, deleteResponseSchema as nr, searchRebuildBody as nt, bylineFieldUsageResponseSchema as o, collectionResponseSchema as on, offsetPaginationQuery as or, settingsUpdateBody as ot, bylineUpdateBody as p, fieldResponseSchema as pn, createTaxonomyDefBody as pt, setupBody as q, contentTranslationsResponseSchema as qn, signupRequestBody as qt, bylineFieldListResponseSchema as r, publicCommentSchema as rn, httpUrl as rr, searchResponseSchema as rt, bylineCreateBody as s, collectionSchema as sn, roleLevel as sr, siteSettingsSchema as st, bylineFieldCreateBody as t, createCommentBody as tn, cursorPaginationQuery as tr, searchQuery as tt, bylineSummarySchema as u, createFieldBody as un, sectionSchema as ut, notFoundListQuery as v, schemaExportQuery as vn, termGetResponseSchema as vt, redirectListResponseSchema as w, mediaConfirmResponseSchema as wn, updateTermBody as wt, notFoundSummaryQuery as x, DEFAULT_MAX_UPLOAD_SIZE as xn, termSchema as xt, notFoundListResponseSchema as y, updateCollectionBody as yn, termListResponseSchema as yt, userListResponseSchema as z, contentPreviewUrlBody as zn, inviteRegisterOptionsBody as zt };
2144
+ //# sourceMappingURL=byline-fields-BNy7Ng1U.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byline-fields-BNy7Ng1U.d.mts","names":[],"sources":["../src/api/schemas/common.ts","../src/api/schemas/content.ts","../src/api/schemas/media.ts","../src/api/schemas/schema.ts","../src/api/schemas/comments.ts","../src/api/schemas/auth.ts","../src/api/schemas/menus.ts","../src/api/schemas/taxonomies.ts","../src/api/schemas/sections.ts","../src/api/schemas/settings.ts","../src/api/schemas/search.ts","../src/api/schemas/import.ts","../src/api/schemas/setup.ts","../src/api/schemas/users.ts","../src/api/schemas/widgets.ts","../src/api/schemas/redirects.ts","../src/api/schemas/bylines.ts","../src/api/schemas/byline-fields.ts"],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { n as BylineSchemaRegistry, r as mapBylineSchemaError, t as BylineSchemaError } from "./byline-registry-CxK5g559.mjs";
2
+
3
+ //#region src/api/handlers/byline-fields.ts
4
+ /**
5
+ * Build a structured failure envelope from a `BylineSchemaError`.
6
+ * Centralised so every handler emits the same shape.
7
+ */
8
+ function bylineSchemaErrorResult(error) {
9
+ const mapped = mapBylineSchemaError(error);
10
+ return {
11
+ success: false,
12
+ error: {
13
+ code: mapped.code,
14
+ message: mapped.message,
15
+ details: mapped.details
16
+ }
17
+ };
18
+ }
19
+ /**
20
+ * Build a 500-class failure envelope. Logs the underlying error
21
+ * server-side; the message returned to the client is the static
22
+ * fallback to avoid leaking internals.
23
+ */
24
+ function internalErrorResult(error, code, fallbackMessage) {
25
+ console.error(`[${code}]`, error);
26
+ return {
27
+ success: false,
28
+ error: {
29
+ code,
30
+ message: fallbackMessage
31
+ }
32
+ };
33
+ }
34
+ async function handleBylineFieldList(db) {
35
+ try {
36
+ return {
37
+ success: true,
38
+ data: { items: await new BylineSchemaRegistry(db).listFields() }
39
+ };
40
+ } catch (error) {
41
+ return internalErrorResult(error, "SCHEMA_FIELD_LIST_ERROR", "Failed to list byline fields");
42
+ }
43
+ }
44
+ async function handleBylineFieldCreate(db, input) {
45
+ try {
46
+ return {
47
+ success: true,
48
+ data: await new BylineSchemaRegistry(db).createField(input)
49
+ };
50
+ } catch (error) {
51
+ if (error instanceof BylineSchemaError) return bylineSchemaErrorResult(error);
52
+ return internalErrorResult(error, "SCHEMA_FIELD_CREATE_ERROR", "Failed to create byline field");
53
+ }
54
+ }
55
+ async function handleBylineFieldGet(db, slug) {
56
+ try {
57
+ const field = await new BylineSchemaRegistry(db).getField(slug);
58
+ if (!field) return {
59
+ success: false,
60
+ error: {
61
+ code: "NOT_FOUND",
62
+ message: "Byline field not found"
63
+ }
64
+ };
65
+ return {
66
+ success: true,
67
+ data: field
68
+ };
69
+ } catch (error) {
70
+ return internalErrorResult(error, "SCHEMA_FIELD_GET_ERROR", "Failed to get byline field");
71
+ }
72
+ }
73
+ async function handleBylineFieldUpdate(db, slug, input) {
74
+ try {
75
+ return {
76
+ success: true,
77
+ data: await new BylineSchemaRegistry(db).updateField(slug, input)
78
+ };
79
+ } catch (error) {
80
+ if (error instanceof BylineSchemaError) return bylineSchemaErrorResult(error);
81
+ return internalErrorResult(error, "SCHEMA_FIELD_UPDATE_ERROR", "Failed to update byline field");
82
+ }
83
+ }
84
+ async function handleBylineFieldDelete(db, slug) {
85
+ try {
86
+ await new BylineSchemaRegistry(db).deleteField(slug);
87
+ return {
88
+ success: true,
89
+ data: { deleted: true }
90
+ };
91
+ } catch (error) {
92
+ if (error instanceof BylineSchemaError) return bylineSchemaErrorResult(error);
93
+ return internalErrorResult(error, "SCHEMA_FIELD_DELETE_ERROR", "Failed to delete byline field");
94
+ }
95
+ }
96
+ async function handleBylineFieldUsage(db, slug) {
97
+ try {
98
+ return {
99
+ success: true,
100
+ data: await new BylineSchemaRegistry(db).getFieldUsage(slug)
101
+ };
102
+ } catch (error) {
103
+ if (error instanceof BylineSchemaError) return bylineSchemaErrorResult(error);
104
+ return internalErrorResult(error, "SCHEMA_FIELD_GET_ERROR", "Failed to read byline field usage");
105
+ }
106
+ }
107
+ async function handleBylineFieldReorder(db, slugs) {
108
+ try {
109
+ const registry = new BylineSchemaRegistry(db);
110
+ await registry.reorderFields(slugs);
111
+ return {
112
+ success: true,
113
+ data: { items: await registry.listFields() }
114
+ };
115
+ } catch (error) {
116
+ if (error instanceof BylineSchemaError) return bylineSchemaErrorResult(error);
117
+ return internalErrorResult(error, "SCHEMA_FIELD_REORDER_ERROR", "Failed to reorder byline fields");
118
+ }
119
+ }
120
+
121
+ //#endregion
122
+ export { handleBylineFieldReorder as a, handleBylineFieldList as i, handleBylineFieldDelete as n, handleBylineFieldUpdate as o, handleBylineFieldGet as r, handleBylineFieldUsage as s, handleBylineFieldCreate as t };
123
+ //# sourceMappingURL=byline-fields-DC3Wkk-U.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byline-fields-DC3Wkk-U.mjs","names":[],"sources":["../src/api/handlers/byline-fields.ts"],"sourcesContent":["/**\n * Handler layer for the byline-fields admin API (Phase 4 of Discussion\n * #1174).\n *\n * Each handler:\n * - Takes the `Kysely<Database>` from the route, returns `ApiResult<T>`.\n * - Wraps the registry call in try/catch.\n * - Translates `BylineSchemaError` → shared `ErrorCode` via\n * `mapBylineSchemaError`. HTTP status comes from `mapErrorStatus` at\n * the route's `unwrapResult` site — handlers don't know about\n * statuses.\n * - Catches everything else, logs server-side, returns a 500-class\n * code without leaking `error.message`.\n *\n * Reserved-slug + identifier validation runs at the zod layer (see\n * `schemas/byline-fields.ts`); the registry repeats it for defence in\n * depth (non-HTTP callers). This module assumes inputs have already\n * passed through whichever zod schema the route used.\n */\n\nimport type { Kysely } from \"kysely\";\n\nimport type { Database } from \"../../database/types.js\";\nimport {\n\tBylineSchemaError,\n\tBylineSchemaRegistry,\n\tmapBylineSchemaError,\n} from \"../../schema/byline-registry.js\";\nimport type {\n\tBylineFieldDefinition,\n\tCreateBylineFieldInput,\n\tUpdateBylineFieldInput,\n} from \"../../schema/types.js\";\nimport type { ApiResult } from \"../types.js\";\n\n/**\n * Build a structured failure envelope from a `BylineSchemaError`.\n * Centralised so every handler emits the same shape.\n */\nfunction bylineSchemaErrorResult<T>(error: BylineSchemaError): ApiResult<T> {\n\tconst mapped = mapBylineSchemaError(error);\n\treturn {\n\t\tsuccess: false,\n\t\terror: { code: mapped.code, message: mapped.message, details: mapped.details },\n\t};\n}\n\n/**\n * Build a 500-class failure envelope. Logs the underlying error\n * server-side; the message returned to the client is the static\n * fallback to avoid leaking internals.\n */\nfunction internalErrorResult<T>(\n\terror: unknown,\n\tcode: string,\n\tfallbackMessage: string,\n): ApiResult<T> {\n\tconsole.error(`[${code}]`, error);\n\treturn {\n\t\tsuccess: false,\n\t\terror: { code, message: fallbackMessage },\n\t};\n}\n\n// ---------------------------------------------------------------------------\n// List\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldList(\n\tdb: Kysely<Database>,\n): Promise<ApiResult<{ items: BylineFieldDefinition[] }>> {\n\ttry {\n\t\tconst items = await new BylineSchemaRegistry(db).listFields();\n\t\treturn { success: true, data: { items } };\n\t} catch (error) {\n\t\treturn internalErrorResult(error, \"SCHEMA_FIELD_LIST_ERROR\", \"Failed to list byline fields\");\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Create\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldCreate(\n\tdb: Kysely<Database>,\n\tinput: CreateBylineFieldInput,\n): Promise<ApiResult<BylineFieldDefinition>> {\n\ttry {\n\t\tconst field = await new BylineSchemaRegistry(db).createField(input);\n\t\treturn { success: true, data: field };\n\t} catch (error) {\n\t\tif (error instanceof BylineSchemaError) {\n\t\t\treturn bylineSchemaErrorResult(error);\n\t\t}\n\t\treturn internalErrorResult(error, \"SCHEMA_FIELD_CREATE_ERROR\", \"Failed to create byline field\");\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Get one\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldGet(\n\tdb: Kysely<Database>,\n\tslug: string,\n): Promise<ApiResult<BylineFieldDefinition>> {\n\ttry {\n\t\tconst field = await new BylineSchemaRegistry(db).getField(slug);\n\t\tif (!field) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: { code: \"NOT_FOUND\", message: \"Byline field not found\" },\n\t\t\t};\n\t\t}\n\t\treturn { success: true, data: field };\n\t} catch (error) {\n\t\treturn internalErrorResult(error, \"SCHEMA_FIELD_GET_ERROR\", \"Failed to get byline field\");\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Update\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldUpdate(\n\tdb: Kysely<Database>,\n\tslug: string,\n\tinput: UpdateBylineFieldInput,\n): Promise<ApiResult<BylineFieldDefinition>> {\n\ttry {\n\t\tconst field = await new BylineSchemaRegistry(db).updateField(slug, input);\n\t\treturn { success: true, data: field };\n\t} catch (error) {\n\t\tif (error instanceof BylineSchemaError) {\n\t\t\treturn bylineSchemaErrorResult(error);\n\t\t}\n\t\treturn internalErrorResult(error, \"SCHEMA_FIELD_UPDATE_ERROR\", \"Failed to update byline field\");\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Delete\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldDelete(\n\tdb: Kysely<Database>,\n\tslug: string,\n): Promise<ApiResult<{ deleted: true }>> {\n\ttry {\n\t\tawait new BylineSchemaRegistry(db).deleteField(slug);\n\t\treturn { success: true, data: { deleted: true } };\n\t} catch (error) {\n\t\tif (error instanceof BylineSchemaError) {\n\t\t\treturn bylineSchemaErrorResult(error);\n\t\t}\n\t\treturn internalErrorResult(error, \"SCHEMA_FIELD_DELETE_ERROR\", \"Failed to delete byline field\");\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Usage\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldUsage(\n\tdb: Kysely<Database>,\n\tslug: string,\n): Promise<\n\tApiResult<{\n\t\ttranslatableValueCount: number;\n\t\tgroupValueCount: number;\n\t\ttotalAffectedRows: number;\n\t}>\n> {\n\ttry {\n\t\tconst usage = await new BylineSchemaRegistry(db).getFieldUsage(slug);\n\t\treturn { success: true, data: usage };\n\t} catch (error) {\n\t\tif (error instanceof BylineSchemaError) {\n\t\t\treturn bylineSchemaErrorResult(error);\n\t\t}\n\t\treturn internalErrorResult(\n\t\t\terror,\n\t\t\t\"SCHEMA_FIELD_GET_ERROR\",\n\t\t\t\"Failed to read byline field usage\",\n\t\t);\n\t}\n}\n\n// ---------------------------------------------------------------------------\n// Reorder\n// ---------------------------------------------------------------------------\n\nexport async function handleBylineFieldReorder(\n\tdb: Kysely<Database>,\n\tslugs: string[],\n): Promise<ApiResult<{ items: BylineFieldDefinition[] }>> {\n\ttry {\n\t\tconst registry = new BylineSchemaRegistry(db);\n\t\tawait registry.reorderFields(slugs);\n\t\tconst items = await registry.listFields();\n\t\treturn { success: true, data: { items } };\n\t} catch (error) {\n\t\tif (error instanceof BylineSchemaError) {\n\t\t\treturn bylineSchemaErrorResult(error);\n\t\t}\n\t\treturn internalErrorResult(\n\t\t\terror,\n\t\t\t\"SCHEMA_FIELD_REORDER_ERROR\",\n\t\t\t\"Failed to reorder byline fields\",\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;AAuCA,SAAS,wBAA2B,OAAwC;CAC3E,MAAM,SAAS,qBAAqB,MAAM;AAC1C,QAAO;EACN,SAAS;EACT,OAAO;GAAE,MAAM,OAAO;GAAM,SAAS,OAAO;GAAS,SAAS,OAAO;GAAS;EAC9E;;;;;;;AAQF,SAAS,oBACR,OACA,MACA,iBACe;AACf,SAAQ,MAAM,IAAI,KAAK,IAAI,MAAM;AACjC,QAAO;EACN,SAAS;EACT,OAAO;GAAE;GAAM,SAAS;GAAiB;EACzC;;AAOF,eAAsB,sBACrB,IACyD;AACzD,KAAI;AAEH,SAAO;GAAE,SAAS;GAAM,MAAM,EAAE,OADlB,MAAM,IAAI,qBAAqB,GAAG,CAAC,YAAY,EACtB;GAAE;UACjC,OAAO;AACf,SAAO,oBAAoB,OAAO,2BAA2B,+BAA+B;;;AAQ9F,eAAsB,wBACrB,IACA,OAC4C;AAC5C,KAAI;AAEH,SAAO;GAAE,SAAS;GAAM,MADV,MAAM,IAAI,qBAAqB,GAAG,CAAC,YAAY,MAAM;GAC9B;UAC7B,OAAO;AACf,MAAI,iBAAiB,kBACpB,QAAO,wBAAwB,MAAM;AAEtC,SAAO,oBAAoB,OAAO,6BAA6B,gCAAgC;;;AAQjG,eAAsB,qBACrB,IACA,MAC4C;AAC5C,KAAI;EACH,MAAM,QAAQ,MAAM,IAAI,qBAAqB,GAAG,CAAC,SAAS,KAAK;AAC/D,MAAI,CAAC,MACJ,QAAO;GACN,SAAS;GACT,OAAO;IAAE,MAAM;IAAa,SAAS;IAA0B;GAC/D;AAEF,SAAO;GAAE,SAAS;GAAM,MAAM;GAAO;UAC7B,OAAO;AACf,SAAO,oBAAoB,OAAO,0BAA0B,6BAA6B;;;AAQ3F,eAAsB,wBACrB,IACA,MACA,OAC4C;AAC5C,KAAI;AAEH,SAAO;GAAE,SAAS;GAAM,MADV,MAAM,IAAI,qBAAqB,GAAG,CAAC,YAAY,MAAM,MAAM;GACpC;UAC7B,OAAO;AACf,MAAI,iBAAiB,kBACpB,QAAO,wBAAwB,MAAM;AAEtC,SAAO,oBAAoB,OAAO,6BAA6B,gCAAgC;;;AAQjG,eAAsB,wBACrB,IACA,MACwC;AACxC,KAAI;AACH,QAAM,IAAI,qBAAqB,GAAG,CAAC,YAAY,KAAK;AACpD,SAAO;GAAE,SAAS;GAAM,MAAM,EAAE,SAAS,MAAM;GAAE;UACzC,OAAO;AACf,MAAI,iBAAiB,kBACpB,QAAO,wBAAwB,MAAM;AAEtC,SAAO,oBAAoB,OAAO,6BAA6B,gCAAgC;;;AAQjG,eAAsB,uBACrB,IACA,MAOC;AACD,KAAI;AAEH,SAAO;GAAE,SAAS;GAAM,MADV,MAAM,IAAI,qBAAqB,GAAG,CAAC,cAAc,KAAK;GAC/B;UAC7B,OAAO;AACf,MAAI,iBAAiB,kBACpB,QAAO,wBAAwB,MAAM;AAEtC,SAAO,oBACN,OACA,0BACA,oCACA;;;AAQH,eAAsB,yBACrB,IACA,OACyD;AACzD,KAAI;EACH,MAAM,WAAW,IAAI,qBAAqB,GAAG;AAC7C,QAAM,SAAS,cAAc,MAAM;AAEnC,SAAO;GAAE,SAAS;GAAM,MAAM,EAAE,OADlB,MAAM,SAAS,YAAY,EACF;GAAE;UACjC,OAAO;AACf,MAAI,iBAAiB,kBACpB,QAAO,wBAAwB,MAAM;AAEtC,SAAO,oBACN,OACA,8BACA,kCACA"}