@zlooks.cn/blog-server 1.0.6 → 1.0.8

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 (731) hide show
  1. package/dist/blog/blog-application.d.ts +15 -11
  2. package/dist/blog/blog-application.d.ts.map +1 -1
  3. package/dist/blog/blog-application.js +6 -4
  4. package/dist/blog/blog-application.js.map +1 -1
  5. package/dist/blog/comment-client-metadata.d.ts +6 -3
  6. package/dist/blog/comment-client-metadata.d.ts.map +1 -1
  7. package/dist/blog/comment-client-metadata.js +13 -3
  8. package/dist/blog/comment-client-metadata.js.map +1 -1
  9. package/dist/blog/errors.d.ts +6 -0
  10. package/dist/blog/errors.d.ts.map +1 -1
  11. package/dist/blog/errors.js +42 -2
  12. package/dist/blog/errors.js.map +1 -1
  13. package/dist/blog/post-content-audit.d.ts +0 -1
  14. package/dist/blog/post-content-audit.d.ts.map +1 -1
  15. package/dist/blog/post-content-audit.js +50 -13
  16. package/dist/blog/post-content-audit.js.map +1 -1
  17. package/dist/blog/public-blog-service.d.ts +47 -18
  18. package/dist/blog/public-blog-service.d.ts.map +1 -1
  19. package/dist/blog/public-blog-service.js +127 -101
  20. package/dist/blog/public-blog-service.js.map +1 -1
  21. package/dist/browser-api/http-message.d.ts +55 -0
  22. package/dist/browser-api/http-message.d.ts.map +1 -0
  23. package/dist/browser-api/http-message.js +159 -0
  24. package/dist/browser-api/http-message.js.map +1 -0
  25. package/dist/command/index.js +2 -6
  26. package/dist/command/index.js.map +1 -1
  27. package/dist/config/schema.d.ts.map +1 -1
  28. package/dist/config/schema.js +10 -3
  29. package/dist/config/schema.js.map +1 -1
  30. package/dist/contracts/mcp.d.ts +9 -9
  31. package/dist/contracts/mcp.d.ts.map +1 -1
  32. package/dist/contracts/mcp.js +44 -15
  33. package/dist/contracts/mcp.js.map +1 -1
  34. package/dist/contracts/public-api.d.ts +1 -1
  35. package/dist/contracts/public-api.d.ts.map +1 -1
  36. package/dist/contracts/public-api.js +1 -1
  37. package/dist/contracts/public-api.js.map +1 -1
  38. package/dist/events/blog-domain-events.d.ts +21 -20
  39. package/dist/events/blog-domain-events.d.ts.map +1 -1
  40. package/dist/events/blog-domain-events.js +54 -21
  41. package/dist/events/blog-domain-events.js.map +1 -1
  42. package/dist/mcp/blog-prompts.d.ts.map +1 -1
  43. package/dist/mcp/blog-prompts.js +5 -4
  44. package/dist/mcp/blog-prompts.js.map +1 -1
  45. package/dist/mcp/blog-provider.d.ts +3 -3
  46. package/dist/mcp/blog-provider.d.ts.map +1 -1
  47. package/dist/mcp/blog-provider.js +3 -3
  48. package/dist/mcp/blog-provider.js.map +1 -1
  49. package/dist/mcp/blog-resources.d.ts +113 -1
  50. package/dist/mcp/blog-resources.d.ts.map +1 -1
  51. package/dist/mcp/blog-resources.js +156 -63
  52. package/dist/mcp/blog-resources.js.map +1 -1
  53. package/dist/mcp/blog-theme-authoring-prompt.d.ts.map +1 -1
  54. package/dist/mcp/blog-theme-authoring-prompt.js +4 -3
  55. package/dist/mcp/blog-theme-authoring-prompt.js.map +1 -1
  56. package/dist/mcp/category-tools.d.ts +2 -7
  57. package/dist/mcp/category-tools.d.ts.map +1 -1
  58. package/dist/mcp/category-tools.js +6 -8
  59. package/dist/mcp/category-tools.js.map +1 -1
  60. package/dist/mcp/comment-tools.d.ts +2 -7
  61. package/dist/mcp/comment-tools.d.ts.map +1 -1
  62. package/dist/mcp/comment-tools.js +7 -9
  63. package/dist/mcp/comment-tools.js.map +1 -1
  64. package/dist/mcp/friend-link-tools.d.ts +2 -7
  65. package/dist/mcp/friend-link-tools.d.ts.map +1 -1
  66. package/dist/mcp/friend-link-tools.js +8 -10
  67. package/dist/mcp/friend-link-tools.js.map +1 -1
  68. package/dist/mcp/page-tools.d.ts +2 -7
  69. package/dist/mcp/page-tools.d.ts.map +1 -1
  70. package/dist/mcp/page-tools.js +8 -30
  71. package/dist/mcp/page-tools.js.map +1 -1
  72. package/dist/mcp/post-tools.d.ts +2 -7
  73. package/dist/mcp/post-tools.d.ts.map +1 -1
  74. package/dist/mcp/post-tools.js +26 -114
  75. package/dist/mcp/post-tools.js.map +1 -1
  76. package/dist/mcp/tag-tools.d.ts +2 -7
  77. package/dist/mcp/tag-tools.d.ts.map +1 -1
  78. package/dist/mcp/tag-tools.js +6 -8
  79. package/dist/mcp/tag-tools.js.map +1 -1
  80. package/dist/mcp/theme-tools.d.ts +2 -9
  81. package/dist/mcp/theme-tools.d.ts.map +1 -1
  82. package/dist/mcp/theme-tools.js +6 -59
  83. package/dist/mcp/theme-tools.js.map +1 -1
  84. package/dist/mcp/tool-descriptions.d.ts.map +1 -1
  85. package/dist/mcp/tool-descriptions.js +2 -11
  86. package/dist/mcp/tool-descriptions.js.map +1 -1
  87. package/dist/mcp/tool-support.d.ts +13 -232
  88. package/dist/mcp/tool-support.d.ts.map +1 -1
  89. package/dist/mcp/tool-support.js +57 -98
  90. package/dist/mcp/tool-support.js.map +1 -1
  91. package/dist/messages/api/blog/[path+]/index.msg.d.ts +3 -0
  92. package/dist/messages/api/blog/[path+]/index.msg.d.ts.map +1 -0
  93. package/dist/messages/api/blog/[path+]/index.msg.js +7 -0
  94. package/dist/messages/api/blog/[path+]/index.msg.js.map +1 -0
  95. package/dist/messages/api/blog/categories/index.msg.d.ts +3 -0
  96. package/dist/messages/api/blog/categories/index.msg.d.ts.map +1 -0
  97. package/dist/messages/api/blog/categories/index.msg.js +6 -0
  98. package/dist/messages/api/blog/categories/index.msg.js.map +1 -0
  99. package/dist/messages/api/blog/friend-links/index.msg.d.ts +3 -0
  100. package/dist/messages/api/blog/friend-links/index.msg.d.ts.map +1 -0
  101. package/dist/messages/api/blog/friend-links/index.msg.js +6 -0
  102. package/dist/messages/api/blog/friend-links/index.msg.js.map +1 -0
  103. package/dist/messages/api/blog/likes/[slug]/index.msg.d.ts +3 -0
  104. package/dist/messages/api/blog/likes/[slug]/index.msg.d.ts.map +1 -0
  105. package/dist/messages/api/blog/likes/[slug]/index.msg.js +14 -0
  106. package/dist/messages/api/blog/likes/[slug]/index.msg.js.map +1 -0
  107. package/dist/messages/api/blog/posts/[slug]/comments/index.msg.d.ts +3 -0
  108. package/dist/messages/api/blog/posts/[slug]/comments/index.msg.d.ts.map +1 -0
  109. package/dist/messages/api/blog/posts/[slug]/comments/index.msg.js +18 -0
  110. package/dist/messages/api/blog/posts/[slug]/comments/index.msg.js.map +1 -0
  111. package/dist/messages/api/blog/posts/[slug]/index.msg.d.ts +3 -0
  112. package/dist/messages/api/blog/posts/[slug]/index.msg.d.ts.map +1 -0
  113. package/dist/messages/api/blog/posts/[slug]/index.msg.js +11 -0
  114. package/dist/messages/api/blog/posts/[slug]/index.msg.js.map +1 -0
  115. package/dist/messages/api/blog/posts/index.msg.d.ts +3 -0
  116. package/dist/messages/api/blog/posts/index.msg.d.ts.map +1 -0
  117. package/dist/messages/api/blog/posts/index.msg.js +12 -0
  118. package/dist/messages/api/blog/posts/index.msg.js.map +1 -0
  119. package/dist/messages/api/blog/search/index.msg.d.ts +3 -0
  120. package/dist/messages/api/blog/search/index.msg.d.ts.map +1 -0
  121. package/dist/messages/api/blog/search/index.msg.js +9 -0
  122. package/dist/messages/api/blog/search/index.msg.js.map +1 -0
  123. package/dist/messages/api/blog/tags/index.msg.d.ts +3 -0
  124. package/dist/messages/api/blog/tags/index.msg.d.ts.map +1 -0
  125. package/dist/messages/api/blog/tags/index.msg.js +6 -0
  126. package/dist/messages/api/blog/tags/index.msg.js.map +1 -0
  127. package/dist/messages/management/categories/create.msg.d.ts +22 -0
  128. package/dist/messages/management/categories/create.msg.d.ts.map +1 -0
  129. package/dist/messages/management/categories/create.msg.js +5 -0
  130. package/dist/messages/management/categories/create.msg.js.map +1 -0
  131. package/dist/messages/management/categories/delete.msg.d.ts +12 -0
  132. package/dist/messages/management/categories/delete.msg.d.ts.map +1 -0
  133. package/dist/messages/management/categories/delete.msg.js +5 -0
  134. package/dist/messages/management/categories/delete.msg.js.map +1 -0
  135. package/dist/messages/management/categories/list.msg.d.ts +21 -0
  136. package/dist/messages/management/categories/list.msg.d.ts.map +1 -0
  137. package/dist/messages/management/categories/list.msg.js +5 -0
  138. package/dist/messages/management/categories/list.msg.js.map +1 -0
  139. package/dist/messages/management/categories/read.msg.d.ts +19 -0
  140. package/dist/messages/management/categories/read.msg.d.ts.map +1 -0
  141. package/dist/messages/management/categories/read.msg.js +5 -0
  142. package/dist/messages/management/categories/read.msg.js.map +1 -0
  143. package/dist/messages/management/categories/update.msg.d.ts +23 -0
  144. package/dist/messages/management/categories/update.msg.d.ts.map +1 -0
  145. package/dist/messages/management/categories/update.msg.js +5 -0
  146. package/dist/messages/management/categories/update.msg.js.map +1 -0
  147. package/dist/messages/management/comments/approve.msg.d.ts +29 -0
  148. package/dist/messages/management/comments/approve.msg.d.ts.map +1 -0
  149. package/dist/messages/management/comments/approve.msg.js +5 -0
  150. package/dist/messages/management/comments/approve.msg.js.map +1 -0
  151. package/dist/messages/management/comments/delete.msg.d.ts +12 -0
  152. package/dist/messages/management/comments/delete.msg.d.ts.map +1 -0
  153. package/dist/messages/management/comments/delete.msg.js +5 -0
  154. package/dist/messages/management/comments/delete.msg.js.map +1 -0
  155. package/dist/messages/management/comments/list.msg.d.ts +41 -0
  156. package/dist/messages/management/comments/list.msg.d.ts.map +1 -0
  157. package/dist/messages/management/comments/list.msg.js +5 -0
  158. package/dist/messages/management/comments/list.msg.js.map +1 -0
  159. package/dist/messages/management/comments/read.msg.d.ts +29 -0
  160. package/dist/messages/management/comments/read.msg.d.ts.map +1 -0
  161. package/dist/messages/management/comments/read.msg.js +5 -0
  162. package/dist/messages/management/comments/read.msg.js.map +1 -0
  163. package/dist/messages/management/comments/reject.msg.d.ts +29 -0
  164. package/dist/messages/management/comments/reject.msg.d.ts.map +1 -0
  165. package/dist/messages/management/comments/reject.msg.js +5 -0
  166. package/dist/messages/management/comments/reject.msg.js.map +1 -0
  167. package/dist/messages/management/comments/reply.msg.d.ts +30 -0
  168. package/dist/messages/management/comments/reply.msg.d.ts.map +1 -0
  169. package/dist/messages/management/comments/reply.msg.js +5 -0
  170. package/dist/messages/management/comments/reply.msg.js.map +1 -0
  171. package/dist/messages/management/friend-links/create.msg.d.ts +26 -0
  172. package/dist/messages/management/friend-links/create.msg.d.ts.map +1 -0
  173. package/dist/messages/management/friend-links/create.msg.js +5 -0
  174. package/dist/messages/management/friend-links/create.msg.js.map +1 -0
  175. package/dist/messages/management/friend-links/delete.msg.d.ts +12 -0
  176. package/dist/messages/management/friend-links/delete.msg.d.ts.map +1 -0
  177. package/dist/messages/management/friend-links/delete.msg.js +5 -0
  178. package/dist/messages/management/friend-links/delete.msg.js.map +1 -0
  179. package/dist/messages/management/friend-links/disable.msg.d.ts +21 -0
  180. package/dist/messages/management/friend-links/disable.msg.d.ts.map +1 -0
  181. package/dist/messages/management/friend-links/disable.msg.js +5 -0
  182. package/dist/messages/management/friend-links/disable.msg.js.map +1 -0
  183. package/dist/messages/management/friend-links/enable.msg.d.ts +21 -0
  184. package/dist/messages/management/friend-links/enable.msg.d.ts.map +1 -0
  185. package/dist/messages/management/friend-links/enable.msg.js +5 -0
  186. package/dist/messages/management/friend-links/enable.msg.js.map +1 -0
  187. package/dist/messages/management/friend-links/list.msg.d.ts +23 -0
  188. package/dist/messages/management/friend-links/list.msg.d.ts.map +1 -0
  189. package/dist/messages/management/friend-links/list.msg.js +5 -0
  190. package/dist/messages/management/friend-links/list.msg.js.map +1 -0
  191. package/dist/messages/management/friend-links/read.msg.d.ts +21 -0
  192. package/dist/messages/management/friend-links/read.msg.d.ts.map +1 -0
  193. package/dist/messages/management/friend-links/read.msg.js +5 -0
  194. package/dist/messages/management/friend-links/read.msg.js.map +1 -0
  195. package/dist/messages/management/friend-links/update.msg.d.ts +27 -0
  196. package/dist/messages/management/friend-links/update.msg.d.ts.map +1 -0
  197. package/dist/messages/management/friend-links/update.msg.js +5 -0
  198. package/dist/messages/management/friend-links/update.msg.js.map +1 -0
  199. package/dist/messages/management/pages/archive.msg.d.ts +30 -0
  200. package/dist/messages/management/pages/archive.msg.d.ts.map +1 -0
  201. package/dist/messages/management/pages/archive.msg.js +5 -0
  202. package/dist/messages/management/pages/archive.msg.js.map +1 -0
  203. package/dist/messages/management/pages/create.msg.d.ts +38 -0
  204. package/dist/messages/management/pages/create.msg.d.ts.map +1 -0
  205. package/dist/messages/management/pages/create.msg.js +5 -0
  206. package/dist/messages/management/pages/create.msg.js.map +1 -0
  207. package/dist/messages/management/pages/delete.msg.d.ts +12 -0
  208. package/dist/messages/management/pages/delete.msg.d.ts.map +1 -0
  209. package/dist/messages/management/pages/delete.msg.js +5 -0
  210. package/dist/messages/management/pages/delete.msg.js.map +1 -0
  211. package/dist/messages/management/pages/list.msg.d.ts +41 -0
  212. package/dist/messages/management/pages/list.msg.d.ts.map +1 -0
  213. package/dist/messages/management/pages/list.msg.js +5 -0
  214. package/dist/messages/management/pages/list.msg.js.map +1 -0
  215. package/dist/messages/management/pages/publish.msg.d.ts +30 -0
  216. package/dist/messages/management/pages/publish.msg.d.ts.map +1 -0
  217. package/dist/messages/management/pages/publish.msg.js +5 -0
  218. package/dist/messages/management/pages/publish.msg.js.map +1 -0
  219. package/dist/messages/management/pages/read.msg.d.ts +30 -0
  220. package/dist/messages/management/pages/read.msg.d.ts.map +1 -0
  221. package/dist/messages/management/pages/read.msg.js +5 -0
  222. package/dist/messages/management/pages/read.msg.js.map +1 -0
  223. package/dist/messages/management/pages/update.msg.d.ts +39 -0
  224. package/dist/messages/management/pages/update.msg.d.ts.map +1 -0
  225. package/dist/messages/management/pages/update.msg.js +5 -0
  226. package/dist/messages/management/pages/update.msg.js.map +1 -0
  227. package/dist/messages/management/posts/archive-list.msg.d.ts +48 -0
  228. package/dist/messages/management/posts/archive-list.msg.d.ts.map +1 -0
  229. package/dist/messages/management/posts/archive-list.msg.js +5 -0
  230. package/dist/messages/management/posts/archive-list.msg.js.map +1 -0
  231. package/dist/messages/management/posts/archive.msg.d.ts +34 -0
  232. package/dist/messages/management/posts/archive.msg.d.ts.map +1 -0
  233. package/dist/messages/management/posts/archive.msg.js +5 -0
  234. package/dist/messages/management/posts/archive.msg.js.map +1 -0
  235. package/dist/messages/management/posts/audit.msg.d.ts +41 -0
  236. package/dist/messages/management/posts/audit.msg.d.ts.map +1 -0
  237. package/dist/messages/management/posts/audit.msg.js +5 -0
  238. package/dist/messages/management/posts/audit.msg.js.map +1 -0
  239. package/dist/messages/management/posts/create.msg.d.ts +40 -0
  240. package/dist/messages/management/posts/create.msg.d.ts.map +1 -0
  241. package/dist/messages/management/posts/create.msg.js +5 -0
  242. package/dist/messages/management/posts/create.msg.js.map +1 -0
  243. package/dist/messages/management/posts/delete.msg.d.ts +12 -0
  244. package/dist/messages/management/posts/delete.msg.d.ts.map +1 -0
  245. package/dist/messages/management/posts/delete.msg.js +5 -0
  246. package/dist/messages/management/posts/delete.msg.js.map +1 -0
  247. package/dist/messages/management/posts/list.msg.d.ts +42 -0
  248. package/dist/messages/management/posts/list.msg.d.ts.map +1 -0
  249. package/dist/messages/management/posts/list.msg.js +5 -0
  250. package/dist/messages/management/posts/list.msg.js.map +1 -0
  251. package/dist/messages/management/posts/publish.msg.d.ts +68 -0
  252. package/dist/messages/management/posts/publish.msg.d.ts.map +1 -0
  253. package/dist/messages/management/posts/publish.msg.js +23 -0
  254. package/dist/messages/management/posts/publish.msg.js.map +1 -0
  255. package/dist/messages/management/posts/read.msg.d.ts +34 -0
  256. package/dist/messages/management/posts/read.msg.d.ts.map +1 -0
  257. package/dist/messages/management/posts/read.msg.js +5 -0
  258. package/dist/messages/management/posts/read.msg.js.map +1 -0
  259. package/dist/messages/management/posts/search.msg.d.ts +39 -0
  260. package/dist/messages/management/posts/search.msg.d.ts.map +1 -0
  261. package/dist/messages/management/posts/search.msg.js +5 -0
  262. package/dist/messages/management/posts/search.msg.js.map +1 -0
  263. package/dist/messages/management/posts/update.msg.d.ts +41 -0
  264. package/dist/messages/management/posts/update.msg.d.ts.map +1 -0
  265. package/dist/messages/management/posts/update.msg.js +5 -0
  266. package/dist/messages/management/posts/update.msg.js.map +1 -0
  267. package/dist/messages/management/tags/create.msg.d.ts +18 -0
  268. package/dist/messages/management/tags/create.msg.d.ts.map +1 -0
  269. package/dist/messages/management/tags/create.msg.js +5 -0
  270. package/dist/messages/management/tags/create.msg.js.map +1 -0
  271. package/dist/messages/management/tags/delete.msg.d.ts +12 -0
  272. package/dist/messages/management/tags/delete.msg.d.ts.map +1 -0
  273. package/dist/messages/management/tags/delete.msg.js +5 -0
  274. package/dist/messages/management/tags/delete.msg.js.map +1 -0
  275. package/dist/messages/management/tags/list.msg.d.ts +19 -0
  276. package/dist/messages/management/tags/list.msg.d.ts.map +1 -0
  277. package/dist/messages/management/tags/list.msg.js +5 -0
  278. package/dist/messages/management/tags/list.msg.js.map +1 -0
  279. package/dist/messages/management/tags/read.msg.d.ts +17 -0
  280. package/dist/messages/management/tags/read.msg.d.ts.map +1 -0
  281. package/dist/messages/management/tags/read.msg.js +5 -0
  282. package/dist/messages/management/tags/read.msg.js.map +1 -0
  283. package/dist/messages/management/tags/update.msg.d.ts +19 -0
  284. package/dist/messages/management/tags/update.msg.d.ts.map +1 -0
  285. package/dist/messages/management/tags/update.msg.js +5 -0
  286. package/dist/messages/management/tags/update.msg.js.map +1 -0
  287. package/dist/messages/management/themes/list.msg.d.ts +32 -0
  288. package/dist/messages/management/themes/list.msg.d.ts.map +1 -0
  289. package/dist/messages/management/themes/list.msg.js +5 -0
  290. package/dist/messages/management/themes/list.msg.js.map +1 -0
  291. package/dist/messages/management/themes/read-selection.msg.d.ts +12 -0
  292. package/dist/messages/management/themes/read-selection.msg.d.ts.map +1 -0
  293. package/dist/messages/management/themes/read-selection.msg.js +5 -0
  294. package/dist/messages/management/themes/read-selection.msg.js.map +1 -0
  295. package/dist/messages/management/themes/read-status.msg.d.ts +25 -0
  296. package/dist/messages/management/themes/read-status.msg.d.ts.map +1 -0
  297. package/dist/messages/management/themes/read-status.msg.js +5 -0
  298. package/dist/messages/management/themes/read-status.msg.js.map +1 -0
  299. package/dist/messages/management/themes/select.msg.d.ts +35 -0
  300. package/dist/messages/management/themes/select.msg.d.ts.map +1 -0
  301. package/dist/messages/management/themes/select.msg.js +5 -0
  302. package/dist/messages/management/themes/select.msg.js.map +1 -0
  303. package/dist/messages/model-message.d.ts +7 -0
  304. package/dist/messages/model-message.d.ts.map +1 -0
  305. package/dist/messages/model-message.js +9 -0
  306. package/dist/messages/model-message.js.map +1 -0
  307. package/dist/messages/public/categories/list.msg.d.ts +12 -1
  308. package/dist/messages/public/categories/list.msg.js +4 -7
  309. package/dist/messages/public/categories/list.msg.js.map +1 -1
  310. package/dist/messages/public/comments/create.msg.d.ts +37 -0
  311. package/dist/messages/public/comments/create.msg.d.ts.map +1 -0
  312. package/dist/messages/public/comments/create.msg.js +36 -0
  313. package/dist/messages/public/comments/create.msg.js.map +1 -0
  314. package/dist/messages/public/comments/list.msg.d.ts +38 -1
  315. package/dist/messages/public/comments/list.msg.js +20 -5
  316. package/dist/messages/public/comments/list.msg.js.map +1 -1
  317. package/dist/messages/public/comments/recent.msg.d.ts +31 -1
  318. package/dist/messages/public/comments/recent.msg.js +12 -5
  319. package/dist/messages/public/comments/recent.msg.js.map +1 -1
  320. package/dist/messages/public/friend-links/list.msg.d.ts +12 -1
  321. package/dist/messages/public/friend-links/list.msg.js +4 -7
  322. package/dist/messages/public/friend-links/list.msg.js.map +1 -1
  323. package/dist/messages/public/pages/list.msg.d.ts +22 -1
  324. package/dist/messages/public/pages/list.msg.js +4 -7
  325. package/dist/messages/public/pages/list.msg.js.map +1 -1
  326. package/dist/messages/public/pages/read.msg.d.ts +25 -1
  327. package/dist/messages/public/pages/read.msg.js +4 -7
  328. package/dist/messages/public/pages/read.msg.js.map +1 -1
  329. package/dist/messages/public/posts/archive.msg.d.ts +45 -1
  330. package/dist/messages/public/posts/archive.msg.js +4 -7
  331. package/dist/messages/public/posts/archive.msg.js.map +1 -1
  332. package/dist/messages/public/posts/connections.msg.d.ts +77 -1
  333. package/dist/messages/public/posts/connections.msg.js +4 -7
  334. package/dist/messages/public/posts/connections.msg.js.map +1 -1
  335. package/dist/messages/public/posts/list.msg.d.ts +40 -1
  336. package/dist/messages/public/posts/list.msg.js +19 -5
  337. package/dist/messages/public/posts/list.msg.js.map +1 -1
  338. package/dist/messages/public/posts/open.msg.d.ts +43 -1
  339. package/dist/messages/public/posts/open.msg.js +12 -5
  340. package/dist/messages/public/posts/open.msg.js.map +1 -1
  341. package/dist/messages/public/posts/read.msg.d.ts +33 -1
  342. package/dist/messages/public/posts/read.msg.js +4 -7
  343. package/dist/messages/public/posts/read.msg.js.map +1 -1
  344. package/dist/messages/public/posts/search.msg.d.ts +32 -0
  345. package/dist/messages/public/posts/search.msg.d.ts.map +1 -0
  346. package/dist/messages/public/posts/search.msg.js +5 -0
  347. package/dist/messages/public/posts/search.msg.js.map +1 -0
  348. package/dist/messages/public/posts/set-liked.msg.d.ts +23 -0
  349. package/dist/messages/public/posts/set-liked.msg.d.ts.map +1 -0
  350. package/dist/messages/public/posts/set-liked.msg.js +34 -0
  351. package/dist/messages/public/posts/set-liked.msg.js.map +1 -0
  352. package/dist/messages/public/tags/list.msg.d.ts +9 -1
  353. package/dist/messages/public/tags/list.msg.js +4 -7
  354. package/dist/messages/public/tags/list.msg.js.map +1 -1
  355. package/dist/messages/resources/event-catalog.msg.d.ts +7 -0
  356. package/dist/messages/resources/event-catalog.msg.d.ts.map +1 -0
  357. package/dist/messages/resources/event-catalog.msg.js +6 -0
  358. package/dist/messages/resources/event-catalog.msg.js.map +1 -0
  359. package/dist/messages/resources/theme-authoring-contract.msg.d.ts +7 -0
  360. package/dist/messages/resources/theme-authoring-contract.msg.d.ts.map +1 -0
  361. package/dist/messages/resources/theme-authoring-contract.msg.js +6 -0
  362. package/dist/messages/resources/theme-authoring-contract.msg.js.map +1 -0
  363. package/dist/messages/{browser/dispatch.msg.d.ts → sitemap/entries.msg.d.ts} +1 -1
  364. package/dist/messages/sitemap/entries.msg.d.ts.map +1 -0
  365. package/dist/messages/sitemap/entries.msg.js +9 -0
  366. package/dist/messages/sitemap/entries.msg.js.map +1 -0
  367. package/dist/messages/user-context.d.ts +21 -0
  368. package/dist/messages/user-context.d.ts.map +1 -0
  369. package/dist/messages/user-context.js +47 -0
  370. package/dist/messages/user-context.js.map +1 -0
  371. package/dist/migrations/index.d.ts +2 -0
  372. package/dist/migrations/index.d.ts.map +1 -1
  373. package/dist/migrations/index.js +6 -0
  374. package/dist/migrations/index.js.map +1 -1
  375. package/dist/models/blog-resource-documents.d.ts +33 -0
  376. package/dist/models/blog-resource-documents.d.ts.map +1 -0
  377. package/dist/models/blog-resource-documents.js +52 -0
  378. package/dist/models/blog-resource-documents.js.map +1 -0
  379. package/dist/models/management/approve-comment.model.d.ts +23 -0
  380. package/dist/models/management/approve-comment.model.d.ts.map +1 -0
  381. package/dist/models/management/approve-comment.model.js +14 -0
  382. package/dist/models/management/approve-comment.model.js.map +1 -0
  383. package/dist/models/management/archive-page.model.d.ts +21 -0
  384. package/dist/models/management/archive-page.model.d.ts.map +1 -0
  385. package/dist/models/management/archive-page.model.js +14 -0
  386. package/dist/models/management/archive-page.model.js.map +1 -0
  387. package/dist/models/management/archive-post.model.d.ts +28 -0
  388. package/dist/models/management/archive-post.model.d.ts.map +1 -0
  389. package/dist/models/management/archive-post.model.js +14 -0
  390. package/dist/models/management/archive-post.model.js.map +1 -0
  391. package/dist/models/management/audit-post-content.model.d.ts +21 -0
  392. package/dist/models/management/audit-post-content.model.d.ts.map +1 -0
  393. package/dist/models/management/audit-post-content.model.js +12 -0
  394. package/dist/models/management/audit-post-content.model.js.map +1 -0
  395. package/dist/models/management/create-category.model.d.ts +17 -0
  396. package/dist/models/management/create-category.model.d.ts.map +1 -0
  397. package/dist/models/management/create-category.model.js +14 -0
  398. package/dist/models/management/create-category.model.js.map +1 -0
  399. package/dist/models/management/create-friend-link.model.d.ts +19 -0
  400. package/dist/models/management/create-friend-link.model.d.ts.map +1 -0
  401. package/dist/models/management/create-friend-link.model.js +14 -0
  402. package/dist/models/management/create-friend-link.model.js.map +1 -0
  403. package/dist/models/management/create-page.model.d.ts +21 -0
  404. package/dist/models/management/create-page.model.d.ts.map +1 -0
  405. package/dist/models/management/create-page.model.js +14 -0
  406. package/dist/models/management/create-page.model.js.map +1 -0
  407. package/dist/models/management/create-post.model.d.ts +28 -0
  408. package/dist/models/management/create-post.model.d.ts.map +1 -0
  409. package/dist/models/management/create-post.model.js +14 -0
  410. package/dist/models/management/create-post.model.js.map +1 -0
  411. package/dist/models/management/create-tag.model.d.ts +15 -0
  412. package/dist/models/management/create-tag.model.d.ts.map +1 -0
  413. package/dist/models/management/create-tag.model.js +14 -0
  414. package/dist/models/management/create-tag.model.js.map +1 -0
  415. package/dist/models/management/delete-category.model.d.ts +10 -0
  416. package/dist/models/management/delete-category.model.d.ts.map +1 -0
  417. package/dist/models/management/delete-category.model.js +13 -0
  418. package/dist/models/management/delete-category.model.js.map +1 -0
  419. package/dist/models/management/delete-comment.model.d.ts +10 -0
  420. package/dist/models/management/delete-comment.model.d.ts.map +1 -0
  421. package/dist/models/management/delete-comment.model.js +13 -0
  422. package/dist/models/management/delete-comment.model.js.map +1 -0
  423. package/dist/models/management/delete-friend-link.model.d.ts +10 -0
  424. package/dist/models/management/delete-friend-link.model.d.ts.map +1 -0
  425. package/dist/models/management/delete-friend-link.model.js +13 -0
  426. package/dist/models/management/delete-friend-link.model.js.map +1 -0
  427. package/dist/models/management/delete-page.model.d.ts +10 -0
  428. package/dist/models/management/delete-page.model.d.ts.map +1 -0
  429. package/dist/models/management/delete-page.model.js +13 -0
  430. package/dist/models/management/delete-page.model.js.map +1 -0
  431. package/dist/models/management/delete-post.model.d.ts +10 -0
  432. package/dist/models/management/delete-post.model.d.ts.map +1 -0
  433. package/dist/models/management/delete-post.model.js +13 -0
  434. package/dist/models/management/delete-post.model.js.map +1 -0
  435. package/dist/models/management/delete-tag.model.d.ts +10 -0
  436. package/dist/models/management/delete-tag.model.d.ts.map +1 -0
  437. package/dist/models/management/delete-tag.model.js +13 -0
  438. package/dist/models/management/delete-tag.model.js.map +1 -0
  439. package/dist/models/management/disable-friend-link.model.d.ts +19 -0
  440. package/dist/models/management/disable-friend-link.model.d.ts.map +1 -0
  441. package/dist/models/management/disable-friend-link.model.js +14 -0
  442. package/dist/models/management/disable-friend-link.model.js.map +1 -0
  443. package/dist/models/management/enable-friend-link.model.d.ts +19 -0
  444. package/dist/models/management/enable-friend-link.model.d.ts.map +1 -0
  445. package/dist/models/management/enable-friend-link.model.js +14 -0
  446. package/dist/models/management/enable-friend-link.model.js.map +1 -0
  447. package/dist/models/management/list-category.model.d.ts +18 -0
  448. package/dist/models/management/list-category.model.d.ts.map +1 -0
  449. package/dist/models/management/list-category.model.js +13 -0
  450. package/dist/models/management/list-category.model.js.map +1 -0
  451. package/dist/models/management/list-comment.model.d.ts +24 -0
  452. package/dist/models/management/list-comment.model.d.ts.map +1 -0
  453. package/dist/models/management/list-comment.model.js +13 -0
  454. package/dist/models/management/list-comment.model.js.map +1 -0
  455. package/dist/models/management/list-friend-link.model.d.ts +20 -0
  456. package/dist/models/management/list-friend-link.model.d.ts.map +1 -0
  457. package/dist/models/management/list-friend-link.model.js +16 -0
  458. package/dist/models/management/list-friend-link.model.js.map +1 -0
  459. package/dist/models/management/list-page.model.d.ts +22 -0
  460. package/dist/models/management/list-page.model.d.ts.map +1 -0
  461. package/dist/models/management/list-page.model.js +13 -0
  462. package/dist/models/management/list-page.model.js.map +1 -0
  463. package/dist/models/management/list-post-archive.model.d.ts +30 -0
  464. package/dist/models/management/list-post-archive.model.d.ts.map +1 -0
  465. package/dist/models/management/list-post-archive.model.js +18 -0
  466. package/dist/models/management/list-post-archive.model.js.map +1 -0
  467. package/dist/models/management/list-post.model.d.ts +29 -0
  468. package/dist/models/management/list-post.model.d.ts.map +1 -0
  469. package/dist/models/management/list-post.model.js +13 -0
  470. package/dist/models/management/list-post.model.js.map +1 -0
  471. package/dist/models/management/list-tag.model.d.ts +16 -0
  472. package/dist/models/management/list-tag.model.d.ts.map +1 -0
  473. package/dist/models/management/list-tag.model.js +13 -0
  474. package/dist/models/management/list-tag.model.js.map +1 -0
  475. package/dist/models/management/list-theme.model.d.ts +3 -0
  476. package/dist/models/management/list-theme.model.d.ts.map +1 -0
  477. package/dist/models/management/list-theme.model.js +12 -0
  478. package/dist/models/management/list-theme.model.js.map +1 -0
  479. package/dist/models/management/publish-page.model.d.ts +21 -0
  480. package/dist/models/management/publish-page.model.d.ts.map +1 -0
  481. package/dist/models/management/publish-page.model.js +14 -0
  482. package/dist/models/management/publish-page.model.js.map +1 -0
  483. package/dist/models/management/publish-post.model.d.ts +28 -0
  484. package/dist/models/management/publish-post.model.d.ts.map +1 -0
  485. package/dist/models/management/publish-post.model.js +14 -0
  486. package/dist/models/management/publish-post.model.js.map +1 -0
  487. package/dist/models/management/read-category.model.d.ts +17 -0
  488. package/dist/models/management/read-category.model.d.ts.map +1 -0
  489. package/dist/models/management/read-category.model.js +14 -0
  490. package/dist/models/management/read-category.model.js.map +1 -0
  491. package/dist/models/management/read-comment.model.d.ts +23 -0
  492. package/dist/models/management/read-comment.model.d.ts.map +1 -0
  493. package/dist/models/management/read-comment.model.js +14 -0
  494. package/dist/models/management/read-comment.model.js.map +1 -0
  495. package/dist/models/management/read-friend-link.model.d.ts +19 -0
  496. package/dist/models/management/read-friend-link.model.d.ts.map +1 -0
  497. package/dist/models/management/read-friend-link.model.js +14 -0
  498. package/dist/models/management/read-friend-link.model.js.map +1 -0
  499. package/dist/models/management/read-page.model.d.ts +21 -0
  500. package/dist/models/management/read-page.model.d.ts.map +1 -0
  501. package/dist/models/management/read-page.model.js +14 -0
  502. package/dist/models/management/read-page.model.js.map +1 -0
  503. package/dist/models/management/read-post.model.d.ts +28 -0
  504. package/dist/models/management/read-post.model.d.ts.map +1 -0
  505. package/dist/models/management/read-post.model.js +14 -0
  506. package/dist/models/management/read-post.model.js.map +1 -0
  507. package/dist/models/management/read-tag.model.d.ts +15 -0
  508. package/dist/models/management/read-tag.model.d.ts.map +1 -0
  509. package/dist/models/management/read-tag.model.js +14 -0
  510. package/dist/models/management/read-tag.model.js.map +1 -0
  511. package/dist/models/management/read-theme-selection.model.d.ts +8 -0
  512. package/dist/models/management/read-theme-selection.model.d.ts.map +1 -0
  513. package/dist/models/management/read-theme-selection.model.js +12 -0
  514. package/dist/models/management/read-theme-selection.model.js.map +1 -0
  515. package/dist/models/management/read-theme-status.model.d.ts +3 -0
  516. package/dist/models/management/read-theme-status.model.d.ts.map +1 -0
  517. package/dist/models/management/read-theme-status.model.js +12 -0
  518. package/dist/models/management/read-theme-status.model.js.map +1 -0
  519. package/dist/models/management/reject-comment.model.d.ts +23 -0
  520. package/dist/models/management/reject-comment.model.d.ts.map +1 -0
  521. package/dist/models/management/reject-comment.model.js +14 -0
  522. package/dist/models/management/reject-comment.model.js.map +1 -0
  523. package/dist/models/management/reply-comment.model.d.ts +23 -0
  524. package/dist/models/management/reply-comment.model.d.ts.map +1 -0
  525. package/dist/models/management/reply-comment.model.js +14 -0
  526. package/dist/models/management/reply-comment.model.js.map +1 -0
  527. package/dist/models/management/search-post.model.d.ts +27 -0
  528. package/dist/models/management/search-post.model.d.ts.map +1 -0
  529. package/dist/models/management/search-post.model.js +18 -0
  530. package/dist/models/management/search-post.model.js.map +1 -0
  531. package/dist/models/management/select-theme.model.d.ts +3 -0
  532. package/dist/models/management/select-theme.model.d.ts.map +1 -0
  533. package/dist/models/management/select-theme.model.js +11 -0
  534. package/dist/models/management/select-theme.model.js.map +1 -0
  535. package/dist/models/management/update-category.model.d.ts +17 -0
  536. package/dist/models/management/update-category.model.d.ts.map +1 -0
  537. package/dist/models/management/update-category.model.js +14 -0
  538. package/dist/models/management/update-category.model.js.map +1 -0
  539. package/dist/models/management/update-friend-link.model.d.ts +19 -0
  540. package/dist/models/management/update-friend-link.model.d.ts.map +1 -0
  541. package/dist/models/management/update-friend-link.model.js +14 -0
  542. package/dist/models/management/update-friend-link.model.js.map +1 -0
  543. package/dist/models/management/update-page.model.d.ts +21 -0
  544. package/dist/models/management/update-page.model.d.ts.map +1 -0
  545. package/dist/models/management/update-page.model.js +14 -0
  546. package/dist/models/management/update-page.model.js.map +1 -0
  547. package/dist/models/management/update-post.model.d.ts +28 -0
  548. package/dist/models/management/update-post.model.d.ts.map +1 -0
  549. package/dist/models/management/update-post.model.js +14 -0
  550. package/dist/models/management/update-post.model.js.map +1 -0
  551. package/dist/models/management/update-tag.model.d.ts +15 -0
  552. package/dist/models/management/update-tag.model.d.ts.map +1 -0
  553. package/dist/models/management/update-tag.model.js +14 -0
  554. package/dist/models/management/update-tag.model.js.map +1 -0
  555. package/dist/models/management-projection.d.ts +101 -0
  556. package/dist/models/management-projection.d.ts.map +1 -0
  557. package/dist/models/management-projection.js +79 -0
  558. package/dist/models/management-projection.js.map +1 -0
  559. package/dist/models/public/create-comment.model.d.ts +24 -0
  560. package/dist/models/public/create-comment.model.d.ts.map +1 -0
  561. package/dist/models/public/create-comment.model.js +12 -0
  562. package/dist/models/public/create-comment.model.js.map +1 -0
  563. package/dist/models/public/list-categories.model.d.ts +14 -0
  564. package/dist/models/public/list-categories.model.d.ts.map +1 -0
  565. package/dist/models/public/list-categories.model.js +11 -0
  566. package/dist/models/public/list-categories.model.js.map +1 -0
  567. package/dist/models/public/list-comments.model.d.ts +13 -0
  568. package/dist/models/public/list-comments.model.d.ts.map +1 -0
  569. package/dist/models/public/list-comments.model.js +16 -0
  570. package/dist/models/public/list-comments.model.js.map +1 -0
  571. package/dist/models/public/list-friend-links.model.d.ts +14 -0
  572. package/dist/models/public/list-friend-links.model.d.ts.map +1 -0
  573. package/dist/models/public/list-friend-links.model.js +11 -0
  574. package/dist/models/public/list-friend-links.model.js.map +1 -0
  575. package/dist/models/public/list-pages.model.d.ts +16 -0
  576. package/dist/models/public/list-pages.model.d.ts.map +1 -0
  577. package/dist/models/public/list-pages.model.js +11 -0
  578. package/dist/models/public/list-pages.model.js.map +1 -0
  579. package/dist/models/public/list-post-archive.model.d.ts +36 -0
  580. package/dist/models/public/list-post-archive.model.d.ts.map +1 -0
  581. package/dist/models/public/list-post-archive.model.js +11 -0
  582. package/dist/models/public/list-post-archive.model.js.map +1 -0
  583. package/dist/models/public/list-posts.model.d.ts +31 -0
  584. package/dist/models/public/list-posts.model.d.ts.map +1 -0
  585. package/dist/models/public/list-posts.model.js +17 -0
  586. package/dist/models/public/list-posts.model.js.map +1 -0
  587. package/dist/models/public/list-recent-comments.model.d.ts +10 -0
  588. package/dist/models/public/list-recent-comments.model.d.ts.map +1 -0
  589. package/dist/models/public/list-recent-comments.model.js +15 -0
  590. package/dist/models/public/list-recent-comments.model.js.map +1 -0
  591. package/dist/models/public/list-tags.model.d.ts +11 -0
  592. package/dist/models/public/list-tags.model.d.ts.map +1 -0
  593. package/dist/models/public/list-tags.model.js +11 -0
  594. package/dist/models/public/list-tags.model.js.map +1 -0
  595. package/dist/models/public/open-post.model.d.ts +38 -0
  596. package/dist/models/public/open-post.model.d.ts.map +1 -0
  597. package/dist/models/public/open-post.model.js +13 -0
  598. package/dist/models/public/open-post.model.js.map +1 -0
  599. package/dist/models/public/project-comments.model.d.ts +27 -0
  600. package/dist/models/public/project-comments.model.d.ts.map +1 -0
  601. package/dist/models/public/project-comments.model.js +12 -0
  602. package/dist/models/public/project-comments.model.js.map +1 -0
  603. package/dist/models/public/project-recent-comments.model.d.ts +31 -0
  604. package/dist/models/public/project-recent-comments.model.d.ts.map +1 -0
  605. package/dist/models/public/project-recent-comments.model.js +12 -0
  606. package/dist/models/public/project-recent-comments.model.js.map +1 -0
  607. package/dist/models/public/public-model-inputs.d.ts +99 -0
  608. package/dist/models/public/public-model-inputs.d.ts.map +1 -0
  609. package/dist/models/public/public-model-inputs.js +102 -0
  610. package/dist/models/public/public-model-inputs.js.map +1 -0
  611. package/dist/models/public/read-page.model.d.ts +22 -0
  612. package/dist/models/public/read-page.model.d.ts.map +1 -0
  613. package/dist/models/public/read-page.model.js +12 -0
  614. package/dist/models/public/read-page.model.js.map +1 -0
  615. package/dist/models/public/read-post-connections.model.d.ts +76 -0
  616. package/dist/models/public/read-post-connections.model.d.ts.map +1 -0
  617. package/dist/models/public/read-post-connections.model.js +12 -0
  618. package/dist/models/public/read-post-connections.model.js.map +1 -0
  619. package/dist/models/public/read-post.model.d.ts +33 -0
  620. package/dist/models/public/read-post.model.d.ts.map +1 -0
  621. package/dist/models/public/read-post.model.js +12 -0
  622. package/dist/models/public/read-post.model.js.map +1 -0
  623. package/dist/models/public/search-posts.model.d.ts +29 -0
  624. package/dist/models/public/search-posts.model.d.ts.map +1 -0
  625. package/dist/models/public/search-posts.model.js +11 -0
  626. package/dist/models/public/search-posts.model.js.map +1 -0
  627. package/dist/models/public/set-post-liked.model.d.ts +10 -0
  628. package/dist/models/public/set-post-liked.model.d.ts.map +1 -0
  629. package/dist/models/public/set-post-liked.model.js +12 -0
  630. package/dist/models/public/set-post-liked.model.js.map +1 -0
  631. package/dist/models/read-event-catalog.model.d.ts +3 -0
  632. package/dist/models/read-event-catalog.model.d.ts.map +1 -0
  633. package/dist/models/read-event-catalog.model.js +9 -0
  634. package/dist/models/read-event-catalog.model.js.map +1 -0
  635. package/dist/models/read-theme-authoring-contract.model.d.ts +33 -0
  636. package/dist/models/read-theme-authoring-contract.model.d.ts.map +1 -0
  637. package/dist/models/read-theme-authoring-contract.model.js +9 -0
  638. package/dist/models/read-theme-authoring-contract.model.js.map +1 -0
  639. package/dist/persistence/category-store.d.ts.map +1 -1
  640. package/dist/persistence/category-store.js +28 -11
  641. package/dist/persistence/category-store.js.map +1 -1
  642. package/dist/persistence/comment-store.d.ts.map +1 -1
  643. package/dist/persistence/comment-store.js +61 -20
  644. package/dist/persistence/comment-store.js.map +1 -1
  645. package/dist/persistence/entities.d.ts.map +1 -1
  646. package/dist/persistence/entities.js +15 -3
  647. package/dist/persistence/entities.js.map +1 -1
  648. package/dist/persistence/friend-link-store.d.ts.map +1 -1
  649. package/dist/persistence/friend-link-store.js +24 -7
  650. package/dist/persistence/friend-link-store.js.map +1 -1
  651. package/dist/persistence/page-store.d.ts +12 -0
  652. package/dist/persistence/page-store.d.ts.map +1 -1
  653. package/dist/persistence/page-store.js +33 -0
  654. package/dist/persistence/page-store.js.map +1 -1
  655. package/dist/persistence/post-store.d.ts +14 -12
  656. package/dist/persistence/post-store.d.ts.map +1 -1
  657. package/dist/persistence/post-store.js +240 -62
  658. package/dist/persistence/post-store.js.map +1 -1
  659. package/dist/persistence/tag-store.d.ts.map +1 -1
  660. package/dist/persistence/tag-store.js +23 -8
  661. package/dist/persistence/tag-store.js.map +1 -1
  662. package/dist/services/application.service.d.ts +6 -2
  663. package/dist/services/application.service.d.ts.map +1 -1
  664. package/dist/services/application.service.js +13 -5
  665. package/dist/services/application.service.js.map +1 -1
  666. package/dist/services/blog-runtime.service.d.ts +4 -4
  667. package/dist/services/blog-runtime.service.d.ts.map +1 -1
  668. package/dist/services/blog-runtime.service.js +11 -15
  669. package/dist/services/blog-runtime.service.js.map +1 -1
  670. package/dist/services/blog.boot.d.ts +1 -1
  671. package/dist/services/blog.boot.js +7 -4
  672. package/dist/services/blog.boot.js.map +1 -1
  673. package/dist/services/config.service.js +1 -1
  674. package/dist/services/config.service.js.map +1 -1
  675. package/dist/services/database.service.js +18 -3
  676. package/dist/services/database.service.js.map +1 -1
  677. package/dist/services/mcp-provider.service.js +3 -6
  678. package/dist/services/mcp-provider.service.js.map +1 -1
  679. package/dist/services/sitemap-provider.service.d.ts +4 -0
  680. package/dist/services/sitemap-provider.service.d.ts.map +1 -0
  681. package/dist/services/sitemap-provider.service.js +26 -0
  682. package/dist/services/sitemap-provider.service.js.map +1 -0
  683. package/dist/services/theme-control.service.js +24 -9
  684. package/dist/services/theme-control.service.js.map +1 -1
  685. package/dist/sitemap/blog-sitemap-provider.d.ts +34 -0
  686. package/dist/sitemap/blog-sitemap-provider.d.ts.map +1 -0
  687. package/dist/sitemap/blog-sitemap-provider.js +116 -0
  688. package/dist/sitemap/blog-sitemap-provider.js.map +1 -0
  689. package/dist/themes/theme-catalog.d.ts.map +1 -1
  690. package/dist/themes/theme-catalog.js +43 -26
  691. package/dist/themes/theme-catalog.js.map +1 -1
  692. package/dist/themes/theme-control.d.ts.map +1 -1
  693. package/dist/themes/theme-control.js +17 -7
  694. package/dist/themes/theme-control.js.map +1 -1
  695. package/dist/themes/theme-discovery-runtime.d.ts.map +1 -1
  696. package/dist/themes/theme-discovery-runtime.js +17 -7
  697. package/dist/themes/theme-discovery-runtime.js.map +1 -1
  698. package/dist/themes/theme-generation-store.d.ts.map +1 -1
  699. package/dist/themes/theme-generation-store.js +10 -5
  700. package/dist/themes/theme-generation-store.js.map +1 -1
  701. package/dist/themes/theme-selection-publisher.d.ts.map +1 -1
  702. package/dist/themes/theme-selection-publisher.js +11 -5
  703. package/dist/themes/theme-selection-publisher.js.map +1 -1
  704. package/package.json +24 -20
  705. package/dist/blog/micro-user-directory.d.ts +0 -11
  706. package/dist/blog/micro-user-directory.d.ts.map +0 -1
  707. package/dist/blog/micro-user-directory.js +0 -18
  708. package/dist/blog/micro-user-directory.js.map +0 -1
  709. package/dist/blog/public-blog-micro.d.ts +0 -291
  710. package/dist/blog/public-blog-micro.d.ts.map +0 -1
  711. package/dist/blog/public-blog-micro.js +0 -71
  712. package/dist/blog/public-blog-micro.js.map +0 -1
  713. package/dist/browser-api/dispatch-stream.d.ts +0 -5
  714. package/dist/browser-api/dispatch-stream.d.ts.map +0 -1
  715. package/dist/browser-api/dispatch-stream.js +0 -4
  716. package/dist/browser-api/dispatch-stream.js.map +0 -1
  717. package/dist/browser-api/dispatcher.d.ts +0 -15
  718. package/dist/browser-api/dispatcher.d.ts.map +0 -1
  719. package/dist/browser-api/dispatcher.js +0 -145
  720. package/dist/browser-api/dispatcher.js.map +0 -1
  721. package/dist/browser-api/provider-publisher.d.ts +0 -24
  722. package/dist/browser-api/provider-publisher.d.ts.map +0 -1
  723. package/dist/browser-api/provider-publisher.js +0 -107
  724. package/dist/browser-api/provider-publisher.js.map +0 -1
  725. package/dist/messages/browser/dispatch.msg.d.ts.map +0 -1
  726. package/dist/messages/browser/dispatch.msg.js +0 -9
  727. package/dist/messages/browser/dispatch.msg.js.map +0 -1
  728. package/dist/services/browser-api-provider.service.d.ts +0 -4
  729. package/dist/services/browser-api-provider.service.d.ts.map +0 -1
  730. package/dist/services/browser-api-provider.service.js +0 -25
  731. package/dist/services/browser-api-provider.service.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { And, Equal, ILike, In, LessThan, MoreThan, MoreThanOrEqual } from 'typeorm';
2
- import { BlogConflictError, BlogCursorError, BlogNotFoundError, PostContentBlockedError } from '../blog/errors.js';
1
+ import { And, Equal, ILike, In, LessThan, MoreThan, MoreThanOrEqual, } from 'typeorm';
2
+ import { BlogConflictError, BlogCursorError, BlogNotFoundError, PostContentBlockedError, } from '../blog/errors.js';
3
3
  import { auditPostContent } from '../blog/post-content-audit.js';
4
4
  import { buildBlogPostArchivedEvent, buildBlogPostPublicationUpdatedEvent, buildBlogPostPublishedEvent, } from '../events/blog-domain-events.js';
5
5
  import { BlogCategoryEntity, BlogPostEntity, BlogPostTagEntity, BlogTagEntity, } from './entities.js';
@@ -15,7 +15,8 @@ export class PostStore {
15
15
  }
16
16
  async countPublishedByCategory(signal) {
17
17
  signal?.throwIfAborted();
18
- const rows = await this.dataSource.getRepository(BlogPostEntity)
18
+ const rows = await this.dataSource
19
+ .getRepository(BlogPostEntity)
19
20
  .createQueryBuilder('post')
20
21
  .select('post.categoryId', 'categoryId')
21
22
  .addSelect('COUNT(post.id)', 'postCount')
@@ -23,44 +24,75 @@ export class PostStore {
23
24
  .groupBy('post.categoryId')
24
25
  .getRawMany();
25
26
  signal?.throwIfAborted();
26
- return new Map(rows.map(({ categoryId, postCount }) => [categoryId, parsePostCount(postCount)]));
27
+ return new Map(rows.map(({ categoryId, postCount }) => [
28
+ categoryId,
29
+ parsePostCount(postCount),
30
+ ]));
27
31
  }
28
32
  async list(input, signal) {
29
33
  signal?.throwIfAborted();
30
- const base = { ...(input.status ? { status: input.status } : {}), ...(input.categoryId ? { categoryId: input.categoryId } : {}) };
31
- const cursor = input.cursor ? await this.dataSource.getRepository(BlogPostEntity).findOne({ where: { id: input.cursor, ...base } }) : undefined;
34
+ const base = {
35
+ ...(input.status ? { status: input.status } : {}),
36
+ ...(input.categoryId ? { categoryId: input.categoryId } : {}),
37
+ };
38
+ const cursor = input.cursor
39
+ ? await this.dataSource
40
+ .getRepository(BlogPostEntity)
41
+ .findOne({ where: { id: input.cursor, ...base } })
42
+ : undefined;
32
43
  signal?.throwIfAborted();
33
44
  if (input.cursor && !cursor)
34
45
  throw new BlogCursorError('Post cursor not found in current filter');
35
46
  const where = cursor
36
- ? [{ ...base, createdAt: LessThan(cursor.createdAt) }, { ...base, createdAt: Equal(cursor.createdAt), id: LessThan(cursor.id) }]
47
+ ? [
48
+ { ...base, createdAt: LessThan(cursor.createdAt) },
49
+ {
50
+ ...base,
51
+ createdAt: Equal(cursor.createdAt),
52
+ id: LessThan(cursor.id),
53
+ },
54
+ ]
37
55
  : base;
38
- const posts = await this.dataSource.getRepository(BlogPostEntity).find({ where, order: { createdAt: 'DESC', id: 'DESC' }, take: input.limit + 1 });
56
+ const posts = await this.dataSource
57
+ .getRepository(BlogPostEntity)
58
+ .find({
59
+ where,
60
+ order: { createdAt: 'DESC', id: 'DESC' },
61
+ take: input.limit + 1,
62
+ });
39
63
  signal?.throwIfAborted();
40
64
  const hasMore = posts.length > input.limit;
41
65
  const bounded = hasMore ? posts.slice(0, input.limit) : posts;
42
- return { items: await this.withTags(bounded, this.dataSource.manager, signal), nextCursor: hasMore ? bounded.at(-1)?.id ?? null : null };
66
+ return {
67
+ items: await this.withTags(bounded, this.dataSource.manager, signal),
68
+ nextCursor: hasMore ? (bounded.at(-1)?.id ?? null) : null,
69
+ };
43
70
  }
44
71
  async listPublished(options, signal) {
45
72
  signal?.throwIfAborted();
46
73
  let categoryId;
47
74
  let tagId;
48
75
  if (options.categorySlug) {
49
- const category = await this.dataSource.getRepository(BlogCategoryEntity).findOneBy({ slug: options.categorySlug });
76
+ const category = await this.dataSource
77
+ .getRepository(BlogCategoryEntity)
78
+ .findOneBy({ slug: options.categorySlug });
50
79
  signal?.throwIfAborted();
51
80
  if (!category)
52
81
  return { items: [], nextCursor: null, total: 0 };
53
82
  categoryId = category.id;
54
83
  }
55
84
  if (options.tagSlug) {
56
- const tag = await this.dataSource.getRepository(BlogTagEntity).findOneBy({ slug: options.tagSlug });
85
+ const tag = await this.dataSource
86
+ .getRepository(BlogTagEntity)
87
+ .findOneBy({ slug: options.tagSlug });
57
88
  signal?.throwIfAborted();
58
89
  if (!tag)
59
90
  return { items: [], nextCursor: null, total: 0 };
60
91
  tagId = tag.id;
61
92
  }
62
93
  const base = {
63
- status: 'published', ...(categoryId ? { categoryId } : {}),
94
+ status: 'published',
95
+ ...(categoryId ? { categoryId } : {}),
64
96
  ...(tagId ? { postTags: { tagId } } : {}),
65
97
  };
66
98
  const repository = this.dataSource.getRepository(BlogPostEntity);
@@ -76,7 +108,9 @@ export class PostStore {
76
108
  signal?.throwIfAborted();
77
109
  return {
78
110
  items: await this.withTags(posts, this.dataSource.manager, signal),
79
- nextCursor: options.page * options.limit < total ? posts.at(-1)?.id ?? null : null,
111
+ nextCursor: options.page * options.limit < total
112
+ ? (posts.at(-1)?.id ?? null)
113
+ : null,
80
114
  total,
81
115
  };
82
116
  }
@@ -91,16 +125,69 @@ export class PostStore {
91
125
  const where = cursor?.publishedAt
92
126
  ? [
93
127
  { ...base, publishedAt: LessThan(cursor.publishedAt) },
94
- { ...base, publishedAt: Equal(cursor.publishedAt), id: LessThan(cursor.id) },
128
+ {
129
+ ...base,
130
+ publishedAt: Equal(cursor.publishedAt),
131
+ id: LessThan(cursor.id),
132
+ },
95
133
  ]
96
134
  : base;
97
135
  const posts = await repository.find({
98
- where, order: { publishedAt: 'DESC', id: 'DESC' }, take: options.limit + 1,
136
+ where,
137
+ order: { publishedAt: 'DESC', id: 'DESC' },
138
+ take: options.limit + 1,
99
139
  });
100
140
  signal?.throwIfAborted();
101
141
  const hasMore = posts.length > options.limit;
102
142
  const bounded = hasMore ? posts.slice(0, options.limit) : posts;
103
- return { items: await this.withTags(bounded, this.dataSource.manager, signal), nextCursor: hasMore ? bounded.at(-1)?.id ?? null : null, total };
143
+ return {
144
+ items: await this.withTags(bounded, this.dataSource.manager, signal),
145
+ nextCursor: hasMore ? (bounded.at(-1)?.id ?? null) : null,
146
+ total,
147
+ };
148
+ }
149
+ async listPublishedReferences(input, signal) {
150
+ signal?.throwIfAborted();
151
+ const repository = this.dataSource.getRepository(BlogPostEntity);
152
+ const cursor = input.cursor
153
+ ? await repository.findOne({
154
+ select: { id: true, publishedAt: true },
155
+ where: { id: input.cursor, status: 'published' },
156
+ })
157
+ : undefined;
158
+ signal?.throwIfAborted();
159
+ if (input.cursor && !cursor)
160
+ throw new BlogCursorError('Post cursor not found in current filter');
161
+ if (cursor && !cursor.publishedAt)
162
+ throw new Error('Published post cursor is incomplete');
163
+ const base = { status: 'published' };
164
+ const where = cursor
165
+ ? [
166
+ { ...base, publishedAt: LessThan(cursor.publishedAt) },
167
+ {
168
+ ...base,
169
+ publishedAt: Equal(cursor.publishedAt),
170
+ id: LessThan(cursor.id),
171
+ },
172
+ ]
173
+ : base;
174
+ const rows = await repository.find({
175
+ select: { id: true, slug: true, updatedAt: true, publishedAt: true },
176
+ where,
177
+ order: { publishedAt: 'DESC', id: 'DESC' },
178
+ take: input.limit + 1,
179
+ });
180
+ signal?.throwIfAborted();
181
+ const hasMore = rows.length > input.limit;
182
+ const bounded = hasMore ? rows.slice(0, input.limit) : rows;
183
+ return {
184
+ items: bounded.map(({ id, slug, updatedAt }) => ({
185
+ id,
186
+ slug,
187
+ updatedAt,
188
+ })),
189
+ nextCursor: hasMore ? (bounded.at(-1)?.id ?? null) : null,
190
+ };
104
191
  }
105
192
  async listPublishedArchive(options, signal) {
106
193
  signal?.throwIfAborted();
@@ -136,7 +223,9 @@ export class PostStore {
136
223
  return {
137
224
  items: await this.withTags(posts, this.dataSource.manager, signal),
138
225
  months,
139
- nextCursor: options.page * options.limit < total ? posts.at(-1)?.id ?? null : null,
226
+ nextCursor: options.page * options.limit < total
227
+ ? (posts.at(-1)?.id ?? null)
228
+ : null,
140
229
  total,
141
230
  };
142
231
  }
@@ -156,11 +245,17 @@ export class PostStore {
156
245
  ? And(publishedAt, LessThan(cursor.publishedAt))
157
246
  : LessThan(cursor.publishedAt),
158
247
  },
159
- { ...base, publishedAt: Equal(cursor.publishedAt), id: LessThan(cursor.id) },
248
+ {
249
+ ...base,
250
+ publishedAt: Equal(cursor.publishedAt),
251
+ id: LessThan(cursor.id),
252
+ },
160
253
  ]
161
254
  : base;
162
255
  const posts = await repository.find({
163
- where, order: { publishedAt: 'DESC', id: 'DESC' }, take: options.limit + 1,
256
+ where,
257
+ order: { publishedAt: 'DESC', id: 'DESC' },
258
+ take: options.limit + 1,
164
259
  });
165
260
  signal?.throwIfAborted();
166
261
  const hasMore = posts.length > options.limit;
@@ -168,7 +263,7 @@ export class PostStore {
168
263
  return {
169
264
  items: await this.withTags(bounded, this.dataSource.manager, signal),
170
265
  months,
171
- nextCursor: hasMore ? bounded.at(-1)?.id ?? null : null,
266
+ nextCursor: hasMore ? (bounded.at(-1)?.id ?? null) : null,
172
267
  total,
173
268
  };
174
269
  }
@@ -190,7 +285,9 @@ export class PostStore {
190
285
  }
191
286
  async read(id, signal) {
192
287
  signal?.throwIfAborted();
193
- const post = await this.dataSource.getRepository(BlogPostEntity).findOneBy({ id });
288
+ const post = await this.dataSource
289
+ .getRepository(BlogPostEntity)
290
+ .findOneBy({ id });
194
291
  signal?.throwIfAborted();
195
292
  if (!post)
196
293
  throw new BlogNotFoundError('Post not found');
@@ -198,9 +295,13 @@ export class PostStore {
198
295
  }
199
296
  async readPublishedBySlug(slug, signal) {
200
297
  signal?.throwIfAborted();
201
- const post = await this.dataSource.getRepository(BlogPostEntity).findOneBy({ slug, status: 'published' });
298
+ const post = await this.dataSource
299
+ .getRepository(BlogPostEntity)
300
+ .findOneBy({ slug, status: 'published' });
202
301
  signal?.throwIfAborted();
203
- return post ? (await this.withTags([post], this.dataSource.manager, signal))[0] : undefined;
302
+ return post
303
+ ? (await this.withTags([post], this.dataSource.manager, signal))[0]
304
+ : undefined;
204
305
  }
205
306
  async readPublishedByIds(ids, signal) {
206
307
  signal?.throwIfAborted();
@@ -222,7 +323,11 @@ export class PostStore {
222
323
  const previous = await repository.find({
223
324
  where: [
224
325
  { status: 'published', publishedAt: LessThan(current.publishedAt) },
225
- { status: 'published', publishedAt: Equal(current.publishedAt), id: LessThan(current.id) },
326
+ {
327
+ status: 'published',
328
+ publishedAt: Equal(current.publishedAt),
329
+ id: LessThan(current.id),
330
+ },
226
331
  ],
227
332
  order: { publishedAt: 'DESC', id: 'DESC' },
228
333
  take: 1,
@@ -231,7 +336,11 @@ export class PostStore {
231
336
  const next = await repository.find({
232
337
  where: [
233
338
  { status: 'published', publishedAt: MoreThan(current.publishedAt) },
234
- { status: 'published', publishedAt: Equal(current.publishedAt), id: MoreThan(current.id) },
339
+ {
340
+ status: 'published',
341
+ publishedAt: Equal(current.publishedAt),
342
+ id: MoreThan(current.id),
343
+ },
235
344
  ],
236
345
  order: { publishedAt: 'ASC', id: 'ASC' },
237
346
  take: 1,
@@ -241,14 +350,13 @@ export class PostStore {
241
350
  ? await this.listRelated(current.id, relatedLimit, signal)
242
351
  : [];
243
352
  signal?.throwIfAborted();
244
- const adjacentPosts = await this.withTags([
245
- ...(previous[0] ? [previous[0]] : []),
246
- ...(next[0] ? [next[0]] : []),
247
- ], this.dataSource.manager, signal);
353
+ const adjacentPosts = await this.withTags([...(previous[0] ? [previous[0]] : []), ...(next[0] ? [next[0]] : [])], this.dataSource.manager, signal);
248
354
  const adjacentById = new Map(adjacentPosts.map((post) => [post.id, post]));
249
355
  return {
250
- previousPost: previous[0] ? adjacentById.get(previous[0].id) ?? null : null,
251
- nextPost: next[0] ? adjacentById.get(next[0].id) ?? null : null,
356
+ previousPost: previous[0]
357
+ ? (adjacentById.get(previous[0].id) ?? null)
358
+ : null,
359
+ nextPost: next[0] ? (adjacentById.get(next[0].id) ?? null) : null,
252
360
  relatedPosts: related,
253
361
  };
254
362
  }
@@ -259,7 +367,10 @@ export class PostStore {
259
367
  signal?.throwIfAborted();
260
368
  const repository = manager.getRepository(BlogPostEntity);
261
369
  const post = await repository.save(repository.create({
262
- ...withoutTagIds(input), status: 'draft', publishedAt: null, viewCount: 0,
370
+ ...withoutTagIds(input),
371
+ status: 'draft',
372
+ publishedAt: null,
373
+ viewCount: 0,
263
374
  }));
264
375
  signal?.throwIfAborted();
265
376
  await this.replaceTags(manager, post.id, input.tagIds, signal);
@@ -271,7 +382,8 @@ export class PostStore {
271
382
  signal?.throwIfAborted();
272
383
  const result = await this.dataSource.transaction(async (manager) => {
273
384
  const current = await manager.getRepository(BlogPostEntity).findOne({
274
- where: { id }, lock: { mode: 'pessimistic_write' },
385
+ where: { id },
386
+ lock: { mode: 'pessimistic_write' },
275
387
  });
276
388
  signal?.throwIfAborted();
277
389
  if (!current)
@@ -285,11 +397,15 @@ export class PostStore {
285
397
  if (!changedFields.length)
286
398
  return { value: currentView };
287
399
  const occurredAt = this.clock();
288
- await manager.getRepository(BlogPostEntity).update({ id }, { ...withoutTagIds(input), updatedAt: occurredAt });
400
+ await manager
401
+ .getRepository(BlogPostEntity)
402
+ .update({ id }, { ...withoutTagIds(input), updatedAt: occurredAt });
289
403
  signal?.throwIfAborted();
290
404
  await this.replaceTags(manager, id, input.tagIds, signal);
291
405
  signal?.throwIfAborted();
292
- const post = await manager.getRepository(BlogPostEntity).findOneByOrFail({ id });
406
+ const post = await manager
407
+ .getRepository(BlogPostEntity)
408
+ .findOneByOrFail({ id });
293
409
  signal?.throwIfAborted();
294
410
  const updated = (await this.withTags([post], manager, signal))[0];
295
411
  const event = current.status === 'published'
@@ -305,22 +421,34 @@ export class PostStore {
305
421
  signal?.throwIfAborted();
306
422
  const result = await this.dataSource.transaction(async (manager) => {
307
423
  const repository = manager.getRepository(BlogPostEntity);
308
- const post = await repository.findOne({ where: { id }, lock: { mode: 'pessimistic_write' } });
424
+ const post = await repository.findOne({
425
+ where: { id },
426
+ lock: { mode: 'pessimistic_write' },
427
+ });
309
428
  signal?.throwIfAborted();
310
429
  if (!post)
311
430
  throw new BlogNotFoundError('Post not found');
312
431
  assertPublishableContent(post);
313
432
  if (post.status !== 'published') {
314
433
  const occurredAt = this.clock();
315
- await repository.update({ id }, { status: 'published', publishedAt: occurredAt, updatedAt: occurredAt });
434
+ await repository.update({ id }, {
435
+ status: 'published',
436
+ publishedAt: occurredAt,
437
+ updatedAt: occurredAt,
438
+ });
316
439
  signal?.throwIfAborted();
317
440
  const updated = await repository.findOneByOrFail({ id });
318
441
  const view = (await this.withTags([updated], manager, signal))[0];
319
- return { value: view, event: await buildBlogPostPublishedEvent(manager, view, occurredAt) };
442
+ return {
443
+ value: view,
444
+ event: await buildBlogPostPublishedEvent(manager, view, occurredAt),
445
+ };
320
446
  }
321
447
  const updated = await repository.findOneByOrFail({ id });
322
448
  signal?.throwIfAborted();
323
- return { value: (await this.withTags([updated], manager, signal))[0] };
449
+ return {
450
+ value: (await this.withTags([updated], manager, signal))[0],
451
+ };
324
452
  });
325
453
  if (result.event)
326
454
  await this.events.publish(result.event);
@@ -330,7 +458,10 @@ export class PostStore {
330
458
  signal?.throwIfAborted();
331
459
  const result = await this.dataSource.transaction(async (manager) => {
332
460
  const repository = manager.getRepository(BlogPostEntity);
333
- const post = await repository.findOne({ where: { id }, lock: { mode: 'pessimistic_write' } });
461
+ const post = await repository.findOne({
462
+ where: { id },
463
+ lock: { mode: 'pessimistic_write' },
464
+ });
334
465
  signal?.throwIfAborted();
335
466
  if (!post)
336
467
  throw new BlogNotFoundError('Post not found');
@@ -340,12 +471,16 @@ export class PostStore {
340
471
  signal?.throwIfAborted();
341
472
  const updated = await repository.findOneByOrFail({ id });
342
473
  const view = (await this.withTags([updated], manager, signal))[0];
343
- const event = post.status === 'published' ? await buildBlogPostArchivedEvent(manager, view, occurredAt) : undefined;
474
+ const event = post.status === 'published'
475
+ ? await buildBlogPostArchivedEvent(manager, view, occurredAt)
476
+ : undefined;
344
477
  return { value: view, event };
345
478
  }
346
479
  const updated = await repository.findOneByOrFail({ id });
347
480
  signal?.throwIfAborted();
348
- return { value: (await this.withTags([updated], manager, signal))[0] };
481
+ return {
482
+ value: (await this.withTags([updated], manager, signal))[0],
483
+ };
349
484
  });
350
485
  if (result.event)
351
486
  await this.events.publish(result.event);
@@ -355,7 +490,10 @@ export class PostStore {
355
490
  signal?.throwIfAborted();
356
491
  return this.dataSource.transaction(async (manager) => {
357
492
  const repository = manager.getRepository(BlogPostEntity);
358
- const post = await repository.findOne({ where: { id }, lock: { mode: 'pessimistic_write' } });
493
+ const post = await repository.findOne({
494
+ where: { id },
495
+ lock: { mode: 'pessimistic_write' },
496
+ });
359
497
  signal?.throwIfAborted();
360
498
  if (!post)
361
499
  throw new BlogNotFoundError('Post not found');
@@ -367,7 +505,9 @@ export class PostStore {
367
505
  }
368
506
  async assertReferences(manager, input, signal) {
369
507
  signal?.throwIfAborted();
370
- const category = await manager.getRepository(BlogCategoryEntity).findOneBy({ id: input.categoryId });
508
+ const category = await manager
509
+ .getRepository(BlogCategoryEntity)
510
+ .findOneBy({ id: input.categoryId });
371
511
  signal?.throwIfAborted();
372
512
  if (!category)
373
513
  throw new BlogNotFoundError('Category not found');
@@ -377,7 +517,9 @@ export class PostStore {
377
517
  throw new BlogConflictError('Post cannot contain more than 20 tags');
378
518
  if (!input.tagIds.length)
379
519
  return;
380
- const tags = await manager.getRepository(BlogTagEntity).countBy({ id: In([...input.tagIds]) });
520
+ const tags = await manager
521
+ .getRepository(BlogTagEntity)
522
+ .countBy({ id: In([...input.tagIds]) });
381
523
  signal?.throwIfAborted();
382
524
  if (tags !== input.tagIds.length)
383
525
  throw new BlogNotFoundError('Tag not found');
@@ -387,7 +529,9 @@ export class PostStore {
387
529
  await manager.getRepository(BlogPostTagEntity).delete({ postId });
388
530
  signal?.throwIfAborted();
389
531
  if (tagIds.length) {
390
- await manager.getRepository(BlogPostTagEntity).insert(tagIds.map((tagId) => ({ postId, tagId })));
532
+ await manager
533
+ .getRepository(BlogPostTagEntity)
534
+ .insert(tagIds.map((tagId) => ({ postId, tagId })));
391
535
  signal?.throwIfAborted();
392
536
  }
393
537
  }
@@ -396,10 +540,14 @@ export class PostStore {
396
540
  if (!posts.length)
397
541
  return [];
398
542
  const postIds = posts.map(({ id }) => id);
399
- const links = await manager.getRepository(BlogPostTagEntity).findBy({ postId: In(postIds) });
543
+ const links = await manager
544
+ .getRepository(BlogPostTagEntity)
545
+ .findBy({ postId: In(postIds) });
400
546
  signal?.throwIfAborted();
401
547
  const tagIds = [...new Set(links.map(({ tagId }) => tagId))];
402
- const tags = tagIds.length ? await manager.getRepository(BlogTagEntity).findBy({ id: In(tagIds) }) : [];
548
+ const tags = tagIds.length
549
+ ? await manager.getRepository(BlogTagEntity).findBy({ id: In(tagIds) })
550
+ : [];
403
551
  signal?.throwIfAborted();
404
552
  const tagById = new Map(tags.map((tag) => [tag.id, tag]));
405
553
  const tagsByPost = new Map();
@@ -411,15 +559,21 @@ export class PostStore {
411
559
  current.push(tag);
412
560
  tagsByPost.set(link.postId, current);
413
561
  }
414
- return posts.map((post) => ({ ...post, tags: tagsByPost.get(post.id) ?? [] }));
562
+ return posts.map((post) => ({
563
+ ...post,
564
+ tags: tagsByPost.get(post.id) ?? [],
565
+ }));
415
566
  }
416
567
  async listRelated(postId, limit, signal) {
417
- const currentLinks = await this.dataSource.getRepository(BlogPostTagEntity).findBy({ postId });
568
+ const currentLinks = await this.dataSource
569
+ .getRepository(BlogPostTagEntity)
570
+ .findBy({ postId });
418
571
  signal?.throwIfAborted();
419
572
  if (!currentLinks.length)
420
573
  return [];
421
574
  const tagIds = currentLinks.map(({ tagId }) => tagId);
422
- const ranked = await this.dataSource.getRepository(BlogPostTagEntity)
575
+ const ranked = await this.dataSource
576
+ .getRepository(BlogPostTagEntity)
423
577
  .createQueryBuilder('postTag')
424
578
  .select('postTag.postId', 'postId')
425
579
  .addSelect('COUNT(postTag.tagId)', 'sharedTagCount')
@@ -439,10 +593,12 @@ export class PostStore {
439
593
  const ids = ranked.map(({ postId: id }) => id);
440
594
  if (!ids.length)
441
595
  return [];
442
- const posts = await this.dataSource.getRepository(BlogPostEntity).findBy({ id: In(ids) });
596
+ const posts = await this.dataSource
597
+ .getRepository(BlogPostEntity)
598
+ .findBy({ id: In(ids) });
443
599
  signal?.throwIfAborted();
444
600
  const byId = new Map(posts.map((post) => [post.id, post]));
445
- return this.withTags(ids.flatMap((id) => byId.get(id) ? [byId.get(id)] : []), this.dataSource.manager, signal);
601
+ return this.withTags(ids.flatMap((id) => (byId.get(id) ? [byId.get(id)] : [])), this.dataSource.manager, signal);
446
602
  }
447
603
  }
448
604
  function parsePostCount(value) {
@@ -459,13 +615,21 @@ function assertPublishableContent(input) {
459
615
  }
460
616
  function postChangedFields(current, input) {
461
617
  const changed = [];
462
- for (const field of ['categoryId', 'title', 'slug', 'summary', 'coverUrl', 'content']) {
618
+ for (const field of [
619
+ 'categoryId',
620
+ 'title',
621
+ 'slug',
622
+ 'summary',
623
+ 'coverUrl',
624
+ 'content',
625
+ ]) {
463
626
  if (current[field] !== input[field])
464
627
  changed.push(field);
465
628
  }
466
629
  const currentTags = current.tags.map(({ id }) => id).sort();
467
630
  const nextTags = [...input.tagIds].sort();
468
- if (currentTags.length !== nextTags.length || currentTags.some((id, index) => id !== nextTags[index])) {
631
+ if (currentTags.length !== nextTags.length ||
632
+ currentTags.some((id, index) => id !== nextTags[index])) {
469
633
  changed.push('tagIds');
470
634
  }
471
635
  return changed;
@@ -474,18 +638,32 @@ function escapeLikePattern(value) {
474
638
  return value.replace(/[\\%_]/g, (character) => `\\${character}`);
475
639
  }
476
640
  function archivePublishedAtRange(options) {
477
- const isRange = options.startYear !== undefined && options.startMonth !== undefined
478
- && options.endYear !== undefined && options.endMonth !== undefined;
641
+ const isRange = options.startYear !== undefined &&
642
+ options.startMonth !== undefined &&
643
+ options.endYear !== undefined &&
644
+ options.endMonth !== undefined;
479
645
  if (!isRange && options.year === undefined)
480
646
  return undefined;
481
- const startYear = isRange ? options.startYear : options.year;
482
- const startMonth = isRange ? options.startMonth - 1 : options.month === undefined ? 0 : options.month - 1;
483
- const selectedEndYear = isRange ? options.endYear : options.year;
484
- const selectedEndMonth = isRange ? options.endMonth : options.month;
647
+ const startYear = isRange
648
+ ? options.startYear
649
+ : options.year;
650
+ const startMonth = isRange
651
+ ? options.startMonth - 1
652
+ : options.month === undefined
653
+ ? 0
654
+ : options.month - 1;
655
+ const selectedEndYear = isRange
656
+ ? options.endYear
657
+ : options.year;
658
+ const selectedEndMonth = isRange
659
+ ? options.endMonth
660
+ : options.month;
485
661
  const endYear = selectedEndMonth === undefined || selectedEndMonth === 12
486
662
  ? selectedEndYear + 1
487
663
  : selectedEndYear;
488
- const endMonth = selectedEndMonth === undefined || selectedEndMonth === 12 ? 0 : selectedEndMonth;
664
+ const endMonth = selectedEndMonth === undefined || selectedEndMonth === 12
665
+ ? 0
666
+ : selectedEndMonth;
489
667
  return And(MoreThanOrEqual(new Date(Date.UTC(startYear, startMonth, 1))), LessThan(new Date(Date.UTC(endYear, endMonth, 1))));
490
668
  }
491
669
  function aggregateArchiveMonths(posts, limit) {