@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,36 +1,14 @@
1
- import { z } from 'zod';
1
+ import { blogManagementDeletedSchema, blogManagementIdInputSchema, blogManagementPageInputSchema, blogManagementPageItemResponseSchema, blogManagementPageListInputSchema, blogManagementPageListResponseSchema, blogManagementPageUpdateInputSchema, } from '@zlooks.cn/blog-shared';
2
2
  import { BLOG_MCP_TOOLS } from '../contracts/mcp.js';
3
- import { databaseInteger, deletedSchema, idInput, pageSchema, pageView, readTool, slug, writeTool, } from './tool-support.js';
4
- const position = z.enum(['navigation', 'sidebar']).nullable();
5
- const input = z.strictObject({
6
- title: z.string().trim().min(1).max(200),
7
- slug: slug(200),
8
- summary: z.string().trim().min(1).max(500),
9
- content: z.string().min(1).max(1_000_000),
10
- position,
11
- sortOrder: databaseInteger,
12
- });
13
- const listInput = z.strictObject({
14
- limit: z.number().int().min(1).max(100).default(50),
15
- cursor: z.uuid().optional(),
16
- status: z.enum(['draft', 'published', 'archived']).optional(),
17
- position: position.optional(),
18
- });
3
+ import { readTool, writeTool, } from './tool-support.js';
19
4
  export function createPageTools(blog) {
20
5
  return {
21
- [BLOG_MCP_TOOLS.listPages]: readTool(BLOG_MCP_TOOLS.listPages, '筛选并分页列出博客单页', listInput, z.strictObject({ items: z.array(pageSchema).max(100), nextCursor: z.uuid().nullable() }), async (value, signal) => {
22
- const page = await blog.listPages(value, signal);
23
- return { items: page.items.map(pageView), nextCursor: page.nextCursor };
24
- }),
25
- [BLOG_MCP_TOOLS.readPage]: readTool(BLOG_MCP_TOOLS.readPage, '读取博客单页', idInput, z.strictObject({ item: pageSchema }), async ({ id }, signal) => ({ item: pageView(await blog.readPage(id, signal)) })),
26
- [BLOG_MCP_TOOLS.createPage]: writeTool(BLOG_MCP_TOOLS.createPage, '创建博客单页草稿', input, z.strictObject({ item: pageSchema }), async (value, signal) => ({ item: pageView(await blog.createPage(value, signal)) })),
27
- [BLOG_MCP_TOOLS.updatePage]: writeTool(BLOG_MCP_TOOLS.updatePage, '修改博客单页', input.extend({ id: z.uuid() }), z.strictObject({ item: pageSchema }), async ({ id, ...value }, signal) => ({ item: pageView(await blog.updatePage(id, value, signal)) })),
28
- [BLOG_MCP_TOOLS.publishPage]: writeTool(BLOG_MCP_TOOLS.publishPage, '发布博客单页', idInput, z.strictObject({ item: pageSchema }), async ({ id }, signal) => ({ item: pageView(await blog.publishPage(id, signal)) })),
29
- [BLOG_MCP_TOOLS.archivePage]: writeTool(BLOG_MCP_TOOLS.archivePage, '归档博客单页', idInput, z.strictObject({ item: pageSchema }), async ({ id }, signal) => ({ item: pageView(await blog.archivePage(id, signal)) })),
30
- [BLOG_MCP_TOOLS.deletePage]: writeTool(BLOG_MCP_TOOLS.deletePage, '删除博客单页', idInput, deletedSchema, async ({ id }, signal) => {
31
- await blog.deletePage(id, signal);
32
- return { deleted: true, id };
33
- }, true),
6
+ [BLOG_MCP_TOOLS.listPages]: readTool(BLOG_MCP_TOOLS.listPages, '筛选并分页列出博客单页', blogManagementPageListInputSchema, blogManagementPageListResponseSchema, blog.listPages),
7
+ [BLOG_MCP_TOOLS.createPage]: writeTool(BLOG_MCP_TOOLS.createPage, '创建博客单页草稿', blogManagementPageInputSchema, blogManagementPageItemResponseSchema, blog.createPage),
8
+ [BLOG_MCP_TOOLS.updatePage]: writeTool(BLOG_MCP_TOOLS.updatePage, '修改博客单页', blogManagementPageUpdateInputSchema, blogManagementPageItemResponseSchema, blog.updatePage),
9
+ [BLOG_MCP_TOOLS.publishPage]: writeTool(BLOG_MCP_TOOLS.publishPage, '发布博客单页', blogManagementIdInputSchema, blogManagementPageItemResponseSchema, blog.publishPage),
10
+ [BLOG_MCP_TOOLS.archivePage]: writeTool(BLOG_MCP_TOOLS.archivePage, '归档博客单页', blogManagementIdInputSchema, blogManagementPageItemResponseSchema, blog.archivePage),
11
+ [BLOG_MCP_TOOLS.deletePage]: writeTool(BLOG_MCP_TOOLS.deletePage, '删除博客单页', blogManagementIdInputSchema, blogManagementDeletedSchema, blog.deletePage, true),
34
12
  };
35
13
  }
36
14
  //# sourceMappingURL=page-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-tools.js","sourceRoot":"","sources":["../../src/mcp/page-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-tools.js","sourceRoot":"","sources":["../../src/mcp/page-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,oCAAoC,EACpC,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,QAAQ,EACR,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,eAAe,CAAC,IAA8B;IAC5D,OAAO;QACL,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,QAAQ,CAClC,cAAc,CAAC,SAAS,EACxB,aAAa,EACb,iCAAiC,EACjC,oCAAoC,EACpC,IAAI,CAAC,SAAS,CACf;QACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CACpC,cAAc,CAAC,UAAU,EACzB,UAAU,EACV,6BAA6B,EAC7B,oCAAoC,EACpC,IAAI,CAAC,UAAU,CAChB;QACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CACpC,cAAc,CAAC,UAAU,EACzB,QAAQ,EACR,mCAAmC,EACnC,oCAAoC,EACpC,IAAI,CAAC,UAAU,CAChB;QACD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CACrC,cAAc,CAAC,WAAW,EAC1B,QAAQ,EACR,2BAA2B,EAC3B,oCAAoC,EACpC,IAAI,CAAC,WAAW,CACjB;QACD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CACrC,cAAc,CAAC,WAAW,EAC1B,QAAQ,EACR,2BAA2B,EAC3B,oCAAoC,EACpC,IAAI,CAAC,WAAW,CACjB;QACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CACpC,cAAc,CAAC,UAAU,EACzB,QAAQ,EACR,2BAA2B,EAC3B,2BAA2B,EAC3B,IAAI,CAAC,UAAU,EACf,IAAI,CACL;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { BlogApplication } from '../blog/blog-application.js';
2
- export declare function createPostTools(blog: BlogApplication): {
1
+ import { type BlogManagementToolClient } from './tool-support.js';
2
+ export declare function createPostTools(blog: BlogManagementToolClient): {
3
3
  "list-post": import("@hile/mcp").McpToolDefinition<{
4
4
  limit?: number | undefined;
5
5
  cursor?: string | undefined;
@@ -41,11 +41,6 @@ export declare function createPostTools(blog: BlogApplication): {
41
41
  limit: number;
42
42
  status?: "archived" | "draft" | "published" | undefined;
43
43
  }>;
44
- "read-post": import("@hile/mcp").McpToolDefinition<{
45
- id: string;
46
- }, {
47
- id: string;
48
- }>;
49
44
  "audit-post-content": import("@hile/mcp").McpToolDefinition<{
50
45
  categoryId: string;
51
46
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"post-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/post-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAuEnE,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDjD"}
1
+ {"version":3,"file":"post-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/post-tools.ts"],"names":[],"mappings":"AAiBA,OAAO,EACL,KAAK,wBAAwB,EAG9B,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,eAAe,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwF7D"}
@@ -1,122 +1,34 @@
1
+ import { BlogPostContentBlockedError, blogManagementDeletedSchema, blogManagementIdInputSchema, blogManagementPostArchiveInputSchema, blogManagementPostArchiveSchema, blogManagementPostAuditInputSchema, blogManagementPostAuditSchema, blogManagementPostInputSchema, blogManagementPostItemResponseSchema, blogManagementPostListInputSchema, blogManagementPostListResponseSchema, blogManagementPostSearchInputSchema, blogManagementPostSearchResponseSchema, blogManagementPostUpdateInputSchema, } from '@zlooks.cn/blog-shared';
1
2
  import { BLOG_MCP_TOOLS } from '../contracts/mcp.js';
2
- import { z } from 'zod';
3
- import { PostContentBlockedError } from '../blog/errors.js';
4
- import { POST_CONTENT_AUDIT_FINDING_LIMIT } from '../blog/post-content-audit.js';
5
- import { assetUrl, deletedSchema, idInput, nullableText, postSchema, postSearchSchema, postSearchView, postView, readTool, slug, writeTool } from './tool-support.js';
6
- const input = z.strictObject({
7
- categoryId: z.uuid(), title: z.string().trim().min(1).max(200), slug: slug(200),
8
- summary: nullableText(500).describe('文章摘要。发布前应尽可能填写;无法从文章可靠概括时使用 null,不得编造信息。'),
9
- coverUrl: assetUrl.nullable().describe('文章封面图 URL。发布前应尽可能填写;只能使用用户提供或经验证可用的 HTTP(S) 资源,不得编造 URL,无法可靠获取时使用 null。'),
10
- content: z.string().min(1).max(1_000_000),
11
- tagIds: z.array(z.uuid()).max(20)
12
- .refine((ids) => new Set(ids).size === ids.length, 'Tag IDs must be unique')
13
- .describe('文章关联的标签 ID。发布前建议从 blog.list-tag 的现有标签中选择 1 至 5 个准确标签;硬上限为 20,不得重复或编造 ID。'),
14
- });
15
- const listInput = z.strictObject({ limit: z.number().int().min(1).max(100).default(50), cursor: z.uuid().optional(), status: z.enum(['draft', 'published', 'archived']).optional(), categoryId: z.uuid().optional() });
16
- const searchInput = z.strictObject({
17
- query: z.string().trim().min(2).max(100),
18
- limit: z.number().int().min(1).max(20).default(10),
19
- status: z.enum(['draft', 'published', 'archived']).optional(),
20
- });
21
- const auditInput = input.pick({ categoryId: true, title: true, summary: true, content: true, tagIds: true });
22
- const auditFindingSchema = z.strictObject({
23
- ruleId: z.string().min(1).max(100),
24
- severity: z.enum(['block', 'warning', 'info']),
25
- source: z.enum(['project', 'search-engine', 'heuristic']),
26
- field: z.enum(['title', 'summary', 'content', 'category', 'tags']),
27
- message: z.string().min(1).max(500),
28
- suggestion: z.string().min(1).max(500),
29
- location: z.strictObject({ line: z.number().int().min(1), column: z.number().int().min(1) }).optional(),
30
- });
31
- const auditOutput = z.strictObject({
32
- publishable: z.boolean(),
33
- findings: z.array(auditFindingSchema).max(POST_CONTENT_AUDIT_FINDING_LIMIT),
34
- });
35
- const archiveInput = z.strictObject({
36
- limit: z.number().int().min(1).max(100).default(50),
37
- monthLimit: z.number().int().min(1).max(120).default(12),
38
- cursor: z.uuid().optional(),
39
- year: z.number().int().min(1970).max(9_999).optional(),
40
- month: z.number().int().min(1).max(12).optional(),
41
- startYear: z.number().int().min(1970).max(9_999).optional(),
42
- startMonth: z.number().int().min(1).max(12).optional(),
43
- endYear: z.number().int().min(1970).max(9_999).optional(),
44
- endMonth: z.number().int().min(1).max(12).optional(),
45
- }).superRefine((value, context) => {
46
- if (value.month !== undefined && value.year === undefined) {
47
- context.addIssue({ code: 'custom', message: 'Month requires a year', path: ['year'] });
48
- }
49
- const range = [value.startYear, value.startMonth, value.endYear, value.endMonth];
50
- const count = range.filter((item) => item !== undefined).length;
51
- if (count > 0 && count < 4) {
52
- context.addIssue({ code: 'custom', message: 'Range requires complete start and end months', path: ['startYear'] });
53
- }
54
- if (count > 0 && (value.year !== undefined || value.month !== undefined)) {
55
- context.addIssue({ code: 'custom', message: 'Single selection and range are mutually exclusive', path: ['startYear'] });
56
- }
57
- if (count === 4 && value.startYear * 12 + value.startMonth
58
- > value.endYear * 12 + value.endMonth) {
59
- context.addIssue({ code: 'custom', message: 'Range start must not follow its end', path: ['endYear'] });
60
- }
61
- });
62
- const archiveOutput = z.strictObject({
63
- items: z.array(postSearchSchema).max(100),
64
- months: z.array(z.strictObject({
65
- year: z.number().int().min(1970).max(9_999),
66
- month: z.number().int().min(1).max(12),
67
- count: z.number().int().min(1),
68
- })).max(120),
69
- nextCursor: z.uuid().nullable(),
70
- total: z.number().int().min(0),
71
- });
3
+ import { readTool, writeTool, } from './tool-support.js';
72
4
  export function createPostTools(blog) {
73
5
  return {
74
- [BLOG_MCP_TOOLS.listPosts]: readTool(BLOG_MCP_TOOLS.listPosts, '筛选并分页列出博客文章', listInput, z.strictObject({ items: z.array(postSchema).max(100), nextCursor: z.uuid().nullable() }), async (value, signal) => { const page = await blog.listPosts(value, signal); return { items: page.items.map(postView), nextCursor: page.nextCursor }; }),
75
- [BLOG_MCP_TOOLS.listPostArchive]: readTool(BLOG_MCP_TOOLS.listPostArchive, '按年月分页读取已发布文章归档', archiveInput, archiveOutput, async (value, signal) => {
76
- const archive = await blog.listPublicPostArchive({
77
- limit: value.limit ?? 50,
78
- monthLimit: value.monthLimit ?? 12,
79
- ...(value.cursor ? { cursor: value.cursor } : {}),
80
- ...(value.year !== undefined ? { year: value.year } : {}),
81
- ...(value.month !== undefined ? { month: value.month } : {}),
82
- ...(value.startYear !== undefined ? { startYear: value.startYear } : {}),
83
- ...(value.startMonth !== undefined ? { startMonth: value.startMonth } : {}),
84
- ...(value.endYear !== undefined ? { endYear: value.endYear } : {}),
85
- ...(value.endMonth !== undefined ? { endMonth: value.endMonth } : {}),
86
- }, signal);
87
- return {
88
- items: archive.items.map(postSearchView),
89
- months: [...archive.months],
90
- nextCursor: archive.nextCursor,
91
- total: archive.total,
92
- };
93
- }),
94
- [BLOG_MCP_TOOLS.searchPosts]: readTool(BLOG_MCP_TOOLS.searchPosts, '按标题、摘要或正文搜索博客文章', searchInput, z.strictObject({ items: z.array(postSearchSchema).max(20) }), async (value, signal) => ({ items: (await blog.searchPosts({ query: value.query, limit: value.limit ?? 10, ...(value.status ? { status: value.status } : {}) }, signal)).map(postSearchView) })),
95
- [BLOG_MCP_TOOLS.readPost]: readTool(BLOG_MCP_TOOLS.readPost, '读取博客文章', idInput, z.strictObject({ item: postSchema }), async ({ id }, signal) => ({ item: postView(await blog.readPost(id, signal)) })),
96
- [BLOG_MCP_TOOLS.auditPostContent]: readTool(BLOG_MCP_TOOLS.auditPostContent, '检查博客文章内容与分类标签是否满足发布规范', auditInput, auditOutput, async (value, signal) => {
97
- const report = await blog.auditPostContent(value, signal);
98
- return { publishable: report.publishable, findings: [...report.findings] };
99
- }),
100
- [BLOG_MCP_TOOLS.createPost]: writeTool(BLOG_MCP_TOOLS.createPost, '创建博客文章草稿', input, z.strictObject({ item: postSchema }), async (value, signal) => ({ item: postView(await blog.createPost(value, signal)) })),
101
- [BLOG_MCP_TOOLS.updatePost]: writeTool(BLOG_MCP_TOOLS.updatePost, '修改博客文章', input.extend({ id: z.uuid() }), z.strictObject({ item: postSchema }), async ({ id, ...value }, signal) => ({ item: postView(await blog.updatePost(id, value, signal)) })),
102
- [BLOG_MCP_TOOLS.publishPost]: writeTool(BLOG_MCP_TOOLS.publishPost, '发布博客文章', idInput, z.strictObject({ item: postSchema }), async ({ id }, signal) => ({ item: postView(await blog.publishPost(id, signal)) }), false, {
103
- recover: (error, { id }) => error instanceof PostContentBlockedError ? {
104
- message: '文章未通过发布审查;请读取最新文章,只修复 block 项,更新并重新审查后重试发布',
105
- structuredContent: {
106
- code: 'POST_CONTENT_BLOCKED',
107
- retryable: true,
108
- postId: id,
109
- nextAction: 'audit-update-retry',
110
- maxAutomaticAttempts: 3,
111
- audit: {
112
- publishable: error.report.publishable,
113
- findings: [...error.report.findings],
6
+ [BLOG_MCP_TOOLS.listPosts]: readTool(BLOG_MCP_TOOLS.listPosts, '筛选并分页列出博客文章', blogManagementPostListInputSchema, blogManagementPostListResponseSchema, blog.listPosts),
7
+ [BLOG_MCP_TOOLS.listPostArchive]: readTool(BLOG_MCP_TOOLS.listPostArchive, '按年月分页读取已发布文章归档', blogManagementPostArchiveInputSchema, blogManagementPostArchiveSchema, blog.listPostArchive),
8
+ [BLOG_MCP_TOOLS.searchPosts]: readTool(BLOG_MCP_TOOLS.searchPosts, '按标题、摘要或正文搜索博客文章', blogManagementPostSearchInputSchema, blogManagementPostSearchResponseSchema, blog.searchPosts),
9
+ [BLOG_MCP_TOOLS.auditPostContent]: readTool(BLOG_MCP_TOOLS.auditPostContent, '检查博客文章内容与分类标签是否满足发布规范', blogManagementPostAuditInputSchema, blogManagementPostAuditSchema, blog.auditPostContent),
10
+ [BLOG_MCP_TOOLS.createPost]: writeTool(BLOG_MCP_TOOLS.createPost, '创建博客文章草稿', blogManagementPostInputSchema, blogManagementPostItemResponseSchema, blog.createPost),
11
+ [BLOG_MCP_TOOLS.updatePost]: writeTool(BLOG_MCP_TOOLS.updatePost, '修改博客文章', blogManagementPostUpdateInputSchema, blogManagementPostItemResponseSchema, blog.updatePost),
12
+ [BLOG_MCP_TOOLS.publishPost]: writeTool(BLOG_MCP_TOOLS.publishPost, '发布博客文章', blogManagementIdInputSchema, blogManagementPostItemResponseSchema, blog.publishPost, false, {
13
+ recover: (error, { id }) => error instanceof BlogPostContentBlockedError
14
+ ? {
15
+ message: '文章未通过发布审查;请读取最新文章,只修复 block 项,更新并重新审查后重试发布',
16
+ structuredContent: {
17
+ code: 'POST_CONTENT_BLOCKED',
18
+ retryable: true,
19
+ postId: id,
20
+ nextAction: 'audit-update-retry',
21
+ maxAutomaticAttempts: 3,
22
+ audit: {
23
+ publishable: error.report.publishable,
24
+ findings: [...error.report.findings],
25
+ },
114
26
  },
115
- },
116
- } : undefined,
27
+ }
28
+ : undefined,
117
29
  }),
118
- [BLOG_MCP_TOOLS.archivePost]: writeTool(BLOG_MCP_TOOLS.archivePost, '归档博客文章', idInput, z.strictObject({ item: postSchema }), async ({ id }, signal) => ({ item: postView(await blog.archivePost(id, signal)) })),
119
- [BLOG_MCP_TOOLS.deletePost]: writeTool(BLOG_MCP_TOOLS.deletePost, '删除博客文章', idInput, deletedSchema, async ({ id }, signal) => { await blog.deletePost(id, signal); return { deleted: true, id }; }, true),
30
+ [BLOG_MCP_TOOLS.archivePost]: writeTool(BLOG_MCP_TOOLS.archivePost, '归档博客文章', blogManagementIdInputSchema, blogManagementPostItemResponseSchema, blog.archivePost),
31
+ [BLOG_MCP_TOOLS.deletePost]: writeTool(BLOG_MCP_TOOLS.deletePost, '删除博客文章', blogManagementIdInputSchema, blogManagementDeletedSchema, blog.deletePost, true),
120
32
  };
121
33
  }
122
34
  //# sourceMappingURL=post-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-tools.js","sourceRoot":"","sources":["../../src/mcp/post-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"post-tools.js","sourceRoot":"","sources":["../../src/mcp/post-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,oCAAoC,EACpC,+BAA+B,EAC/B,kCAAkC,EAClC,6BAA6B,EAC7B,6BAA6B,EAC7B,oCAAoC,EACpC,iCAAiC,EACjC,oCAAoC,EACpC,mCAAmC,EACnC,sCAAsC,EACtC,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,QAAQ,EACR,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,eAAe,CAAC,IAA8B;IAC5D,OAAO;QACL,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,QAAQ,CAClC,cAAc,CAAC,SAAS,EACxB,aAAa,EACb,iCAAiC,EACjC,oCAAoC,EACpC,IAAI,CAAC,SAAS,CACf;QACD,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,QAAQ,CACxC,cAAc,CAAC,eAAe,EAC9B,gBAAgB,EAChB,oCAAoC,EACpC,+BAA+B,EAC/B,IAAI,CAAC,eAAe,CACrB;QACD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,QAAQ,CACpC,cAAc,CAAC,WAAW,EAC1B,iBAAiB,EACjB,mCAAmC,EACnC,sCAAsC,EACtC,IAAI,CAAC,WAAW,CACjB;QACD,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CACzC,cAAc,CAAC,gBAAgB,EAC/B,uBAAuB,EACvB,kCAAkC,EAClC,6BAA6B,EAC7B,IAAI,CAAC,gBAAgB,CACtB;QACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CACpC,cAAc,CAAC,UAAU,EACzB,UAAU,EACV,6BAA6B,EAC7B,oCAAoC,EACpC,IAAI,CAAC,UAAU,CAChB;QACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CACpC,cAAc,CAAC,UAAU,EACzB,QAAQ,EACR,mCAAmC,EACnC,oCAAoC,EACpC,IAAI,CAAC,UAAU,CAChB;QACD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CACrC,cAAc,CAAC,WAAW,EAC1B,QAAQ,EACR,2BAA2B,EAC3B,oCAAoC,EACpC,IAAI,CAAC,WAAW,EAChB,KAAK,EACL;YACE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CACzB,KAAK,YAAY,2BAA2B;gBAC1C,CAAC,CAAC;oBACE,OAAO,EACL,4CAA4C;oBAC9C,iBAAiB,EAAE;wBACjB,IAAI,EAAE,sBAAsB;wBAC5B,SAAS,EAAE,IAAI;wBACf,MAAM,EAAE,EAAE;wBACV,UAAU,EAAE,oBAAoB;wBAChC,oBAAoB,EAAE,CAAC;wBACvB,KAAK,EAAE;4BACL,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;4BACrC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;yBACrC;qBACF;iBACF;gBACH,CAAC,CAAC,SAAS;SAChB,CACF;QACD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CACrC,cAAc,CAAC,WAAW,EAC1B,QAAQ,EACR,2BAA2B,EAC3B,oCAAoC,EACpC,IAAI,CAAC,WAAW,CACjB;QACD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,CACpC,cAAc,CAAC,UAAU,EACzB,QAAQ,EACR,2BAA2B,EAC3B,2BAA2B,EAC3B,IAAI,CAAC,UAAU,EACf,IAAI,CACL;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { BlogApplication } from '../blog/blog-application.js';
2
- export declare function createTagTools(blog: BlogApplication): {
1
+ import { type BlogManagementToolClient } from './tool-support.js';
2
+ export declare function createTagTools(blog: BlogManagementToolClient): {
3
3
  "list-tag": import("@hile/mcp").McpToolDefinition<{
4
4
  limit?: number | undefined;
5
5
  cursor?: string | undefined;
@@ -7,11 +7,6 @@ export declare function createTagTools(blog: BlogApplication): {
7
7
  limit: number;
8
8
  cursor?: string | undefined;
9
9
  }>;
10
- "read-tag": import("@hile/mcp").McpToolDefinition<{
11
- id: string;
12
- }, {
13
- id: string;
14
- }>;
15
10
  "create-tag": import("@hile/mcp").McpToolDefinition<{
16
11
  name: string;
17
12
  slug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tag-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tag-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAInE,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMhD"}
1
+ {"version":3,"file":"tag-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tag-tools.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,wBAAwB,EAG9B,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,cAAc,CAAC,IAAI,EAAE,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC5D"}
@@ -1,14 +1,12 @@
1
+ import { blogManagementDeletedSchema, blogManagementIdInputSchema, blogManagementListInputSchema, blogManagementTagInputSchema, blogManagementTagItemResponseSchema, blogManagementTagListResponseSchema, blogManagementTagUpdateInputSchema, } from '@zlooks.cn/blog-shared';
1
2
  import { BLOG_MCP_TOOLS } from '../contracts/mcp.js';
2
- import { z } from 'zod';
3
- import { deletedSchema, idInput, listInput, readTool, slug, tagSchema, tagView, writeTool } from './tool-support.js';
4
- const input = z.strictObject({ name: z.string().trim().min(1).max(100), slug: slug(120) });
3
+ import { readTool, writeTool, } from './tool-support.js';
5
4
  export function createTagTools(blog) {
6
5
  return {
7
- [BLOG_MCP_TOOLS.listTags]: readTool(BLOG_MCP_TOOLS.listTags, '分页列出博客标签', listInput, z.strictObject({ items: z.array(tagSchema).max(100), nextCursor: z.uuid().nullable() }), async ({ limit, cursor }, signal) => { const page = await blog.listTagPage(limit, cursor, signal); return { items: page.items.map(tagView), nextCursor: page.nextCursor }; }),
8
- [BLOG_MCP_TOOLS.readTag]: readTool(BLOG_MCP_TOOLS.readTag, '读取博客标签', idInput, z.strictObject({ item: tagSchema }), async ({ id }, signal) => ({ item: tagView(await blog.readTag(id, signal)) })),
9
- [BLOG_MCP_TOOLS.createTag]: writeTool(BLOG_MCP_TOOLS.createTag, '创建博客标签', input, z.strictObject({ item: tagSchema }), async (value, signal) => ({ item: tagView(await blog.createTag(value, signal)) })),
10
- [BLOG_MCP_TOOLS.updateTag]: writeTool(BLOG_MCP_TOOLS.updateTag, '修改博客标签', input.extend({ id: z.uuid() }), z.strictObject({ item: tagSchema }), async ({ id, ...value }, signal) => ({ item: tagView(await blog.updateTag(id, value, signal)) })),
11
- [BLOG_MCP_TOOLS.deleteTag]: writeTool(BLOG_MCP_TOOLS.deleteTag, '删除博客标签', idInput, deletedSchema, async ({ id }, signal) => { await blog.deleteTag(id, signal); return { deleted: true, id }; }, true),
6
+ [BLOG_MCP_TOOLS.listTags]: readTool(BLOG_MCP_TOOLS.listTags, '分页列出博客标签', blogManagementListInputSchema, blogManagementTagListResponseSchema, blog.listTags),
7
+ [BLOG_MCP_TOOLS.createTag]: writeTool(BLOG_MCP_TOOLS.createTag, '创建博客标签', blogManagementTagInputSchema, blogManagementTagItemResponseSchema, blog.createTag),
8
+ [BLOG_MCP_TOOLS.updateTag]: writeTool(BLOG_MCP_TOOLS.updateTag, '修改博客标签', blogManagementTagUpdateInputSchema, blogManagementTagItemResponseSchema, blog.updateTag),
9
+ [BLOG_MCP_TOOLS.deleteTag]: writeTool(BLOG_MCP_TOOLS.deleteTag, '删除博客标签', blogManagementIdInputSchema, blogManagementDeletedSchema, blog.deleteTag, true),
12
10
  };
13
11
  }
14
12
  //# sourceMappingURL=tag-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tag-tools.js","sourceRoot":"","sources":["../../src/mcp/tag-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAErH,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3F,MAAM,UAAU,cAAc,CAAC,IAAqB;IAAI,OAAO;QAC7D,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1V,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACjM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACxM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAChP,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAa,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;KAChN,CAAC;AAAC,CAAC"}
1
+ {"version":3,"file":"tag-tools.js","sourceRoot":"","sources":["../../src/mcp/tag-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,mCAAmC,EACnC,mCAAmC,EACnC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,QAAQ,EACR,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,UAAU,cAAc,CAAC,IAA8B;IAC3D,OAAO;QACL,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,CACjC,cAAc,CAAC,QAAQ,EACvB,UAAU,EACV,6BAA6B,EAC7B,mCAAmC,EACnC,IAAI,CAAC,QAAQ,CACd;QACD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CACnC,cAAc,CAAC,SAAS,EACxB,QAAQ,EACR,4BAA4B,EAC5B,mCAAmC,EACnC,IAAI,CAAC,SAAS,CACf;QACD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CACnC,cAAc,CAAC,SAAS,EACxB,QAAQ,EACR,kCAAkC,EAClC,mCAAmC,EACnC,IAAI,CAAC,SAAS,CACf;QACD,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CACnC,cAAc,CAAC,SAAS,EACxB,QAAQ,EACR,2BAA2B,EAC3B,2BAA2B,EAC3B,IAAI,CAAC,SAAS,EACd,IAAI,CACL;KACF,CAAC;AACJ,CAAC"}
@@ -1,12 +1,5 @@
1
- import type { BlogThemeControl } from '../themes/theme-control.js';
2
- export declare function createThemeTools(control: BlogThemeControl): {
3
- "list-theme": import("@hile/mcp").McpToolDefinition<Record<string, never>, Record<string, never>>;
4
- "read-theme-selection": import("@hile/mcp").McpToolDefinition<Record<string, never>, Record<string, never>>;
5
- "read-theme-status": import("@hile/mcp").McpToolDefinition<{
6
- themeId?: string | undefined;
7
- }, {
8
- themeId?: string | undefined;
9
- }>;
1
+ import { type BlogManagementToolClient } from './tool-support.js';
2
+ export declare function createThemeTools(client: BlogManagementToolClient): {
10
3
  "select-theme": import("@hile/mcp").McpToolDefinition<{
11
4
  themeId: string;
12
5
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"theme-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/theme-tools.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAgBnE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB;;;;;;;;;;;;;EAyCzD"}
1
+ {"version":3,"file":"theme-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/theme-tools.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,KAAK,wBAAwB,EAE9B,MAAM,mBAAmB,CAAC;AAK3B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,wBAAwB;;;;;;EAchE"}
@@ -1,60 +1,10 @@
1
- import { defineMcpTool } from '@hile/mcp';
2
- import { blogThemeIdSchema, blogThemeSelectionRevisionSchema } from '@zlooks.cn/blog-shared';
3
- import { z } from 'zod';
4
- import { BLOG_MCP_READ_SCOPE, BLOG_MCP_TOOLS, BLOG_MCP_WRITE_SCOPE } from '../contracts/mcp.js';
5
- import { blogToolDescription } from './tool-descriptions.js';
6
- const themeId = blogThemeIdSchema;
7
- const dateTime = z.iso.datetime({ offset: true });
8
- const selection = z.strictObject({
9
- themeId, revision: blogThemeSelectionRevisionSchema,
10
- updatedAt: dateTime, updatedBy: z.string().min(1).max(256),
11
- });
12
- const theme = z.strictObject({
13
- themeId, displayName: z.string().min(1).max(100), description: z.string().max(500).nullable(),
14
- generation: z.number().int().nonnegative(), buildId: z.string(), instanceCount: z.number().int().nonnegative(),
15
- status: z.enum(['available', 'conflicted', 'selected', 'activating', 'active', 'unavailable', 'fallback']),
16
- });
17
- const catalog = z.strictObject({ reconciledAt: dateTime, selection, themes: z.array(theme).max(100) });
18
- export function createThemeTools(control) {
1
+ import { blogManagementThemeCatalogSchema, blogManagementThemeSelectionInputSchema, } from '@zlooks.cn/blog-shared';
2
+ import { BLOG_MCP_TOOLS } from '../contracts/mcp.js';
3
+ import { writeTool, } from './tool-support.js';
4
+ const selectThemeInputSchema = blogManagementThemeSelectionInputSchema.omit({ actor: true });
5
+ export function createThemeTools(client) {
19
6
  return {
20
- [BLOG_MCP_TOOLS.listThemes]: defineMcpTool({
21
- name: BLOG_MCP_TOOLS.listThemes, title: '列出可用博客主题', description: blogToolDescription(BLOG_MCP_TOOLS.listThemes), inputSchema: z.strictObject({}), outputSchema: catalog,
22
- annotations: { readOnlyHint: true, idempotentHint: true, destructiveHint: false },
23
- access: { scopes: [BLOG_MCP_READ_SCOPE] }, execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
24
- }, async (_input, context) => {
25
- context.signal.throwIfAborted();
26
- const output = control.list();
27
- context.signal.throwIfAborted();
28
- return result(output);
29
- }),
30
- [BLOG_MCP_TOOLS.readThemeSelection]: defineMcpTool({
31
- name: BLOG_MCP_TOOLS.readThemeSelection, title: '读取当前博客主题选择', description: blogToolDescription(BLOG_MCP_TOOLS.readThemeSelection), inputSchema: z.strictObject({}), outputSchema: selection,
32
- annotations: { readOnlyHint: true, idempotentHint: true, destructiveHint: false },
33
- access: { scopes: [BLOG_MCP_READ_SCOPE] }, execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
34
- }, async (_input, context) => {
35
- context.signal.throwIfAborted();
36
- const output = control.readSelection();
37
- context.signal.throwIfAborted();
38
- return result(output);
39
- }),
40
- [BLOG_MCP_TOOLS.readThemeStatus]: defineMcpTool({
41
- name: BLOG_MCP_TOOLS.readThemeStatus, title: '读取博客主题状态', description: blogToolDescription(BLOG_MCP_TOOLS.readThemeStatus), inputSchema: z.strictObject({ themeId: themeId.optional() }), outputSchema: theme,
42
- annotations: { readOnlyHint: true, idempotentHint: true, destructiveHint: false },
43
- access: { scopes: [BLOG_MCP_READ_SCOPE] }, execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
44
- }, async ({ themeId: selectedThemeId }, context) => {
45
- context.signal.throwIfAborted();
46
- const output = control.readStatus(selectedThemeId);
47
- context.signal.throwIfAborted();
48
- return result(output);
49
- }),
50
- [BLOG_MCP_TOOLS.selectTheme]: defineMcpTool({
51
- name: BLOG_MCP_TOOLS.selectTheme, title: '选择博客主题', description: blogToolDescription(BLOG_MCP_TOOLS.selectTheme), inputSchema: z.strictObject({ themeId }), outputSchema: catalog,
52
- annotations: { readOnlyHint: false, idempotentHint: false, destructiveHint: false },
53
- access: { scopes: [BLOG_MCP_WRITE_SCOPE] }, execution: { timeoutMs: 10_000, retry: 'never' },
54
- }, async ({ themeId: selectedThemeId }, context) => {
55
- context.signal.throwIfAborted();
56
- return result(await control.select(selectedThemeId, actorFrom(context.principal), context.signal));
57
- }),
7
+ [BLOG_MCP_TOOLS.selectTheme]: writeTool(BLOG_MCP_TOOLS.selectTheme, '选择博客主题', selectThemeInputSchema, blogManagementThemeCatalogSchema, ({ themeId }, options, principal) => client.selectTheme({ themeId, actor: actorFrom(principal) }, options)),
58
8
  };
59
9
  }
60
10
  function actorFrom(principal) {
@@ -65,7 +15,4 @@ function actorFrom(principal) {
65
15
  throw new Error('MCP principal identity is too long');
66
16
  return actor;
67
17
  }
68
- function result(structuredContent) {
69
- return { content: [{ type: 'text', text: JSON.stringify(structuredContent) }], structuredContent };
70
- }
71
18
  //# sourceMappingURL=theme-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-tools.js","sourceRoot":"","sources":["../../src/mcp/theme-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-tools.js","sourceRoot":"","sources":["../../src/mcp/theme-tools.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,uCAAuC,GACxC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,MAAM,sBAAsB,GAC1B,uCAAuC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAEhE,MAAM,UAAU,gBAAgB,CAAC,MAAgC;IAC/D,OAAO;QACL,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,SAAS,CACrC,cAAc,CAAC,WAAW,EAC1B,QAAQ,EACR,sBAAsB,EACtB,gCAAgC,EAChC,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAClC,MAAM,CAAC,WAAW,CAChB,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,EACxC,OAAO,CACR,CACJ;KACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,SAAmC;IACpD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-descriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,eAAe,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAuD1E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEjE"}
1
+ {"version":3,"file":"tool-descriptions.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-descriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,eAAe,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AA8C1E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAEjE"}
@@ -1,48 +1,39 @@
1
1
  import { BLOG_MCP_TOOLS } from '../contracts/mcp.js';
2
2
  const descriptions = {
3
3
  [BLOG_MCP_TOOLS.listCategories]: '分页读取博客分类目录,按 sortOrder 与稳定 ID 排序,可通过 limit 和 cursor 继续翻页。返回每个分类的名称、slug、说明、排序值与时间戳,不修改任何数据。',
4
- [BLOG_MCP_TOOLS.readCategory]: '按分类 UUID 读取一个博客分类的完整管理记录,包括名称、slug、说明、排序值和创建更新时间。该操作只读,适合在修改、删除或给文章选择分类前核对当前值。',
5
4
  [BLOG_MCP_TOOLS.createCategory]: '创建一个新的博客分类,并写入名称、稳定 slug、可空说明和排序值。成功后返回数据库生成的 UUID 与完整分类记录;slug 将参与公开分类地址,提交前应确认命名准确。',
6
5
  [BLOG_MCP_TOOLS.updateCategory]: '按分类 UUID 完整更新名称、slug、说明和排序值,并返回持久化后的分类记录。该操作会改变分类的公开展示信息;未提供增量合并能力,调用前应先读取并保留未要求修改的字段。',
7
6
  [BLOG_MCP_TOOLS.deleteCategory]: '按分类 UUID 永久删除一个博客分类,成功时返回被删除的 ID。该操作不可恢复且具有破坏性;当仍有文章引用该分类时服务端会拒绝删除,应先重新归类相关文章。',
8
7
  [BLOG_MCP_TOOLS.listTags]: '分页读取博客标签目录,按标签名称与稳定 ID 排序,可通过 limit 和 cursor 继续翻页。返回标签 UUID、名称、slug 与时间戳,不包含文章正文且不会修改任何数据。',
9
- [BLOG_MCP_TOOLS.readTag]: '按标签 UUID 读取一个博客标签的完整管理记录,包括名称、slug 和创建更新时间。该操作只读,适合在修改、删除或为文章填写 tagIds 前核对真实标签 ID。',
10
8
  [BLOG_MCP_TOOLS.createTag]: '创建一个新的博客标签,并写入名称与稳定 slug。成功后返回数据库生成的 UUID 和完整标签记录;为文章选择标签时必须使用这里返回的真实 ID,不得根据名称编造 ID。',
11
9
  [BLOG_MCP_TOOLS.updateTag]: '按标签 UUID 完整更新标签名称与 slug,并返回持久化后的标签记录。该操作会影响所有关联文章展示出的标签信息;调用前应先读取当前值并确认新的公开 slug。',
12
10
  [BLOG_MCP_TOOLS.deleteTag]: '按标签 UUID 永久删除一个博客标签,成功时返回被删除的 ID。该操作不可恢复并会移除文章与该标签的关联关系;执行前应确认没有内容仍依赖这一分类语义。',
13
11
  [BLOG_MCP_TOOLS.listPosts]: '按状态和可选 categoryId 筛选博客文章,并使用 limit、cursor 分页返回完整管理记录。结果包含正文、分类、标签、发布状态和时间戳,适合管理盘点;该操作只读且不改变浏览量。',
14
12
  [BLOG_MCP_TOOLS.listPostArchive]: '读取已发布文章的 UTC 年月归档,可选择单一年月或完整起止年月范围,并分别限制文章和月份数量。返回不含正文的文章摘要、月份计数、总数和分页游标;它是只读归档查询,不会把文章改为 archived 状态。',
15
13
  [BLOG_MCP_TOOLS.searchPosts]: '在博客文章的标题、摘要和正文中执行有界关键词搜索,可按状态过滤并限制最多二十条结果。返回不含正文的紧凑文章记录用于定位候选项;搜索不会修改文章或记录公开浏览。',
16
- [BLOG_MCP_TOOLS.readPost]: '按文章 UUID 读取最新完整管理记录,包括正文、摘要、封面、分类、标签、生命周期状态和时间戳。该操作只读,修改、审查、发布、归档或删除前应使用它确认当前持久化内容。',
17
14
  [BLOG_MCP_TOOLS.auditPostContent]: '对给定标题、摘要、Markdown 正文、分类 ID 和标签 ID 执行确定性的发布前审查,不读取或修改文章记录。返回 publishable 与有界 findings,逐项给出严重级别、字段、规则、建议和可用位置;只有 block 会阻止发布。',
18
15
  [BLOG_MCP_TOOLS.createPost]: '创建一篇 draft 状态的博客文章,并校验真实分类与标签 ID、slug、标题、摘要、封面 URL 和 Markdown 正文。发布准备时应尽可能填写准确 summary、1 至 5 个现有 tagIds 和已验证 coverUrl;无法可靠获得时不要编造。',
19
- [BLOG_MCP_TOOLS.updatePost]: '按文章 UUID 完整替换所有可编辑字段及标签关联,并返回持久化后的最新文章。它不是增量补丁;调用前应先 read-post 并保留未要求修改的字段,已发布文章更新时仍会执行发布内容约束。',
20
- [BLOG_MCP_TOOLS.publishPost]: '发布当前博客文章。调用前应尽可能补齐文章字段,特别是 summary、tagIds 和 coverUrl,但不得编造信息或 URL。服务端会重新审查当前内容。若返回 code=POST_CONTENT_BLOCKED,先调用 read-post 获取最新文章,只修复 audit.findings 中 severity=block 的项目,再调用 update-post 和 audit-post-content;publishable=true 后重试,自动修复最多 3 次。需要作者补充事实时停止。',
16
+ [BLOG_MCP_TOOLS.updatePost]: '按文章 UUID 完整替换所有可编辑字段及标签关联,并返回持久化后的最新文章。它不是增量补丁;调用前应先读取 hile://blog/posts/{id} Resource 并保留未要求修改的字段,已发布文章更新时仍会执行发布内容约束。',
17
+ [BLOG_MCP_TOOLS.publishPost]: '发布当前博客文章。调用前应尽可能补齐文章字段,特别是 summary、tagIds 和 coverUrl,但不得编造信息或 URL。服务端会重新审查当前内容。若返回 code=POST_CONTENT_BLOCKED,先读取 hile://blog/posts/{id} Resource 获取最新文章,只修复 audit.findings 中 severity=block 的项目,再调用 update-post 和 audit-post-content;publishable=true 后重试,自动修复最多 3 次。需要作者补充事实时停止。',
21
18
  [BLOG_MCP_TOOLS.archivePost]: '按文章 UUID 将文章状态切换为 archived,并返回包含原发布时间的最新完整记录。归档会使文章退出公开发布内容,但不会永久删除正文、标签、评论或历史发布时间;重复归档保持相同状态。',
22
19
  [BLOG_MCP_TOOLS.deletePost]: '按文章 UUID 永久删除文章及其数据库级关联内容,成功时返回被删除的 ID。该操作不可恢复且具有破坏性;published 文章必须先 archive-post,服务端会拒绝直接删除仍在发布状态的文章。',
23
20
  [BLOG_MCP_TOOLS.listPages]: '按生命周期状态和可选展示位置筛选博客单页,并使用 limit、cursor 分页返回完整记录。结果包含标题、slug、摘要、Markdown 正文、位置、排序值与时间戳;该操作只读。',
24
- [BLOG_MCP_TOOLS.readPage]: '按单页 UUID 读取最新完整管理记录,包括正文、摘要、公开 slug、展示位置、排序值和生命周期状态。该操作只读,修改、发布、归档或删除单页前应先核对当前值。',
25
21
  [BLOG_MCP_TOOLS.createPage]: '创建一个 draft 状态的博客单页,并写入标题、slug、摘要、Markdown 正文、可空展示位置和排序值。成功后返回生成的 UUID 与完整记录;创建不会自动发布或加入公开导航。',
26
22
  [BLOG_MCP_TOOLS.updatePage]: '按单页 UUID 完整替换标题、slug、摘要、正文、展示位置和排序值,并返回最新记录。该操作不是增量补丁且不会自动改变生命周期状态;调用前应先读取并保留未要求修改的字段。',
27
23
  [BLOG_MCP_TOOLS.publishPage]: '按单页 UUID 将内容切换为 published,并在首次发布时记录发布时间,随后返回完整记录。发布后单页可由主题通过稳定 slug 读取;执行前应确认正文、摘要和导航位置均已审核。',
28
24
  [BLOG_MCP_TOOLS.archivePage]: '按单页 UUID 将内容切换为 archived,并返回保留原发布时间的完整记录。归档会使单页退出公开读取和导航,但不会永久删除内容;归档后仍可继续修改或再次发布。',
29
25
  [BLOG_MCP_TOOLS.deletePage]: '按单页 UUID 永久删除记录,成功时返回被删除的 ID。该操作不可恢复且具有破坏性;published 单页必须先 archive-page,服务端会拒绝直接删除仍在发布状态的单页。',
30
26
  [BLOG_MCP_TOOLS.listComments]: '按状态、文章 UUID 和时间顺序筛选博客评论,并使用 limit、cursor 分页;默认最新评论优先。返回评论正文、回复、用户 ID、客户端与原始审计字段,供管理员审核使用;该操作不会改变审核状态。',
31
- [BLOG_MCP_TOOLS.readComment]: '按评论 UUID 读取完整审核记录,包括正文、回复、状态、用户与文章 ID、IP、User-Agent、位置和客户端标签。该操作只读,批准、拒绝、回复或永久删除前应先核对内容和审计信息。',
32
27
  [BLOG_MCP_TOOLS.approveComment]: '按评论 UUID 将审核状态设置为 approved,并返回更新后的完整评论记录。批准后评论可以进入公开展示;这是有副作用的审核决定,必须基于管理员明确判断,不能由自动化自行决定。',
33
28
  [BLOG_MCP_TOOLS.rejectComment]: '按评论 UUID 将审核状态设置为 rejected,并返回更新后的完整评论记录。拒绝会阻止评论公开展示但保留记录和审计信息;执行前必须取得管理员对该评论的明确处理决定。',
34
29
  [BLOG_MCP_TOOLS.replyComment]: '按评论 UUID 设置管理员回复,或在 replyContent 为 null 时清除已有回复,同时维护回复时间并返回完整记录。该操作会改变评论对外呈现内容;回复文案应由管理员确认,不得虚构承诺或事实。',
35
30
  [BLOG_MCP_TOOLS.deleteComment]: '按评论 UUID 永久删除评论及其回复和审计记录,成功时返回被删除的 ID。该操作不可恢复且具有破坏性;只有管理员明确要求永久删除时使用,通常审核应优先选择批准或拒绝。',
36
31
  [BLOG_MCP_TOOLS.listFriendLinks]: '分页读取全部友情链接管理记录,按 sortOrder 与稳定 ID 排序,可通过 limit 和 cursor 继续翻页。结果同时包含启用和停用项、目标 URL、说明、图标和时间戳;该操作只读。',
37
- [BLOG_MCP_TOOLS.readFriendLink]: '按友情链接 UUID 读取完整管理记录,包括名称、目标 URL、说明、图标 URL、启用状态、排序值和时间戳。该操作只读,修改、启停或永久删除前应先核对当前值。',
38
32
  [BLOG_MCP_TOOLS.createFriendLink]: '创建一条友情链接,并写入名称、HTTP(S) 目标、可空说明和图标、启用状态与排序值。成功后返回生成的 UUID 和完整记录;启用项可能立即进入主题的公开友链页面。',
39
33
  [BLOG_MCP_TOOLS.updateFriendLink]: '按友情链接 UUID 完整替换名称、目标 URL、说明、图标、启用状态和排序值,并返回最新记录。该操作不是增量补丁;调用前应先读取当前项,且不得编造或使用未经验证的外部地址。',
40
34
  [BLOG_MCP_TOOLS.enableFriendLink]: '按友情链接 UUID 将 enabled 设置为 true,并返回更新后的完整记录。启用后该链接可以进入公开友链列表;执行前应验证目标站点、名称、说明与图标 URL 均准确且安全。',
41
35
  [BLOG_MCP_TOOLS.disableFriendLink]: '按友情链接 UUID 将 enabled 设置为 false,并返回更新后的完整记录。停用会从公开友链列表隐藏该项但保留配置,适合临时下线或等待核验,不会永久删除数据。',
42
36
  [BLOG_MCP_TOOLS.deleteFriendLink]: '按友情链接 UUID 永久删除记录,成功时返回被删除的 ID。该操作不可恢复且具有破坏性;如果只是暂时停止公开展示,应优先调用 disable-friend-link 保留配置。',
43
- [BLOG_MCP_TOOLS.listThemes]: '读取 Registry 发现并经过副本一致性校验的博客主题目录,同时返回当前选择、目录对账时间和每个主题的 generation、buildId、实例数与状态。该操作只读,可在切换前用于确认目标主题是否健康可用。',
44
- [BLOG_MCP_TOOLS.readThemeSelection]: '读取持久化的当前博客主题选择,返回 themeId、单调 revision、更新时间和审计操作者。该操作只读,只表示已提交的选择事实;主题是否已激活应再用 read-theme-status 核对。',
45
- [BLOG_MCP_TOOLS.readThemeStatus]: '读取指定 themeId 的发现与激活状态;省略 themeId 时检查当前选择的主题。返回展示信息、generation、buildId、可用实例数和状态,适合切换前健康检查以及切换后的结果验证。',
46
37
  [BLOG_MCP_TOOLS.selectTheme]: '将博客主题选择切换到指定的已发现健康 themeId,并返回更新后的完整主题目录与新 selection revision。该操作会改变公开博客渲染实现且不自动重试;应先检查目录和目标状态、取得确认,再写入并读回验证。',
47
38
  };
48
39
  export function blogToolDescription(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../../src/mcp/tool-descriptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../../src/mcp/tool-descriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,YAAY,GAAG;IACnB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,6FAA6F;IAC9H,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,uFAAuF;IACxH,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,wFAAwF;IACzH,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,gFAAgF;IAEjH,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,4FAA4F;IACvH,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,uFAAuF;IACnH,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,mFAAmF;IAC/G,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,8EAA8E;IAE1G,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,iGAAiG;IAC7H,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,wGAAwG;IAC1I,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,iFAAiF;IAC/G,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,6HAA6H;IAChK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,oIAAoI;IACjK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,wHAAwH;IACrJ,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,mRAAmR;IACjT,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,gGAAgG;IAC9H,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,wGAAwG;IAErI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,6FAA6F;IACzH,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,8FAA8F;IAC3H,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,wFAAwF;IACrH,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,8FAA8F;IAC5H,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,oFAAoF;IAClH,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,8FAA8F;IAE3H,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,uGAAuG;IACtI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,4FAA4F;IAC7H,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,uFAAuF;IACvH,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,uGAAuG;IACtI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,sFAAsF;IAEtH,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,mGAAmG;IACrI,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,oFAAoF;IACvH,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,yFAAyF;IAC5H,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,4FAA4F;IAC/H,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,sFAAsF;IAC1H,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,2FAA2F;IAE9H,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,+GAA+G;CACpG,CAAC;AAE5C,MAAM,UAAU,mBAAmB,CAAC,IAAqB;IACvD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}