emdash 0.22.0 → 0.23.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 (507) hide show
  1. package/dist/{adapters-hUy8vOB-.d.mts → adapters-DAAjOID4.d.mts} +1 -1
  2. package/dist/{adapters-hUy8vOB-.d.mts.map → adapters-DAAjOID4.d.mts.map} +1 -1
  3. package/dist/{allowed-origins-DjlhyfNN.mjs → allowed-origins-D5FxMUo8.mjs} +2 -2
  4. package/dist/{allowed-origins-DjlhyfNN.mjs.map → allowed-origins-D5FxMUo8.mjs.map} +1 -1
  5. package/dist/api/route-utils.d.mts +3 -3
  6. package/dist/api/route-utils.mjs +11 -11
  7. package/dist/api/schemas/index.d.mts +1 -1
  8. package/dist/api/schemas/index.mjs +3 -3
  9. package/dist/{api-BDuM4bEy.mjs → api-BQ_yKRdG.mjs} +12 -12
  10. package/dist/{api-BDuM4bEy.mjs.map → api-BQ_yKRdG.mjs.map} +1 -1
  11. package/dist/{api-tokens-ViYKeIp9.mjs → api-tokens-D6ppjIVi.mjs} +2 -2
  12. package/dist/{api-tokens-ViYKeIp9.mjs.map → api-tokens-D6ppjIVi.mjs.map} +1 -1
  13. package/dist/{apply-wDqQoxX4.mjs → apply-CWRyxIoO.mjs} +12 -12
  14. package/dist/{apply-wDqQoxX4.mjs.map → apply-CWRyxIoO.mjs.map} +1 -1
  15. package/dist/astro/index.d.mts +11 -11
  16. package/dist/astro/index.mjs +12 -6
  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.mjs +3 -3
  21. package/dist/astro/middleware/request-context.d.mts.map +1 -1
  22. package/dist/astro/middleware/request-context.mjs +5 -3
  23. package/dist/astro/middleware/request-context.mjs.map +1 -1
  24. package/dist/astro/middleware/setup.mjs +1 -1
  25. package/dist/astro/middleware.d.mts +1 -1
  26. package/dist/astro/middleware.d.mts.map +1 -1
  27. package/dist/astro/middleware.mjs +349 -128
  28. package/dist/astro/middleware.mjs.map +1 -1
  29. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +5 -5
  30. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +5 -5
  31. package/dist/astro/routes/api/admin/api-tokens/_id_.mjs +3 -3
  32. package/dist/astro/routes/api/admin/api-tokens/index.mjs +4 -4
  33. package/dist/astro/routes/api/admin/byline-fields/_slug_/usage.mjs +3 -3
  34. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +7 -7
  35. package/dist/astro/routes/api/admin/byline-fields/index.mjs +7 -7
  36. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +7 -7
  37. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +12 -11
  38. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs.map +1 -1
  39. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +12 -11
  40. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs.map +1 -1
  41. package/dist/astro/routes/api/admin/bylines/index.mjs +12 -11
  42. package/dist/astro/routes/api/admin/bylines/index.mjs.map +1 -1
  43. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +9 -9
  44. package/dist/astro/routes/api/admin/comments/_id_.mjs +3 -3
  45. package/dist/astro/routes/api/admin/comments/bulk.mjs +7 -7
  46. package/dist/astro/routes/api/admin/comments/counts.mjs +3 -3
  47. package/dist/astro/routes/api/admin/comments/index.mjs +7 -7
  48. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +3 -3
  49. package/dist/astro/routes/api/admin/hooks/exclusive/index.mjs +2 -2
  50. package/dist/astro/routes/api/admin/oauth-clients/_id_.mjs +3 -3
  51. package/dist/astro/routes/api/admin/oauth-clients/index.mjs +3 -3
  52. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +27 -26
  53. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs.map +1 -1
  54. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +27 -26
  55. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs.map +1 -1
  56. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +26 -25
  57. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs.map +1 -1
  58. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +26 -25
  59. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs.map +1 -1
  60. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +26 -25
  61. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs.map +1 -1
  62. package/dist/astro/routes/api/admin/plugins/index.mjs +26 -25
  63. package/dist/astro/routes/api/admin/plugins/index.mjs.map +1 -1
  64. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/icon.mjs +2 -2
  65. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +26 -25
  66. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs.map +1 -1
  67. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +26 -25
  68. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs.map +1 -1
  69. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +26 -25
  70. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs.map +1 -1
  71. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs +26 -25
  72. package/dist/astro/routes/api/admin/plugins/registry/_id_/uninstall.mjs.map +1 -1
  73. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs +27 -26
  74. package/dist/astro/routes/api/admin/plugins/registry/_id_/update.mjs.map +1 -1
  75. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs +26 -25
  76. package/dist/astro/routes/api/admin/plugins/registry/artifact.mjs.map +1 -1
  77. package/dist/astro/routes/api/admin/plugins/registry/install.mjs +27 -26
  78. package/dist/astro/routes/api/admin/plugins/registry/install.mjs.map +1 -1
  79. package/dist/astro/routes/api/admin/plugins/updates.mjs +26 -25
  80. package/dist/astro/routes/api/admin/plugins/updates.mjs.map +1 -1
  81. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +26 -25
  82. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs.map +1 -1
  83. package/dist/astro/routes/api/admin/themes/marketplace/_id_/thumbnail.mjs +2 -2
  84. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +26 -25
  85. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs.map +1 -1
  86. package/dist/astro/routes/api/admin/users/_id_/disable.mjs +1 -1
  87. package/dist/astro/routes/api/admin/users/_id_/enable.mjs +1 -1
  88. package/dist/astro/routes/api/admin/users/_id_/index.mjs +5 -5
  89. package/dist/astro/routes/api/admin/users/_id_/send-recovery.mjs +2 -2
  90. package/dist/astro/routes/api/admin/users/index.mjs +5 -5
  91. package/dist/astro/routes/api/auth/dev-bypass.mjs +3 -3
  92. package/dist/astro/routes/api/auth/invite/accept.mjs +1 -1
  93. package/dist/astro/routes/api/auth/invite/complete.mjs +9 -9
  94. package/dist/astro/routes/api/auth/invite/index.mjs +6 -6
  95. package/dist/astro/routes/api/auth/invite/register-options.mjs +8 -8
  96. package/dist/astro/routes/api/auth/logout.mjs +2 -2
  97. package/dist/astro/routes/api/auth/magic-link/send.mjs +8 -8
  98. package/dist/astro/routes/api/auth/magic-link/verify.mjs +2 -2
  99. package/dist/astro/routes/api/auth/me.mjs +5 -5
  100. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  101. package/dist/astro/routes/api/auth/oauth/_provider_/callback.mjs +3 -3
  102. package/dist/astro/routes/api/auth/oauth/_provider_.mjs +2 -2
  103. package/dist/astro/routes/api/auth/passkey/_id_.mjs +5 -5
  104. package/dist/astro/routes/api/auth/passkey/index.mjs +1 -1
  105. package/dist/astro/routes/api/auth/passkey/options.mjs +10 -10
  106. package/dist/astro/routes/api/auth/passkey/register/options.mjs +8 -8
  107. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +9 -9
  108. package/dist/astro/routes/api/auth/passkey/verify.mjs +9 -9
  109. package/dist/astro/routes/api/auth/signup/complete.mjs +9 -9
  110. package/dist/astro/routes/api/auth/signup/request.mjs +8 -8
  111. package/dist/astro/routes/api/auth/signup/verify.mjs +1 -1
  112. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +10 -10
  113. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +9 -9
  114. package/dist/astro/routes/api/content/_collection_/_id_/compare.mjs +2 -2
  115. package/dist/astro/routes/api/content/_collection_/_id_/discard-draft.mjs +2 -2
  116. package/dist/astro/routes/api/content/_collection_/_id_/duplicate.mjs +2 -2
  117. package/dist/astro/routes/api/content/_collection_/_id_/permanent.mjs +2 -2
  118. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +9 -9
  119. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +6 -6
  120. package/dist/astro/routes/api/content/_collection_/_id_/restore.mjs +2 -2
  121. package/dist/astro/routes/api/content/_collection_/_id_/revisions.mjs +2 -2
  122. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +6 -6
  123. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +9 -9
  124. package/dist/astro/routes/api/content/_collection_/_id_/translations.mjs +2 -2
  125. package/dist/astro/routes/api/content/_collection_/_id_/unpublish.mjs +2 -2
  126. package/dist/astro/routes/api/content/_collection_/_id_.mjs +6 -6
  127. package/dist/astro/routes/api/content/_collection_/authors.mjs +2 -2
  128. package/dist/astro/routes/api/content/_collection_/index.mjs +6 -6
  129. package/dist/astro/routes/api/content/_collection_/trash.mjs +6 -6
  130. package/dist/astro/routes/api/dashboard.mjs +3 -3
  131. package/dist/astro/routes/api/dev/emails.mjs +2 -2
  132. package/dist/astro/routes/api/import/probe.d.mts +3 -3
  133. package/dist/astro/routes/api/import/probe.mjs +10 -10
  134. package/dist/astro/routes/api/import/wordpress/analyze.mjs +2 -2
  135. package/dist/astro/routes/api/import/wordpress/execute.d.mts +9 -9
  136. package/dist/astro/routes/api/import/wordpress/execute.mjs +8 -7
  137. package/dist/astro/routes/api/import/wordpress/execute.mjs.map +1 -1
  138. package/dist/astro/routes/api/import/wordpress/media.mjs +8 -8
  139. package/dist/astro/routes/api/import/wordpress/prepare.mjs +8 -8
  140. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +8 -8
  141. package/dist/astro/routes/api/import/wordpress-plugin/analyze.d.mts +1 -1
  142. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +10 -10
  143. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +1 -1
  144. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +12 -11
  145. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs.map +1 -1
  146. package/dist/astro/routes/api/manifest.mjs +3 -3
  147. package/dist/astro/routes/api/mcp.mjs +29 -29
  148. package/dist/astro/routes/api/media/_id_/confirm.mjs +6 -6
  149. package/dist/astro/routes/api/media/_id_.mjs +6 -6
  150. package/dist/astro/routes/api/media/file/_...key_.mjs +1 -1
  151. package/dist/astro/routes/api/media/providers/_providerId_/_itemId_.mjs +2 -2
  152. package/dist/astro/routes/api/media/providers/_providerId_/index.mjs +2 -2
  153. package/dist/astro/routes/api/media/providers/index.mjs +2 -2
  154. package/dist/astro/routes/api/media/upload-url.mjs +8 -8
  155. package/dist/astro/routes/api/media.mjs +10 -10
  156. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +6 -6
  157. package/dist/astro/routes/api/menus/_name_/items.mjs +6 -6
  158. package/dist/astro/routes/api/menus/_name_/reorder.mjs +6 -6
  159. package/dist/astro/routes/api/menus/_name_/translations.mjs +6 -6
  160. package/dist/astro/routes/api/menus/_name_.mjs +6 -6
  161. package/dist/astro/routes/api/menus/index.mjs +6 -6
  162. package/dist/astro/routes/api/oauth/authorize.mjs +6 -6
  163. package/dist/astro/routes/api/oauth/device/authorize.mjs +5 -5
  164. package/dist/astro/routes/api/oauth/device/code.mjs +8 -8
  165. package/dist/astro/routes/api/oauth/device/token.mjs +7 -7
  166. package/dist/astro/routes/api/oauth/register.mjs +2 -2
  167. package/dist/astro/routes/api/oauth/token/refresh.mjs +5 -5
  168. package/dist/astro/routes/api/oauth/token/revoke.mjs +5 -5
  169. package/dist/astro/routes/api/oauth/token.mjs +5 -5
  170. package/dist/astro/routes/api/openapi.json.mjs +3 -3
  171. package/dist/astro/routes/api/plugins/_pluginId_/_...path_.mjs +3 -3
  172. package/dist/astro/routes/api/redirects/404s/index.mjs +7 -7
  173. package/dist/astro/routes/api/redirects/404s/summary.mjs +7 -7
  174. package/dist/astro/routes/api/redirects/_id_.mjs +8 -8
  175. package/dist/astro/routes/api/redirects/index.mjs +8 -8
  176. package/dist/astro/routes/api/revisions/_revisionId_/index.mjs +2 -2
  177. package/dist/astro/routes/api/revisions/_revisionId_/restore.mjs +2 -2
  178. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +26 -25
  179. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs.map +1 -1
  180. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +26 -25
  181. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs.map +1 -1
  182. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +26 -25
  183. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs.map +1 -1
  184. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +26 -25
  185. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs.map +1 -1
  186. package/dist/astro/routes/api/schema/collections/index.mjs +26 -25
  187. package/dist/astro/routes/api/schema/collections/index.mjs.map +1 -1
  188. package/dist/astro/routes/api/schema/index.mjs +7 -6
  189. package/dist/astro/routes/api/schema/index.mjs.map +1 -1
  190. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +26 -25
  191. package/dist/astro/routes/api/schema/orphans/_slug_.mjs.map +1 -1
  192. package/dist/astro/routes/api/schema/orphans/index.mjs +26 -25
  193. package/dist/astro/routes/api/schema/orphans/index.mjs.map +1 -1
  194. package/dist/astro/routes/api/search/enable.mjs +9 -9
  195. package/dist/astro/routes/api/search/index.mjs +8 -8
  196. package/dist/astro/routes/api/search/rebuild.mjs +9 -9
  197. package/dist/astro/routes/api/search/stats.mjs +5 -5
  198. package/dist/astro/routes/api/search/suggest.mjs +8 -8
  199. package/dist/astro/routes/api/sections/_slug_.mjs +8 -8
  200. package/dist/astro/routes/api/sections/index.mjs +8 -8
  201. package/dist/astro/routes/api/settings/email.mjs +3 -3
  202. package/dist/astro/routes/api/settings.mjs +9 -9
  203. package/dist/astro/routes/api/setup/admin-verify.mjs +10 -10
  204. package/dist/astro/routes/api/setup/admin.mjs +9 -9
  205. package/dist/astro/routes/api/setup/dev-bypass.mjs +17 -16
  206. package/dist/astro/routes/api/setup/dev-bypass.mjs.map +1 -1
  207. package/dist/astro/routes/api/setup/dev-reset.mjs +1 -1
  208. package/dist/astro/routes/api/setup/index.mjs +18 -17
  209. package/dist/astro/routes/api/setup/index.mjs.map +1 -1
  210. package/dist/astro/routes/api/setup/status.mjs +3 -3
  211. package/dist/astro/routes/api/snapshot.mjs +5 -5
  212. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +10 -10
  213. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +10 -10
  214. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +10 -10
  215. package/dist/astro/routes/api/taxonomies/index.mjs +10 -10
  216. package/dist/astro/routes/api/themes/preview.mjs +4 -4
  217. package/dist/astro/routes/api/typegen.mjs +4 -4
  218. package/dist/astro/routes/api/well-known/auth.mjs +1 -1
  219. package/dist/astro/routes/api/well-known/oauth-authorization-server.mjs +2 -2
  220. package/dist/astro/routes/api/well-known/oauth-protected-resource.mjs +2 -2
  221. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +6 -6
  222. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +8 -8
  223. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +8 -8
  224. package/dist/astro/routes/api/widget-areas/_name_.mjs +4 -4
  225. package/dist/astro/routes/api/widget-areas/index.mjs +8 -8
  226. package/dist/astro/routes/api/widget-components.mjs +2 -2
  227. package/dist/astro/routes/robots.txt.mjs +3 -3
  228. package/dist/astro/routes/sitemap-_collection_.xml.mjs +6 -6
  229. package/dist/astro/routes/sitemap.xml.mjs +4 -4
  230. package/dist/astro/types.d.mts +12 -12
  231. package/dist/auth/providers/github.d.mts +1 -1
  232. package/dist/auth/providers/google.d.mts +1 -1
  233. package/dist/{authorize-C0EYoUeV.mjs → authorize-Cse0k7B0.mjs} +2 -2
  234. package/dist/{authorize-C0EYoUeV.mjs.map → authorize-Cse0k7B0.mjs.map} +1 -1
  235. package/dist/{byline-CC0WS4Gu.mjs → byline-DVo-liaP.mjs} +15 -73
  236. package/dist/byline-DVo-liaP.mjs.map +1 -0
  237. package/dist/{byline-fields-53i9Et0x.mjs → byline-fields-B-KXkg5R.mjs} +2 -2
  238. package/dist/{byline-fields-53i9Et0x.mjs.map → byline-fields-B-KXkg5R.mjs.map} +1 -1
  239. package/dist/{byline-fields-DNp0HNKc.mjs → byline-fields-DaMKzkhO.mjs} +1 -1
  240. package/dist/{byline-fields-DNp0HNKc.mjs.map → byline-fields-DaMKzkhO.mjs.map} +1 -1
  241. package/dist/{byline-fields-jy07PZJM.d.mts → byline-fields-RFPkDLRw.d.mts} +21 -1
  242. package/dist/byline-fields-RFPkDLRw.d.mts.map +1 -0
  243. package/dist/{bylines-CCO1CYnH.mjs → bylines-f5ppBpD5.mjs} +6 -6
  244. package/dist/{bylines-CCO1CYnH.mjs.map → bylines-f5ppBpD5.mjs.map} +1 -1
  245. package/dist/{bylines-DGekMGGm.mjs → bylines-pIKgc_TL.mjs} +2 -2
  246. package/dist/{bylines-DGekMGGm.mjs.map → bylines-pIKgc_TL.mjs.map} +1 -1
  247. package/dist/{cache-pXTpun6s.mjs → cache-Q6V4U-Xz.mjs} +1 -1
  248. package/dist/{cache-pXTpun6s.mjs.map → cache-Q6V4U-Xz.mjs.map} +1 -1
  249. package/dist/{challenge-store-C6E_kWTs.mjs → challenge-store-LhiqMccz.mjs} +1 -1
  250. package/dist/{challenge-store-C6E_kWTs.mjs.map → challenge-store-LhiqMccz.mjs.map} +1 -1
  251. package/dist/cli/index.mjs +16 -15
  252. package/dist/cli/index.mjs.map +1 -1
  253. package/dist/client/cf-access.d.mts +1 -1
  254. package/dist/client/index.d.mts +1 -1
  255. package/dist/client/index.mjs +2 -2
  256. package/dist/{comment-reaction-B6AdcpXw.mjs → comment-reaction-Dyb-AutY.mjs} +1 -1
  257. package/dist/{comment-reaction-B6AdcpXw.mjs.map → comment-reaction-Dyb-AutY.mjs.map} +1 -1
  258. package/dist/{comments-CtPkT2tp.mjs → comments-Cczx7AvD.mjs} +1 -1
  259. package/dist/{comments-CtPkT2tp.mjs.map → comments-Cczx7AvD.mjs.map} +1 -1
  260. package/dist/{components-D6ZnrzbB.mjs → components-CYt4uVK9.mjs} +1 -1
  261. package/dist/{components-D6ZnrzbB.mjs.map → components-CYt4uVK9.mjs.map} +1 -1
  262. package/dist/{context-f1__jpzF.mjs → context-B1W8soLv.mjs} +58 -20
  263. package/dist/context-B1W8soLv.mjs.map +1 -0
  264. package/dist/{cron-CQPxBjYs.mjs → cron-C5LVoNmP.mjs} +14 -2
  265. package/dist/cron-C5LVoNmP.mjs.map +1 -0
  266. package/dist/{dashboard-BOESNcwE.mjs → dashboard-CYjpQZ6-.mjs} +1 -1
  267. package/dist/{dashboard-BOESNcwE.mjs.map → dashboard-CYjpQZ6-.mjs.map} +1 -1
  268. package/dist/db/index.d.mts +3 -3
  269. package/dist/db/libsql.d.mts +1 -1
  270. package/dist/db/postgres.d.mts +1 -1
  271. package/dist/db/sqlite.d.mts +1 -1
  272. package/dist/{db-errors-CrC5w3Jz.mjs → db-errors-UXB1CK42.mjs} +1 -1
  273. package/dist/{db-errors-CrC5w3Jz.mjs.map → db-errors-UXB1CK42.mjs.map} +1 -1
  274. package/dist/{default-CpBEPn6a.mjs → default-CeRG-Ot4.mjs} +1 -1
  275. package/dist/{default-CpBEPn6a.mjs.map → default-CeRG-Ot4.mjs.map} +1 -1
  276. package/dist/{device-flow-Bn-qiDrw.mjs → device-flow-DENDCQ9F.mjs} +4 -4
  277. package/dist/{device-flow-Bn-qiDrw.mjs.map → device-flow-DENDCQ9F.mjs.map} +1 -1
  278. package/dist/{email-console-B9VS6eN4.mjs → email-console-DJP32ucW.mjs} +1 -1
  279. package/dist/{email-console-B9VS6eN4.mjs.map → email-console-DJP32ucW.mjs.map} +1 -1
  280. package/dist/{error-BQ1pxs0L.mjs → error-Bl6kZgtt.mjs} +1 -1
  281. package/dist/{error-BQ1pxs0L.mjs.map → error-Bl6kZgtt.mjs.map} +1 -1
  282. package/dist/{escape-BtbJWyaW.mjs → escape-Bjio4ZsM.mjs} +1 -1
  283. package/dist/{escape-BtbJWyaW.mjs.map → escape-Bjio4ZsM.mjs.map} +1 -1
  284. package/dist/field-defs-cache-ztrdzUGb.mjs +77 -0
  285. package/dist/field-defs-cache-ztrdzUGb.mjs.map +1 -0
  286. package/dist/{fts-manager-DtiWqwNJ.mjs → fts-manager-CQuHt-vS.mjs} +1 -1
  287. package/dist/{fts-manager-DtiWqwNJ.mjs.map → fts-manager-CQuHt-vS.mjs.map} +1 -1
  288. package/dist/{hash-BowcuPwv.mjs → hash-DrvzIXcz.mjs} +1 -1
  289. package/dist/{hash-BowcuPwv.mjs.map → hash-DrvzIXcz.mjs.map} +1 -1
  290. package/dist/{import-DqSGOlmR.mjs → import-Bb1T9WJS.mjs} +3 -3
  291. package/dist/{import-DqSGOlmR.mjs.map → import-Bb1T9WJS.mjs.map} +1 -1
  292. package/dist/{index-C2dLNT6S.d.mts → index-BaIj5hIq.d.mts} +39 -17
  293. package/dist/index-BaIj5hIq.d.mts.map +1 -0
  294. package/dist/{index-ZDEwR7qW.d.mts → index-qbL02uhs.d.mts} +3 -3
  295. package/dist/{index-ZDEwR7qW.d.mts.map → index-qbL02uhs.d.mts.map} +1 -1
  296. package/dist/index.d.mts +17 -17
  297. package/dist/index.mjs +46 -45
  298. package/dist/{load-Dtoo7KcJ.mjs → load-BNo-ER8C.mjs} +1 -1
  299. package/dist/{load-Dtoo7KcJ.mjs.map → load-BNo-ER8C.mjs.map} +1 -1
  300. package/dist/{loader-C8Z48Uof.mjs → loader-Dn74CG1b.mjs} +68 -9
  301. package/dist/loader-Dn74CG1b.mjs.map +1 -0
  302. package/dist/{manifest-schema-DDSbwkAL.mjs → manifest-schema-BWKnQYQF.mjs} +1 -1
  303. package/dist/{manifest-schema-DDSbwkAL.mjs.map → manifest-schema-BWKnQYQF.mjs.map} +1 -1
  304. package/dist/media/image-endpoint.mjs +1 -1
  305. package/dist/media/index.d.mts +1 -1
  306. package/dist/media/index.mjs +2 -2
  307. package/dist/media/local-runtime.d.mts +19 -11
  308. package/dist/media/local-runtime.d.mts.map +1 -1
  309. package/dist/media/local-runtime.mjs +9 -7
  310. package/dist/media/local-runtime.mjs.map +1 -1
  311. package/dist/{media-allowlist-DunzrKFM.mjs → media-allowlist-B77I5_bw.mjs} +2 -2
  312. package/dist/{media-allowlist-DunzrKFM.mjs.map → media-allowlist-B77I5_bw.mjs.map} +1 -1
  313. package/dist/{media-url-S22B6aPr.mjs → media-url-O4rm9-SQ.mjs} +1 -1
  314. package/dist/{media-url-S22B6aPr.mjs.map → media-url-O4rm9-SQ.mjs.map} +1 -1
  315. package/dist/{menus-DOs1MQJg.mjs → menus-DS8VTZgo.mjs} +56 -13
  316. package/dist/menus-DS8VTZgo.mjs.map +1 -0
  317. package/dist/{mime-DYpsOAny.mjs → mime-BTzvzJ8M.mjs} +1 -1
  318. package/dist/{mime-DYpsOAny.mjs.map → mime-BTzvzJ8M.mjs.map} +1 -1
  319. package/dist/{mode-CFh8Dw8G.mjs → mode-BB0F8xTC.mjs} +1 -1
  320. package/dist/{mode-CFh8Dw8G.mjs.map → mode-BB0F8xTC.mjs.map} +1 -1
  321. package/dist/{normalize-Uam4_Vkr.mjs → normalize-ClbNIenm.mjs} +1 -1
  322. package/dist/{normalize-Uam4_Vkr.mjs.map → normalize-ClbNIenm.mjs.map} +1 -1
  323. package/dist/{oauth-authorization-BN-t83Uy.mjs → oauth-authorization-CsvzIp_F.mjs} +4 -4
  324. package/dist/{oauth-authorization-BN-t83Uy.mjs.map → oauth-authorization-CsvzIp_F.mjs.map} +1 -1
  325. package/dist/{oauth-clients-R6I_V0qz.mjs → oauth-clients-C9SYwEbZ.mjs} +1 -1
  326. package/dist/{oauth-clients-R6I_V0qz.mjs.map → oauth-clients-C9SYwEbZ.mjs.map} +1 -1
  327. package/dist/{oauth-state-store-Csoc6kkR.mjs → oauth-state-store---zrApfB.mjs} +1 -1
  328. package/dist/{oauth-state-store-Csoc6kkR.mjs.map → oauth-state-store---zrApfB.mjs.map} +1 -1
  329. package/dist/{oauth-user-lookup-d7VYjTpx.mjs → oauth-user-lookup-SHsWRlG9.mjs} +1 -1
  330. package/dist/{oauth-user-lookup-d7VYjTpx.mjs.map → oauth-user-lookup-SHsWRlG9.mjs.map} +1 -1
  331. package/dist/object-cache/memory.d.mts +1 -1
  332. package/dist/{options-DFFpvNJU.d.mts → options-CqECG0gM.d.mts} +3 -3
  333. package/dist/{options-DFFpvNJU.d.mts.map → options-CqECG0gM.d.mts.map} +1 -1
  334. package/dist/page/index.d.mts +2 -2
  335. package/dist/{parse-qrHlnzTy.mjs → parse-C9hpjUyY.mjs} +2 -2
  336. package/dist/{parse-qrHlnzTy.mjs.map → parse-C9hpjUyY.mjs.map} +1 -1
  337. package/dist/{passkey-config-BJTbcnI5.mjs → passkey-config-C0YfSBko.mjs} +1 -1
  338. package/dist/{passkey-config-BJTbcnI5.mjs.map → passkey-config-C0YfSBko.mjs.map} +1 -1
  339. package/dist/{placeholder-CIDCpyEY.mjs → placeholder-B0s2mWu5.mjs} +1 -1
  340. package/dist/{placeholder-CIDCpyEY.mjs.map → placeholder-B0s2mWu5.mjs.map} +1 -1
  341. package/dist/{placeholder-CirPauNG.d.mts → placeholder-QoI4gEzP.d.mts} +1 -1
  342. package/dist/{placeholder-CirPauNG.d.mts.map → placeholder-QoI4gEzP.d.mts.map} +1 -1
  343. package/dist/plugin-types.d.mts +1 -1
  344. package/dist/plugin-utils.d.mts +9 -9
  345. package/dist/plugins/adapt-sandbox-entry.d.mts +9 -9
  346. package/dist/plugins/adapt-sandbox-entry.mjs +2 -2
  347. package/dist/{portable-text-BIFhrU6T.mjs → portable-text-BICg8bTk.mjs} +1 -1
  348. package/dist/{portable-text-BIFhrU6T.mjs.map → portable-text-BICg8bTk.mjs.map} +1 -1
  349. package/dist/{preview-IDye9SPQ.mjs → preview-DKGCt2_p.mjs} +2 -2
  350. package/dist/{preview-IDye9SPQ.mjs.map → preview-DKGCt2_p.mjs.map} +1 -1
  351. package/dist/{public-url-8lFyQ8ZF.mjs → public-url-CTVqgMmg.mjs} +1 -1
  352. package/dist/{public-url-8lFyQ8ZF.mjs.map → public-url-CTVqgMmg.mjs.map} +1 -1
  353. package/dist/{query-B1RVFUNM.mjs → query-DgUHZLWB.mjs} +79 -8
  354. package/dist/query-DgUHZLWB.mjs.map +1 -0
  355. package/dist/{rate-limit-DfNAqIWW.mjs → rate-limit-BuQ5d4X_.mjs} +2 -2
  356. package/dist/{rate-limit-DfNAqIWW.mjs.map → rate-limit-BuQ5d4X_.mjs.map} +1 -1
  357. package/dist/{redirect-B4wuX2A5.mjs → redirect-CS-PHtNh.mjs} +1 -1
  358. package/dist/{redirect-B4wuX2A5.mjs.map → redirect-CS-PHtNh.mjs.map} +1 -1
  359. package/dist/{redirects-CT_vb3NV.mjs → redirects-BZ8Mxn8H.mjs} +2 -2
  360. package/dist/{redirects-CT_vb3NV.mjs.map → redirects-BZ8Mxn8H.mjs.map} +1 -1
  361. package/dist/{redirects-DUvXgzCX.mjs → redirects-x9eFPeyi.mjs} +4 -2
  362. package/dist/redirects-x9eFPeyi.mjs.map +1 -0
  363. package/dist/{registry-CjK96fHD.mjs → registry-CK1SS6pi.mjs} +2 -2
  364. package/dist/{registry-CjK96fHD.mjs.map → registry-CK1SS6pi.mjs.map} +1 -1
  365. package/dist/{request-meta-ei3ATilC.mjs → request-meta-CmS1tDFf.mjs} +2 -2
  366. package/dist/{request-meta-ei3ATilC.mjs.map → request-meta-CmS1tDFf.mjs.map} +1 -1
  367. package/dist/{resolve-CpbBglV0.mjs → resolve-C7I0qiR0.mjs} +1 -1
  368. package/dist/{resolve-CpbBglV0.mjs.map → resolve-C7I0qiR0.mjs.map} +1 -1
  369. package/dist/{runner-jdXtFEd3.d.mts → runner-CEtq-6Sm.d.mts} +2 -2
  370. package/dist/{runner-jdXtFEd3.d.mts.map → runner-CEtq-6Sm.d.mts.map} +1 -1
  371. package/dist/runtime.d.mts +10 -10
  372. package/dist/runtime.mjs +1 -1
  373. package/dist/{schema-5z2Jfnbm.mjs → schema-CbFRFoM7.mjs} +3 -3
  374. package/dist/{schema-5z2Jfnbm.mjs.map → schema-CbFRFoM7.mjs.map} +1 -1
  375. package/dist/{search-D9FkoM-k.mjs → search-C-waE_YW.mjs} +3 -3
  376. package/dist/{search-D9FkoM-k.mjs.map → search-C-waE_YW.mjs.map} +1 -1
  377. package/dist/{secrets-BUE5UQys.mjs → secrets-BSf9pRRY.mjs} +2 -2
  378. package/dist/{secrets-BUE5UQys.mjs.map → secrets-BSf9pRRY.mjs.map} +1 -1
  379. package/dist/{sections-DWYZo6HK.mjs → sections-osX9U-YJ.mjs} +2 -2
  380. package/dist/{sections-DWYZo6HK.mjs.map → sections-osX9U-YJ.mjs.map} +1 -1
  381. package/dist/seed/index.d.mts +2 -2
  382. package/dist/seed/index.mjs +12 -11
  383. package/dist/seo/index.d.mts +1 -1
  384. package/dist/seo/index.mjs +1 -1
  385. package/dist/{seo-Cu47j3mJ.mjs → seo-4FovMwNS.mjs} +1 -1
  386. package/dist/{seo-Cu47j3mJ.mjs.map → seo-4FovMwNS.mjs.map} +1 -1
  387. package/dist/{seo-DRnqnstF.mjs → seo-DCEF-AVr.mjs} +1 -1
  388. package/dist/{seo-DRnqnstF.mjs.map → seo-DCEF-AVr.mjs.map} +1 -1
  389. package/dist/{service-DTmtqCnw.mjs → service-jby1RRmU.mjs} +2 -2
  390. package/dist/{service-DTmtqCnw.mjs.map → service-jby1RRmU.mjs.map} +1 -1
  391. package/dist/{session-user-DmtPMNa1.mjs → session-user-B8aLtKAH.mjs} +1 -1
  392. package/dist/{session-user-DmtPMNa1.mjs.map → session-user-B8aLtKAH.mjs.map} +1 -1
  393. package/dist/{settings-DUrVDN0c.mjs → settings-4bRT2NIf.mjs} +2 -2
  394. package/dist/{settings-DUrVDN0c.mjs.map → settings-4bRT2NIf.mjs.map} +1 -1
  395. package/dist/{settings-yaxu9mU-.mjs → settings-t-H2jPuJ.mjs} +3 -3
  396. package/dist/{settings-yaxu9mU-.mjs.map → settings-t-H2jPuJ.mjs.map} +1 -1
  397. package/dist/{setup-complete-BWFHzgvZ.mjs → setup-complete-gEiySUc-.mjs} +1 -1
  398. package/dist/{setup-complete-BWFHzgvZ.mjs.map → setup-complete-gEiySUc-.mjs.map} +1 -1
  399. package/dist/{setup-nonce-DFWG-J5c.mjs → setup-nonce-DzS50zme.mjs} +1 -1
  400. package/dist/{setup-nonce-DFWG-J5c.mjs.map → setup-nonce-DzS50zme.mjs.map} +1 -1
  401. package/dist/{single-flight-cache-B5p5cNOL.mjs → single-flight-cache-Cdfkic3t.mjs} +1 -1
  402. package/dist/{single-flight-cache-B5p5cNOL.mjs.map → single-flight-cache-Cdfkic3t.mjs.map} +1 -1
  403. package/dist/{site-url-BOTPgmeM.mjs → site-url-BLebyON8.mjs} +1 -1
  404. package/dist/{site-url-BOTPgmeM.mjs.map → site-url-BLebyON8.mjs.map} +1 -1
  405. package/dist/{ssrf-B0VeRLrp.mjs → ssrf-BRKb343l.mjs} +1 -1
  406. package/dist/{ssrf-B0VeRLrp.mjs.map → ssrf-BRKb343l.mjs.map} +1 -1
  407. package/dist/{status-CB2basWJ.mjs → status-vUK0SA17.mjs} +1 -1
  408. package/dist/{status-CB2basWJ.mjs.map → status-vUK0SA17.mjs.map} +1 -1
  409. package/dist/storage/local.d.mts +1 -1
  410. package/dist/storage/local.mjs +1 -1
  411. package/dist/storage/s3.d.mts +1 -1
  412. package/dist/storage/s3.mjs +1 -1
  413. package/dist/{taxonomies-CJmkEpdS.mjs → taxonomies-BBB8O-CU.mjs} +2 -2
  414. package/dist/{taxonomies-CJmkEpdS.mjs.map → taxonomies-BBB8O-CU.mjs.map} +1 -1
  415. package/dist/{taxonomies-Be9B1jEj.mjs → taxonomies-Dxrc_szG.mjs} +26 -6
  416. package/dist/{taxonomies-Be9B1jEj.mjs.map → taxonomies-Dxrc_szG.mjs.map} +1 -1
  417. package/dist/{tokens-BvrJvIB6.mjs → tokens-LeuXF9gG.mjs} +1 -1
  418. package/dist/{tokens-BvrJvIB6.mjs.map → tokens-LeuXF9gG.mjs.map} +1 -1
  419. package/dist/{transport-k7YjfmEn.d.mts → transport-BZ-03aFT.d.mts} +1 -1
  420. package/dist/{transport-k7YjfmEn.d.mts.map → transport-BZ-03aFT.d.mts.map} +1 -1
  421. package/dist/{transport-B4rXnSTf.mjs → transport-_2nBz7e9.mjs} +1 -1
  422. package/dist/{transport-B4rXnSTf.mjs.map → transport-_2nBz7e9.mjs.map} +1 -1
  423. package/dist/{trusted-proxy-DY1_UqHr.mjs → trusted-proxy-DZY5WCn2.mjs} +1 -1
  424. package/dist/{trusted-proxy-DY1_UqHr.mjs.map → trusted-proxy-DZY5WCn2.mjs.map} +1 -1
  425. package/dist/{types-Czg1S3gB.d.mts → types-B-gIxFCE.d.mts} +1 -1
  426. package/dist/{types-Czg1S3gB.d.mts.map → types-B-gIxFCE.d.mts.map} +1 -1
  427. package/dist/{types-DXLVzV2w.d.mts → types-BG8_XTLj.d.mts} +1 -1
  428. package/dist/{types-DXLVzV2w.d.mts.map → types-BG8_XTLj.d.mts.map} +1 -1
  429. package/dist/{types-CWGYDYqF.d.mts → types-BWh2MjmA.d.mts} +15 -2
  430. package/dist/types-BWh2MjmA.d.mts.map +1 -0
  431. package/dist/{types-CgvhU-hF.d.mts → types-BWqGVhFn.d.mts} +1 -1
  432. package/dist/{types-CgvhU-hF.d.mts.map → types-BWqGVhFn.d.mts.map} +1 -1
  433. package/dist/{types-DYF2_Vf4.mjs → types-CQAugunJ.mjs} +1 -1
  434. package/dist/{types-DYF2_Vf4.mjs.map → types-CQAugunJ.mjs.map} +1 -1
  435. package/dist/{types-DPCpkzvS.d.mts → types-CTLJYMhN.d.mts} +1 -1
  436. package/dist/{types-DPCpkzvS.d.mts.map → types-CTLJYMhN.d.mts.map} +1 -1
  437. package/dist/{types-CmivgZbp.d.mts → types-CUsXGRVj.d.mts} +1 -1
  438. package/dist/{types-CmivgZbp.d.mts.map → types-CUsXGRVj.d.mts.map} +1 -1
  439. package/dist/types-DXOIbece.mjs.map +1 -1
  440. package/dist/{types-CKNXt63n.d.mts → types-DrYMm9s5.d.mts} +1 -1
  441. package/dist/{types-CKNXt63n.d.mts.map → types-DrYMm9s5.d.mts.map} +1 -1
  442. package/dist/{types-CIKX2HO5.d.mts → types-TTx8uP7V.d.mts} +2 -2
  443. package/dist/{types-CIKX2HO5.d.mts.map → types-TTx8uP7V.d.mts.map} +1 -1
  444. package/dist/{types-DCNNfeCv.d.mts → types-fS7-VTdR.d.mts} +1 -1
  445. package/dist/{types-DCNNfeCv.d.mts.map → types-fS7-VTdR.d.mts.map} +1 -1
  446. package/dist/{utils-LbHcSRTj.mjs → utils-B7A57fm9.mjs} +1 -1
  447. package/dist/{utils-LbHcSRTj.mjs.map → utils-B7A57fm9.mjs.map} +1 -1
  448. package/dist/{validate-Bwl64sxv.mjs → validate-0Utjspbs.mjs} +1 -1
  449. package/dist/{validate-Bwl64sxv.mjs.map → validate-0Utjspbs.mjs.map} +1 -1
  450. package/dist/{validate-CE2M0nvx.d.mts → validate-DOFrIb-c.d.mts} +5 -5
  451. package/dist/{validate-CE2M0nvx.d.mts.map → validate-DOFrIb-c.d.mts.map} +1 -1
  452. package/dist/{validation-C_yOvFaO.mjs → validation-D9EnzH1T.mjs} +5 -5
  453. package/dist/{validation-C_yOvFaO.mjs.map → validation-D9EnzH1T.mjs.map} +1 -1
  454. package/dist/version-BgVM_1MU.mjs +7 -0
  455. package/dist/{version-RnYXYjzD.mjs.map → version-BgVM_1MU.mjs.map} +1 -1
  456. package/dist/{widgets-8GONuRHo.mjs → widgets-BSTzPUYa.mjs} +3 -3
  457. package/dist/{widgets-8GONuRHo.mjs.map → widgets-BSTzPUYa.mjs.map} +1 -1
  458. package/dist/{zod-generator-D481JjzD.mjs → zod-generator-ElVQOav7.mjs} +50 -14
  459. package/dist/zod-generator-ElVQOav7.mjs.map +1 -0
  460. package/package.json +8 -7
  461. package/src/api/schemas/bylines.ts +8 -0
  462. package/src/astro/integration/virtual-modules.ts +8 -0
  463. package/src/astro/integration/vite-config.ts +9 -1
  464. package/src/astro/middleware/request-context.ts +6 -1
  465. package/src/astro/middleware/scoped-db.ts +131 -0
  466. package/src/astro/middleware/stream-end-metrics.ts +4 -8
  467. package/src/astro/middleware.ts +90 -28
  468. package/src/astro/routes/admin.astro +5 -1
  469. package/src/astro/routes/api/schema/index.ts +9 -3
  470. package/src/cli/commands/export-seed.ts +10 -7
  471. package/src/components/Block.astro +71 -0
  472. package/src/components/EmDashMedia.astro +1 -2
  473. package/src/components/Image.astro +36 -2
  474. package/src/components/InlinePortableTextEditor.tsx +10 -2
  475. package/src/components/index.ts +5 -0
  476. package/src/components/portable-text-text-align.ts +38 -0
  477. package/src/content/converters/portable-text-to-prosemirror.ts +5 -1
  478. package/src/content/converters/prosemirror-to-portable-text.ts +8 -0
  479. package/src/content/converters/types.ts +1 -0
  480. package/src/database/repositories/byline.ts +14 -0
  481. package/src/database/repositories/types.ts +13 -0
  482. package/src/emdash-runtime.ts +226 -71
  483. package/src/loader.ts +97 -5
  484. package/src/media/local-runtime.ts +18 -5
  485. package/src/plugins/context.ts +94 -22
  486. package/src/plugins/cron.ts +18 -2
  487. package/src/plugins/routes.ts +40 -1
  488. package/src/query.ts +108 -1
  489. package/src/schema/zod-generator.ts +53 -8
  490. package/src/taxonomies/index.ts +26 -0
  491. package/src/ui.ts +5 -0
  492. package/src/virtual-modules.d.ts +13 -0
  493. package/dist/byline-CC0WS4Gu.mjs.map +0 -1
  494. package/dist/byline-fields-jy07PZJM.d.mts.map +0 -1
  495. package/dist/context-f1__jpzF.mjs.map +0 -1
  496. package/dist/cron-CQPxBjYs.mjs.map +0 -1
  497. package/dist/index-C2dLNT6S.d.mts.map +0 -1
  498. package/dist/loader-C8Z48Uof.mjs.map +0 -1
  499. package/dist/menus-DOs1MQJg.mjs.map +0 -1
  500. package/dist/query-B1RVFUNM.mjs.map +0 -1
  501. package/dist/redirects-DUvXgzCX.mjs.map +0 -1
  502. package/dist/types-CWGYDYqF.d.mts.map +0 -1
  503. package/dist/version-RnYXYjzD.mjs +0 -7
  504. package/dist/zod-generator-D481JjzD.mjs.map +0 -1
  505. /package/dist/{api-tokens-BVH-H8Z9.mjs → api-tokens-B4BQybOp.mjs} +0 -0
  506. /package/dist/{ssrf-Cz1e2QPn.mjs → ssrf-CcX9zvMK.mjs} +0 -0
  507. /package/dist/{types-Bfr2Pj6z.mjs → types-BvbeGEtr.mjs} +0 -0
@@ -13,32 +13,33 @@ import "../../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../../seo-Cu47j3mJ.mjs";
18
- import { y as handlePluginEnable } from "../../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, t as apiError } from "../../../../../../error-BQ1pxs0L.mjs";
36
- import "../../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../../status-CB2basWJ.mjs";
40
- import { r as setCronTasksEnabled } from "../../../../../../cron-CQPxBjYs.mjs";
41
- import { n as requirePerm } from "../../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../../seo-4FovMwNS.mjs";
19
+ import { y as handlePluginEnable } from "../../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, t as apiError } from "../../../../../../error-Bl6kZgtt.mjs";
37
+ import "../../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../../status-vUK0SA17.mjs";
41
+ import { r as setCronTasksEnabled } from "../../../../../../cron-C5LVoNmP.mjs";
42
+ import { n as requirePerm } from "../../../../../../authorize-Cse0k7B0.mjs";
42
43
 
43
44
  //#region src/astro/routes/api/admin/plugins/[id]/enable.ts
44
45
  const prerender = false;
@@ -1 +1 @@
1
- {"version":3,"file":"enable.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/enable.ts"],"sourcesContent":["/**\n * Plugin enable endpoint\n *\n * POST /_emdash/api/admin/plugins/:id/enable - Enable a plugin\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handlePluginEnable } from \"#api/index.js\";\nimport { setCronTasksEnabled } from \"#plugins/cron.js\";\n\nexport const prerender = false;\n\nexport const POST: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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:manage\");\n\tif (denied) return denied;\n\n\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst result = await handlePluginEnable(emdash.db, emdash.configuredPlugins, id);\n\n\tif (!result.success) return unwrapResult(result);\n\n\t// If this is a runtime-installed plugin (marketplace or registry),\n\t// the sandbox bundle may not be in memory yet -- a sync reloads it\n\t// from R2 so the just-enabled plugin can actually run hooks.\n\tconst source = result.data.item.source;\n\tif (source === \"registry\") {\n\t\tawait emdash.syncRegistryPlugins();\n\t} else if (source === \"marketplace\") {\n\t\tawait emdash.syncMarketplacePlugins();\n\t}\n\n\tawait emdash.setPluginStatus(id, \"active\");\n\tawait setCronTasksEnabled(emdash.db, id, true);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAa,YAAY;AAEzB,MAAa,OAAiB,OAAO,EAAE,QAAQ,aAAa;CAC3D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;CAG9D,MAAM,SAAS,MAAM,mBAAmB,OAAO,IAAI,OAAO,mBAAmB,GAAG;AAEhF,KAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;CAKhD,MAAM,SAAS,OAAO,KAAK,KAAK;AAChC,KAAI,WAAW,WACd,OAAM,OAAO,qBAAqB;UACxB,WAAW,cACrB,OAAM,OAAO,wBAAwB;AAGtC,OAAM,OAAO,gBAAgB,IAAI,SAAS;AAC1C,OAAM,oBAAoB,OAAO,IAAI,IAAI,KAAK;AAE9C,QAAO,aAAa,OAAO"}
1
+ {"version":3,"file":"enable.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/enable.ts"],"sourcesContent":["/**\n * Plugin enable endpoint\n *\n * POST /_emdash/api/admin/plugins/:id/enable - Enable a plugin\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handlePluginEnable } from \"#api/index.js\";\nimport { setCronTasksEnabled } from \"#plugins/cron.js\";\n\nexport const prerender = false;\n\nexport const POST: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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:manage\");\n\tif (denied) return denied;\n\n\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst result = await handlePluginEnable(emdash.db, emdash.configuredPlugins, id);\n\n\tif (!result.success) return unwrapResult(result);\n\n\t// If this is a runtime-installed plugin (marketplace or registry),\n\t// the sandbox bundle may not be in memory yet -- a sync reloads it\n\t// from R2 so the just-enabled plugin can actually run hooks.\n\tconst source = result.data.item.source;\n\tif (source === \"registry\") {\n\t\tawait emdash.syncRegistryPlugins();\n\t} else if (source === \"marketplace\") {\n\t\tawait emdash.syncMarketplacePlugins();\n\t}\n\n\tawait emdash.setPluginStatus(id, \"active\");\n\tawait setCronTasksEnabled(emdash.db, id, true);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,MAAa,YAAY;AAEzB,MAAa,OAAiB,OAAO,EAAE,QAAQ,aAAa;CAC3D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;CAG9D,MAAM,SAAS,MAAM,mBAAmB,OAAO,IAAI,OAAO,mBAAmB,GAAG;AAEhF,KAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;CAKhD,MAAM,SAAS,OAAO,KAAK,KAAK;AAChC,KAAI,WAAW,WACd,OAAM,OAAO,qBAAqB;UACxB,WAAW,cACrB,OAAM,OAAO,wBAAwB;AAGtC,OAAM,OAAO,gBAAgB,IAAI,SAAS;AAC1C,OAAM,oBAAoB,OAAO,IAAI,IAAI,KAAK;AAE9C,QAAO,aAAa,OAAO"}
@@ -13,31 +13,32 @@ import "../../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../../seo-Cu47j3mJ.mjs";
18
- import { b as handlePluginGet } from "../../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, t as apiError } from "../../../../../../error-BQ1pxs0L.mjs";
36
- import "../../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../../status-CB2basWJ.mjs";
40
- import { n as requirePerm } from "../../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../../seo-4FovMwNS.mjs";
19
+ import { b as handlePluginGet } from "../../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, t as apiError } from "../../../../../../error-Bl6kZgtt.mjs";
37
+ import "../../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../../status-vUK0SA17.mjs";
41
+ import { n as requirePerm } from "../../../../../../authorize-Cse0k7B0.mjs";
41
42
 
42
43
  //#region src/astro/routes/api/admin/plugins/[id]/index.ts
43
44
  const prerender = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/index.ts"],"sourcesContent":["/**\n * Plugin management single plugin endpoint\n *\n * GET /_emdash/api/admin/plugins/:id - Get plugin details\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handlePluginGet } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst result = await handlePluginGet(\n\t\temdash.db,\n\t\temdash.configuredPlugins,\n\t\tid,\n\t\temdash.config.marketplace,\n\t);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,aAAa;CAC1D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;AAU9D,QAAO,aAPQ,MAAM,gBACpB,OAAO,IACP,OAAO,mBACP,IACA,OAAO,OAAO,YACd,CAE0B"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/index.ts"],"sourcesContent":["/**\n * Plugin management single plugin endpoint\n *\n * GET /_emdash/api/admin/plugins/:id - Get plugin details\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handlePluginGet } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst result = await handlePluginGet(\n\t\temdash.db,\n\t\temdash.configuredPlugins,\n\t\tid,\n\t\temdash.config.marketplace,\n\t);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,aAAa;CAC1D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;AAU9D,QAAO,aAPQ,MAAM,gBACpB,OAAO,IACP,OAAO,mBACP,IACA,OAAO,OAAO,YACd,CAE0B"}
@@ -13,31 +13,32 @@ import "../../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../../seo-Cu47j3mJ.mjs";
18
- import { f as handleMarketplaceUninstall } from "../../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, t as apiError } from "../../../../../../error-BQ1pxs0L.mjs";
36
- import { r as parseOptionalBody, t as isParseError } from "../../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../../status-CB2basWJ.mjs";
40
- import { n as requirePerm } from "../../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../../seo-4FovMwNS.mjs";
19
+ import { f as handleMarketplaceUninstall } from "../../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, t as apiError } from "../../../../../../error-Bl6kZgtt.mjs";
37
+ import { r as parseOptionalBody, t as isParseError } from "../../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../../status-vUK0SA17.mjs";
41
+ import { n as requirePerm } from "../../../../../../authorize-Cse0k7B0.mjs";
41
42
  import { z } from "zod";
42
43
 
43
44
  //#region src/astro/routes/api/admin/plugins/[id]/uninstall.ts
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/uninstall.ts"],"sourcesContent":["/**\n * Marketplace plugin uninstall endpoint\n *\n * POST /_emdash/api/admin/plugins/:id/uninstall - Uninstall a marketplace plugin\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceUninstall } from \"#api/index.js\";\nimport { isParseError, parseOptionalBody } from \"#api/parse.js\";\n\nexport const prerender = false;\n\nconst uninstallBodySchema = z.object({\n\tdeleteData: z.boolean().optional(),\n});\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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:manage\");\n\tif (denied) return denied;\n\n\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst body = await parseOptionalBody(request, uninstallBodySchema, {});\n\tif (isParseError(body)) return body;\n\n\tconst result = await handleMarketplaceUninstall(emdash.db, emdash.storage, id, {\n\t\tdeleteData: body.deleteData ?? false,\n\t});\n\n\tif (!result.success) return unwrapResult(result);\n\n\tawait emdash.syncMarketplacePlugins();\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,YAAY;AAEzB,MAAM,sBAAsB,EAAE,OAAO,EACpC,YAAY,EAAE,SAAS,CAAC,UAAU,EAClC,CAAC;AAEF,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;CAG9D,MAAM,OAAO,MAAM,kBAAkB,SAAS,qBAAqB,EAAE,CAAC;AACtE,KAAI,aAAa,KAAK,CAAE,QAAO;CAE/B,MAAM,SAAS,MAAM,2BAA2B,OAAO,IAAI,OAAO,SAAS,IAAI,EAC9E,YAAY,KAAK,cAAc,OAC/B,CAAC;AAEF,KAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,OAAM,OAAO,wBAAwB;AAErC,QAAO,aAAa,OAAO"}
1
+ {"version":3,"file":"uninstall.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/uninstall.ts"],"sourcesContent":["/**\n * Marketplace plugin uninstall endpoint\n *\n * POST /_emdash/api/admin/plugins/:id/uninstall - Uninstall a marketplace plugin\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceUninstall } from \"#api/index.js\";\nimport { isParseError, parseOptionalBody } from \"#api/parse.js\";\n\nexport const prerender = false;\n\nconst uninstallBodySchema = z.object({\n\tdeleteData: z.boolean().optional(),\n});\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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:manage\");\n\tif (denied) return denied;\n\n\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst body = await parseOptionalBody(request, uninstallBodySchema, {});\n\tif (isParseError(body)) return body;\n\n\tconst result = await handleMarketplaceUninstall(emdash.db, emdash.storage, id, {\n\t\tdeleteData: body.deleteData ?? false,\n\t});\n\n\tif (!result.success) return unwrapResult(result);\n\n\tawait emdash.syncMarketplacePlugins();\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,YAAY;AAEzB,MAAM,sBAAsB,EAAE,OAAO,EACpC,YAAY,EAAE,SAAS,CAAC,UAAU,EAClC,CAAC;AAEF,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;CAG9D,MAAM,OAAO,MAAM,kBAAkB,SAAS,qBAAqB,EAAE,CAAC;AACtE,KAAI,aAAa,KAAK,CAAE,QAAO;CAE/B,MAAM,SAAS,MAAM,2BAA2B,OAAO,IAAI,OAAO,SAAS,IAAI,EAC9E,YAAY,KAAK,cAAc,OAC/B,CAAC;AAEF,KAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,OAAM,OAAO,wBAAwB;AAErC,QAAO,aAAa,OAAO"}
@@ -13,31 +13,32 @@ import "../../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../../seo-Cu47j3mJ.mjs";
18
- import { p as handleMarketplaceUpdate } from "../../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, t as apiError } from "../../../../../../error-BQ1pxs0L.mjs";
36
- import { r as parseOptionalBody, t as isParseError } from "../../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../../status-CB2basWJ.mjs";
40
- import { n as requirePerm } from "../../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../../seo-4FovMwNS.mjs";
19
+ import { p as handleMarketplaceUpdate } from "../../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, t as apiError } from "../../../../../../error-Bl6kZgtt.mjs";
37
+ import { r as parseOptionalBody, t as isParseError } from "../../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../../status-vUK0SA17.mjs";
41
+ import { n as requirePerm } from "../../../../../../authorize-Cse0k7B0.mjs";
41
42
  import { z } from "zod";
42
43
 
43
44
  //#region src/astro/routes/api/admin/plugins/[id]/update.ts
@@ -1 +1 @@
1
- {"version":3,"file":"update.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/update.ts"],"sourcesContent":["/**\n * Marketplace plugin update endpoint\n *\n * POST /_emdash/api/admin/plugins/:id/update - Update a marketplace plugin\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceUpdate } from \"#api/index.js\";\nimport { isParseError, parseOptionalBody } from \"#api/parse.js\";\n\nexport const prerender = false;\n\nconst updateBodySchema = z.object({\n\tversion: z.string().min(1).optional(),\n\tconfirmCapabilityChanges: z.boolean().optional(),\n\tconfirmRouteVisibilityChanges: z.boolean().optional(),\n});\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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:manage\");\n\tif (denied) return denied;\n\n\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst body = await parseOptionalBody(request, updateBodySchema, {});\n\tif (isParseError(body)) return body;\n\n\tconst result = await handleMarketplaceUpdate(\n\t\temdash.db,\n\t\temdash.storage,\n\t\temdash.getSandboxRunner(),\n\t\temdash.config.marketplace,\n\t\tid,\n\t\t{\n\t\t\tversion: body.version,\n\t\t\tconfirmCapabilityChanges: body.confirmCapabilityChanges,\n\t\t\tconfirmRouteVisibilityChanges: body.confirmRouteVisibilityChanges,\n\t\t\tsandboxBypassed: emdash.isSandboxBypassed(),\n\t\t},\n\t);\n\n\tif (!result.success) return unwrapResult(result);\n\n\tawait emdash.syncMarketplacePlugins();\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,YAAY;AAEzB,MAAM,mBAAmB,EAAE,OAAO;CACjC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACrC,0BAA0B,EAAE,SAAS,CAAC,UAAU;CAChD,+BAA+B,EAAE,SAAS,CAAC,UAAU;CACrD,CAAC;AAEF,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;CAG9D,MAAM,OAAO,MAAM,kBAAkB,SAAS,kBAAkB,EAAE,CAAC;AACnE,KAAI,aAAa,KAAK,CAAE,QAAO;CAE/B,MAAM,SAAS,MAAM,wBACpB,OAAO,IACP,OAAO,SACP,OAAO,kBAAkB,EACzB,OAAO,OAAO,aACd,IACA;EACC,SAAS,KAAK;EACd,0BAA0B,KAAK;EAC/B,+BAA+B,KAAK;EACpC,iBAAiB,OAAO,mBAAmB;EAC3C,CACD;AAED,KAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,OAAM,OAAO,wBAAwB;AAErC,QAAO,aAAa,OAAO"}
1
+ {"version":3,"file":"update.mjs","names":[],"sources":["../../../../../../../src/astro/routes/api/admin/plugins/[id]/update.ts"],"sourcesContent":["/**\n * Marketplace plugin update endpoint\n *\n * POST /_emdash/api/admin/plugins/:id/update - Update a marketplace plugin\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceUpdate } from \"#api/index.js\";\nimport { isParseError, parseOptionalBody } from \"#api/parse.js\";\n\nexport const prerender = false;\n\nconst updateBodySchema = z.object({\n\tversion: z.string().min(1).optional(),\n\tconfirmCapabilityChanges: z.boolean().optional(),\n\tconfirmRouteVisibilityChanges: z.boolean().optional(),\n});\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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:manage\");\n\tif (denied) return denied;\n\n\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst body = await parseOptionalBody(request, updateBodySchema, {});\n\tif (isParseError(body)) return body;\n\n\tconst result = await handleMarketplaceUpdate(\n\t\temdash.db,\n\t\temdash.storage,\n\t\temdash.getSandboxRunner(),\n\t\temdash.config.marketplace,\n\t\tid,\n\t\t{\n\t\t\tversion: body.version,\n\t\t\tconfirmCapabilityChanges: body.confirmCapabilityChanges,\n\t\t\tconfirmRouteVisibilityChanges: body.confirmRouteVisibilityChanges,\n\t\t\tsandboxBypassed: emdash.isSandboxBypassed(),\n\t\t},\n\t);\n\n\tif (!result.success) return unwrapResult(result);\n\n\tawait emdash.syncMarketplacePlugins();\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,YAAY;AAEzB,MAAM,mBAAmB,EAAE,OAAO;CACjC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU;CACrC,0BAA0B,EAAE,SAAS,CAAC,UAAU;CAChD,+BAA+B,EAAE,SAAS,CAAC,UAAU;CACrD,CAAC;AAEF,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;CAG9D,MAAM,OAAO,MAAM,kBAAkB,SAAS,kBAAkB,EAAE,CAAC;AACnE,KAAI,aAAa,KAAK,CAAE,QAAO;CAE/B,MAAM,SAAS,MAAM,wBACpB,OAAO,IACP,OAAO,SACP,OAAO,kBAAkB,EACzB,OAAO,OAAO,aACd,IACA;EACC,SAAS,KAAK;EACd,0BAA0B,KAAK;EAC/B,+BAA+B,KAAK;EACpC,iBAAiB,OAAO,mBAAmB;EAC3C,CACD;AAED,KAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,OAAM,OAAO,wBAAwB;AAErC,QAAO,aAAa,OAAO"}
@@ -13,31 +13,32 @@ import "../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../seo-Cu47j3mJ.mjs";
18
- import { x as handlePluginList } from "../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, t as apiError } from "../../../../../error-BQ1pxs0L.mjs";
36
- import "../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../status-CB2basWJ.mjs";
40
- import { n as requirePerm } from "../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../seo-4FovMwNS.mjs";
19
+ import { x as handlePluginList } from "../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, t as apiError } from "../../../../../error-Bl6kZgtt.mjs";
37
+ import "../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../status-vUK0SA17.mjs";
41
+ import { n as requirePerm } from "../../../../../authorize-Cse0k7B0.mjs";
41
42
 
42
43
  //#region src/astro/routes/api/admin/plugins/index.ts
43
44
  const prerender = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/astro/routes/api/admin/plugins/index.ts"],"sourcesContent":["/**\n * Plugin management list endpoint\n *\n * GET /_emdash/api/admin/plugins - List all configured plugins with state\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handlePluginList } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ 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 result = await handlePluginList(\n\t\temdash.db,\n\t\temdash.configuredPlugins,\n\t\temdash.config.marketplace,\n\t);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,aAAa;CAClD,MAAM,EAAE,QAAQ,SAAS;AAEzB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;AAQnB,QAAO,aANQ,MAAM,iBACpB,OAAO,IACP,OAAO,mBACP,OAAO,OAAO,YACd,CAE0B"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../src/astro/routes/api/admin/plugins/index.ts"],"sourcesContent":["/**\n * Plugin management list endpoint\n *\n * GET /_emdash/api/admin/plugins - List all configured plugins with state\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handlePluginList } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ 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 result = await handlePluginList(\n\t\temdash.db,\n\t\temdash.configuredPlugins,\n\t\temdash.config.marketplace,\n\t);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,aAAa;CAClD,MAAM,EAAE,QAAQ,SAAS;AAEzB,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;AAQnB,QAAO,aANQ,MAAM,iBACpB,OAAO,IACP,OAAO,mBACP,OAAO,OAAO,YACd,CAE0B"}
@@ -1,7 +1,7 @@
1
1
  import "../../../../../../../base64-CmWvODNW.mjs";
2
2
  import "../../../../../../../types-DXOIbece.mjs";
3
- import { t as apiError } from "../../../../../../../error-BQ1pxs0L.mjs";
4
- import { n as requirePerm } from "../../../../../../../authorize-C0EYoUeV.mjs";
3
+ import { t as apiError } from "../../../../../../../error-Bl6kZgtt.mjs";
4
+ import { n as requirePerm } from "../../../../../../../authorize-Cse0k7B0.mjs";
5
5
 
6
6
  //#region src/astro/routes/api/admin/plugins/marketplace/[id]/icon.ts
7
7
  const prerender = false;
@@ -13,31 +13,32 @@ import "../../../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../../../seo-Cu47j3mJ.mjs";
18
- import { l as handleMarketplaceGetPlugin } from "../../../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, t as apiError } from "../../../../../../../error-BQ1pxs0L.mjs";
36
- import "../../../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../../../status-CB2basWJ.mjs";
40
- import { n as requirePerm } from "../../../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../../../seo-4FovMwNS.mjs";
19
+ import { l as handleMarketplaceGetPlugin } from "../../../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, t as apiError } from "../../../../../../../error-Bl6kZgtt.mjs";
37
+ import "../../../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../../../status-vUK0SA17.mjs";
41
+ import { n as requirePerm } from "../../../../../../../authorize-Cse0k7B0.mjs";
41
42
 
42
43
  //#region src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts
43
44
  const prerender = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts"],"sourcesContent":["/**\n * Marketplace plugin detail proxy endpoint\n *\n * GET /_emdash/api/admin/plugins/marketplace/:id - Get plugin details\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceGetPlugin } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst result = await handleMarketplaceGetPlugin(emdash.config.marketplace, id);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,aAAa;CAC1D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;AAK9D,QAAO,aAFQ,MAAM,2BAA2B,OAAO,OAAO,aAAa,GAAG,CAEnD"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/admin/plugins/marketplace/[id]/index.ts"],"sourcesContent":["/**\n * Marketplace plugin detail proxy endpoint\n *\n * GET /_emdash/api/admin/plugins/marketplace/:id - Get plugin details\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceGetPlugin } from \"#api/index.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst { id } = params;\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\tif (!id) {\n\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t}\n\n\tconst result = await handleMarketplaceGetPlugin(emdash.config.marketplace, id);\n\n\treturn unwrapResult(result);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,aAAa;CAC1D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,EAAE,OAAO;AAEf,KAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;CAGpE,MAAM,SAAS,YAAY,MAAM,eAAe;AAChD,KAAI,OAAQ,QAAO;AAEnB,KAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;AAK9D,QAAO,aAFQ,MAAM,2BAA2B,OAAO,OAAO,aAAa,GAAG,CAEnD"}
@@ -13,31 +13,32 @@ import "../../../../../../../menus-CYs0WZoL.mjs";
13
13
  import "../../../../../../../redirect-Bifv_yHv.mjs";
14
14
  import "../../../../../../../request-cache-KCNHp_RJ.mjs";
15
15
  import "../../../../../../../byline-registry-BOjqDOim.mjs";
16
- import "../../../../../../../byline-CC0WS4Gu.mjs";
17
- import "../../../../../../../seo-Cu47j3mJ.mjs";
18
- import { u as handleMarketplaceInstall } from "../../../../../../../api-BDuM4bEy.mjs";
19
- import "../../../../../../../dashboard-BOESNcwE.mjs";
20
- import "../../../../../../../fts-manager-DtiWqwNJ.mjs";
21
- import "../../../../../../../registry-CjK96fHD.mjs";
22
- import "../../../../../../../loader-C8Z48Uof.mjs";
23
- import "../../../../../../../schema-5z2Jfnbm.mjs";
24
- import "../../../../../../../zod-generator-D481JjzD.mjs";
25
- import "../../../../../../../seo-DRnqnstF.mjs";
26
- import "../../../../../../../sections-DWYZo6HK.mjs";
27
- import "../../../../../../../settings-yaxu9mU-.mjs";
28
- import "../../../../../../../settings-DUrVDN0c.mjs";
29
- import "../../../../../../../resolve-CpbBglV0.mjs";
30
- import "../../../../../../../taxonomies-Be9B1jEj.mjs";
31
- import "../../../../../../../taxonomies-CJmkEpdS.mjs";
32
- import "../../../../../../../manifest-schema-DDSbwkAL.mjs";
33
- import "../../../../../../../types-Bfr2Pj6z.mjs";
34
- import "../../../../../../../ssrf-B0VeRLrp.mjs";
35
- import { a as unwrapResult, r as handleError, t as apiError } from "../../../../../../../error-BQ1pxs0L.mjs";
36
- import { r as parseOptionalBody, t as isParseError } from "../../../../../../../parse-qrHlnzTy.mjs";
37
- import "../../../../../../../redirects-DUvXgzCX.mjs";
38
- import "../../../../../../../byline-fields-53i9Et0x.mjs";
39
- import "../../../../../../../status-CB2basWJ.mjs";
40
- import { n as requirePerm } from "../../../../../../../authorize-C0EYoUeV.mjs";
16
+ import "../../../../../../../field-defs-cache-ztrdzUGb.mjs";
17
+ import "../../../../../../../byline-DVo-liaP.mjs";
18
+ import "../../../../../../../seo-4FovMwNS.mjs";
19
+ import { u as handleMarketplaceInstall } from "../../../../../../../api-BQ_yKRdG.mjs";
20
+ import "../../../../../../../dashboard-CYjpQZ6-.mjs";
21
+ import "../../../../../../../fts-manager-CQuHt-vS.mjs";
22
+ import "../../../../../../../registry-CK1SS6pi.mjs";
23
+ import "../../../../../../../loader-Dn74CG1b.mjs";
24
+ import "../../../../../../../schema-CbFRFoM7.mjs";
25
+ import "../../../../../../../zod-generator-ElVQOav7.mjs";
26
+ import "../../../../../../../seo-DCEF-AVr.mjs";
27
+ import "../../../../../../../sections-osX9U-YJ.mjs";
28
+ import "../../../../../../../settings-t-H2jPuJ.mjs";
29
+ import "../../../../../../../settings-4bRT2NIf.mjs";
30
+ import "../../../../../../../resolve-C7I0qiR0.mjs";
31
+ import "../../../../../../../taxonomies-Dxrc_szG.mjs";
32
+ import "../../../../../../../taxonomies-BBB8O-CU.mjs";
33
+ import "../../../../../../../manifest-schema-BWKnQYQF.mjs";
34
+ import "../../../../../../../types-BvbeGEtr.mjs";
35
+ import "../../../../../../../ssrf-BRKb343l.mjs";
36
+ import { a as unwrapResult, r as handleError, t as apiError } from "../../../../../../../error-Bl6kZgtt.mjs";
37
+ import { r as parseOptionalBody, t as isParseError } from "../../../../../../../parse-C9hpjUyY.mjs";
38
+ import "../../../../../../../redirects-x9eFPeyi.mjs";
39
+ import "../../../../../../../byline-fields-B-KXkg5R.mjs";
40
+ import "../../../../../../../status-vUK0SA17.mjs";
41
+ import { n as requirePerm } from "../../../../../../../authorize-Cse0k7B0.mjs";
41
42
  import { z } from "zod";
42
43
 
43
44
  //#region src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts
@@ -1 +1 @@
1
- {"version":3,"file":"install.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts"],"sourcesContent":["/**\n * Marketplace plugin install endpoint\n *\n * POST /_emdash/api/admin/plugins/marketplace/:id/install - Install a marketplace plugin\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceInstall } from \"#api/index.js\";\nimport { isParseError, parseOptionalBody } from \"#api/parse.js\";\n\nexport const prerender = false;\n\nconst installBodySchema = z.object({\n\tversion: z.string().min(1).optional(),\n});\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\ttry {\n\t\tconst { emdash, user } = locals;\n\t\tconst { id } = params;\n\n\t\tif (!emdash?.db) {\n\t\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\t\t}\n\n\t\tconst denied = requirePerm(user, \"plugins:manage\");\n\t\tif (denied) return denied;\n\n\t\tif (!id) {\n\t\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t\t}\n\n\t\tconst body = await parseOptionalBody(request, installBodySchema, {});\n\t\tif (isParseError(body)) return body;\n\n\t\tconst configuredPluginIds = new Set<string>(\n\t\t\temdash.configuredPlugins.map((p: { id: string }) => p.id),\n\t\t);\n\n\t\tconst siteOrigin = new URL(request.url).origin;\n\n\t\tconst result = await handleMarketplaceInstall(\n\t\t\temdash.db,\n\t\t\temdash.storage,\n\t\t\temdash.getSandboxRunner(),\n\t\t\temdash.config.marketplace,\n\t\t\tid,\n\t\t\t{\n\t\t\t\tversion: body.version,\n\t\t\t\tconfiguredPluginIds,\n\t\t\t\tsiteOrigin,\n\t\t\t\tsandboxBypassed: emdash.isSandboxBypassed(),\n\t\t\t},\n\t\t);\n\n\t\tif (!result.success) return unwrapResult(result);\n\n\t\tawait emdash.syncMarketplacePlugins();\n\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\tconsole.error(\"[marketplace-install] Unhandled error:\", error);\n\t\treturn handleError(error, \"Failed to install plugin from marketplace\", \"INSTALL_FAILED\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,YAAY;AAEzB,MAAM,oBAAoB,EAAE,OAAO,EAClC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EACrC,CAAC;AAEF,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;AACpE,KAAI;EACH,MAAM,EAAE,QAAQ,SAAS;EACzB,MAAM,EAAE,OAAO;AAEf,MAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;EAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,MAAI,OAAQ,QAAO;AAEnB,MAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;EAG9D,MAAM,OAAO,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACpE,MAAI,aAAa,KAAK,CAAE,QAAO;EAE/B,MAAM,sBAAsB,IAAI,IAC/B,OAAO,kBAAkB,KAAK,MAAsB,EAAE,GAAG,CACzD;EAED,MAAM,aAAa,IAAI,IAAI,QAAQ,IAAI,CAAC;EAExC,MAAM,SAAS,MAAM,yBACpB,OAAO,IACP,OAAO,SACP,OAAO,kBAAkB,EACzB,OAAO,OAAO,aACd,IACA;GACC,SAAS,KAAK;GACd;GACA;GACA,iBAAiB,OAAO,mBAAmB;GAC3C,CACD;AAED,MAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,QAAM,OAAO,wBAAwB;AAErC,SAAO,aAAa,QAAQ,IAAI;UACxB,OAAO;AACf,UAAQ,MAAM,0CAA0C,MAAM;AAC9D,SAAO,YAAY,OAAO,6CAA6C,iBAAiB"}
1
+ {"version":3,"file":"install.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/admin/plugins/marketplace/[id]/install.ts"],"sourcesContent":["/**\n * Marketplace plugin install endpoint\n *\n * POST /_emdash/api/admin/plugins/marketplace/:id/install - Install a marketplace plugin\n */\n\nimport type { APIRoute } from \"astro\";\nimport { z } from \"zod\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { apiError, handleError, unwrapResult } from \"#api/error.js\";\nimport { handleMarketplaceInstall } from \"#api/index.js\";\nimport { isParseError, parseOptionalBody } from \"#api/parse.js\";\n\nexport const prerender = false;\n\nconst installBodySchema = z.object({\n\tversion: z.string().min(1).optional(),\n});\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\ttry {\n\t\tconst { emdash, user } = locals;\n\t\tconst { id } = params;\n\n\t\tif (!emdash?.db) {\n\t\t\treturn apiError(\"NOT_CONFIGURED\", \"EmDash is not initialized\", 500);\n\t\t}\n\n\t\tconst denied = requirePerm(user, \"plugins:manage\");\n\t\tif (denied) return denied;\n\n\t\tif (!id) {\n\t\t\treturn apiError(\"INVALID_REQUEST\", \"Plugin ID required\", 400);\n\t\t}\n\n\t\tconst body = await parseOptionalBody(request, installBodySchema, {});\n\t\tif (isParseError(body)) return body;\n\n\t\tconst configuredPluginIds = new Set<string>(\n\t\t\temdash.configuredPlugins.map((p: { id: string }) => p.id),\n\t\t);\n\n\t\tconst siteOrigin = new URL(request.url).origin;\n\n\t\tconst result = await handleMarketplaceInstall(\n\t\t\temdash.db,\n\t\t\temdash.storage,\n\t\t\temdash.getSandboxRunner(),\n\t\t\temdash.config.marketplace,\n\t\t\tid,\n\t\t\t{\n\t\t\t\tversion: body.version,\n\t\t\t\tconfiguredPluginIds,\n\t\t\t\tsiteOrigin,\n\t\t\t\tsandboxBypassed: emdash.isSandboxBypassed(),\n\t\t\t},\n\t\t);\n\n\t\tif (!result.success) return unwrapResult(result);\n\n\t\tawait emdash.syncMarketplacePlugins();\n\n\t\treturn unwrapResult(result, 201);\n\t} catch (error) {\n\t\tconsole.error(\"[marketplace-install] Unhandled error:\", error);\n\t\treturn handleError(error, \"Failed to install plugin from marketplace\", \"INSTALL_FAILED\");\n\t}\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,YAAY;AAEzB,MAAM,oBAAoB,EAAE,OAAO,EAClC,SAAS,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,EACrC,CAAC;AAEF,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;AACpE,KAAI;EACH,MAAM,EAAE,QAAQ,SAAS;EACzB,MAAM,EAAE,OAAO;AAEf,MAAI,CAAC,QAAQ,GACZ,QAAO,SAAS,kBAAkB,6BAA6B,IAAI;EAGpE,MAAM,SAAS,YAAY,MAAM,iBAAiB;AAClD,MAAI,OAAQ,QAAO;AAEnB,MAAI,CAAC,GACJ,QAAO,SAAS,mBAAmB,sBAAsB,IAAI;EAG9D,MAAM,OAAO,MAAM,kBAAkB,SAAS,mBAAmB,EAAE,CAAC;AACpE,MAAI,aAAa,KAAK,CAAE,QAAO;EAE/B,MAAM,sBAAsB,IAAI,IAC/B,OAAO,kBAAkB,KAAK,MAAsB,EAAE,GAAG,CACzD;EAED,MAAM,aAAa,IAAI,IAAI,QAAQ,IAAI,CAAC;EAExC,MAAM,SAAS,MAAM,yBACpB,OAAO,IACP,OAAO,SACP,OAAO,kBAAkB,EACzB,OAAO,OAAO,aACd,IACA;GACC,SAAS,KAAK;GACd;GACA;GACA,iBAAiB,OAAO,mBAAmB;GAC3C,CACD;AAED,MAAI,CAAC,OAAO,QAAS,QAAO,aAAa,OAAO;AAEhD,QAAM,OAAO,wBAAwB;AAErC,SAAO,aAAa,QAAQ,IAAI;UACxB,OAAO;AACf,UAAQ,MAAM,0CAA0C,MAAM;AAC9D,SAAO,YAAY,OAAO,6CAA6C,iBAAiB"}