@zlooks.cn/blog-server 1.0.7 → 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.
- package/dist/blog/blog-application.d.ts +2 -12
- package/dist/blog/blog-application.d.ts.map +1 -1
- package/dist/blog/blog-application.js +1 -1
- package/dist/blog/blog-application.js.map +1 -1
- package/dist/blog/post-content-audit.d.ts +0 -1
- package/dist/blog/post-content-audit.d.ts.map +1 -1
- package/dist/blog/post-content-audit.js +2 -2
- package/dist/blog/post-content-audit.js.map +1 -1
- package/dist/blog/public-blog-service.d.ts.map +1 -1
- package/dist/blog/public-blog-service.js +1 -16
- package/dist/blog/public-blog-service.js.map +1 -1
- package/dist/browser-api/http-message.d.ts +4 -2
- package/dist/browser-api/http-message.d.ts.map +1 -1
- package/dist/browser-api/http-message.js +8 -6
- package/dist/browser-api/http-message.js.map +1 -1
- package/dist/command/index.js +2 -6
- package/dist/command/index.js.map +1 -1
- package/dist/contracts/mcp.d.ts +9 -9
- package/dist/contracts/mcp.d.ts.map +1 -1
- package/dist/contracts/mcp.js +44 -15
- package/dist/contracts/mcp.js.map +1 -1
- package/dist/events/blog-domain-events.d.ts +21 -20
- package/dist/events/blog-domain-events.d.ts.map +1 -1
- package/dist/events/blog-domain-events.js +3 -3
- package/dist/events/blog-domain-events.js.map +1 -1
- package/dist/mcp/blog-prompts.d.ts.map +1 -1
- package/dist/mcp/blog-prompts.js +5 -4
- package/dist/mcp/blog-prompts.js.map +1 -1
- package/dist/mcp/blog-provider.d.ts +3 -2
- package/dist/mcp/blog-provider.d.ts.map +1 -1
- package/dist/mcp/blog-provider.js +1 -1
- package/dist/mcp/blog-provider.js.map +1 -1
- package/dist/mcp/blog-resources.d.ts +113 -2
- package/dist/mcp/blog-resources.d.ts.map +1 -1
- package/dist/mcp/blog-resources.js +133 -2
- package/dist/mcp/blog-resources.js.map +1 -1
- package/dist/mcp/blog-theme-authoring-prompt.d.ts.map +1 -1
- package/dist/mcp/blog-theme-authoring-prompt.js +4 -3
- package/dist/mcp/blog-theme-authoring-prompt.js.map +1 -1
- package/dist/mcp/category-tools.d.ts +2 -7
- package/dist/mcp/category-tools.d.ts.map +1 -1
- package/dist/mcp/category-tools.js +6 -18
- package/dist/mcp/category-tools.js.map +1 -1
- package/dist/mcp/comment-tools.d.ts +2 -7
- package/dist/mcp/comment-tools.d.ts.map +1 -1
- package/dist/mcp/comment-tools.js +7 -23
- package/dist/mcp/comment-tools.js.map +1 -1
- package/dist/mcp/friend-link-tools.d.ts +2 -7
- package/dist/mcp/friend-link-tools.d.ts.map +1 -1
- package/dist/mcp/friend-link-tools.js +8 -22
- package/dist/mcp/friend-link-tools.js.map +1 -1
- package/dist/mcp/page-tools.d.ts +2 -7
- package/dist/mcp/page-tools.d.ts.map +1 -1
- package/dist/mcp/page-tools.js +8 -29
- package/dist/mcp/page-tools.js.map +1 -1
- package/dist/mcp/post-tools.d.ts +2 -7
- package/dist/mcp/post-tools.d.ts.map +1 -1
- package/dist/mcp/post-tools.js +11 -133
- package/dist/mcp/post-tools.js.map +1 -1
- package/dist/mcp/tag-tools.d.ts +2 -7
- package/dist/mcp/tag-tools.d.ts.map +1 -1
- package/dist/mcp/tag-tools.js +6 -16
- package/dist/mcp/tag-tools.js.map +1 -1
- package/dist/mcp/theme-tools.d.ts +2 -9
- package/dist/mcp/theme-tools.d.ts.map +1 -1
- package/dist/mcp/theme-tools.js +5 -87
- package/dist/mcp/theme-tools.js.map +1 -1
- package/dist/mcp/tool-descriptions.d.ts.map +1 -1
- package/dist/mcp/tool-descriptions.js +2 -11
- package/dist/mcp/tool-descriptions.js.map +1 -1
- package/dist/mcp/tool-support.d.ts +12 -136
- package/dist/mcp/tool-support.d.ts.map +1 -1
- package/dist/mcp/tool-support.js +1 -33
- package/dist/mcp/tool-support.js.map +1 -1
- package/dist/messages/api/blog/categories/index.msg.js +3 -6
- package/dist/messages/api/blog/categories/index.msg.js.map +1 -1
- package/dist/messages/api/blog/friend-links/index.msg.js +3 -6
- package/dist/messages/api/blog/friend-links/index.msg.js.map +1 -1
- package/dist/messages/api/blog/likes/[slug]/index.msg.js +3 -6
- package/dist/messages/api/blog/likes/[slug]/index.msg.js.map +1 -1
- package/dist/messages/api/blog/posts/[slug]/comments/index.msg.js +3 -6
- package/dist/messages/api/blog/posts/[slug]/comments/index.msg.js.map +1 -1
- package/dist/messages/api/blog/posts/[slug]/index.msg.js +3 -6
- package/dist/messages/api/blog/posts/[slug]/index.msg.js.map +1 -1
- package/dist/messages/api/blog/posts/index.msg.js +3 -6
- package/dist/messages/api/blog/posts/index.msg.js.map +1 -1
- package/dist/messages/api/blog/search/index.msg.js +3 -6
- package/dist/messages/api/blog/search/index.msg.js.map +1 -1
- package/dist/messages/api/blog/tags/index.msg.js +3 -6
- package/dist/messages/api/blog/tags/index.msg.js.map +1 -1
- package/dist/messages/management/categories/create.msg.d.ts +22 -0
- package/dist/messages/management/categories/create.msg.d.ts.map +1 -0
- package/dist/messages/management/categories/create.msg.js +5 -0
- package/dist/messages/management/categories/create.msg.js.map +1 -0
- package/dist/messages/management/categories/delete.msg.d.ts +12 -0
- package/dist/messages/management/categories/delete.msg.d.ts.map +1 -0
- package/dist/messages/management/categories/delete.msg.js +5 -0
- package/dist/messages/management/categories/delete.msg.js.map +1 -0
- package/dist/messages/management/categories/list.msg.d.ts +21 -0
- package/dist/messages/management/categories/list.msg.d.ts.map +1 -0
- package/dist/messages/management/categories/list.msg.js +5 -0
- package/dist/messages/management/categories/list.msg.js.map +1 -0
- package/dist/messages/management/categories/read.msg.d.ts +19 -0
- package/dist/messages/management/categories/read.msg.d.ts.map +1 -0
- package/dist/messages/management/categories/read.msg.js +5 -0
- package/dist/messages/management/categories/read.msg.js.map +1 -0
- package/dist/messages/management/categories/update.msg.d.ts +23 -0
- package/dist/messages/management/categories/update.msg.d.ts.map +1 -0
- package/dist/messages/management/categories/update.msg.js +5 -0
- package/dist/messages/management/categories/update.msg.js.map +1 -0
- package/dist/messages/management/comments/approve.msg.d.ts +29 -0
- package/dist/messages/management/comments/approve.msg.d.ts.map +1 -0
- package/dist/messages/management/comments/approve.msg.js +5 -0
- package/dist/messages/management/comments/approve.msg.js.map +1 -0
- package/dist/messages/management/comments/delete.msg.d.ts +12 -0
- package/dist/messages/management/comments/delete.msg.d.ts.map +1 -0
- package/dist/messages/management/comments/delete.msg.js +5 -0
- package/dist/messages/management/comments/delete.msg.js.map +1 -0
- package/dist/messages/management/comments/list.msg.d.ts +41 -0
- package/dist/messages/management/comments/list.msg.d.ts.map +1 -0
- package/dist/messages/management/comments/list.msg.js +5 -0
- package/dist/messages/management/comments/list.msg.js.map +1 -0
- package/dist/messages/management/comments/read.msg.d.ts +29 -0
- package/dist/messages/management/comments/read.msg.d.ts.map +1 -0
- package/dist/messages/management/comments/read.msg.js +5 -0
- package/dist/messages/management/comments/read.msg.js.map +1 -0
- package/dist/messages/management/comments/reject.msg.d.ts +29 -0
- package/dist/messages/management/comments/reject.msg.d.ts.map +1 -0
- package/dist/messages/management/comments/reject.msg.js +5 -0
- package/dist/messages/management/comments/reject.msg.js.map +1 -0
- package/dist/messages/management/comments/reply.msg.d.ts +30 -0
- package/dist/messages/management/comments/reply.msg.d.ts.map +1 -0
- package/dist/messages/management/comments/reply.msg.js +5 -0
- package/dist/messages/management/comments/reply.msg.js.map +1 -0
- package/dist/messages/management/friend-links/create.msg.d.ts +26 -0
- package/dist/messages/management/friend-links/create.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/create.msg.js +5 -0
- package/dist/messages/management/friend-links/create.msg.js.map +1 -0
- package/dist/messages/management/friend-links/delete.msg.d.ts +12 -0
- package/dist/messages/management/friend-links/delete.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/delete.msg.js +5 -0
- package/dist/messages/management/friend-links/delete.msg.js.map +1 -0
- package/dist/messages/management/friend-links/disable.msg.d.ts +21 -0
- package/dist/messages/management/friend-links/disable.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/disable.msg.js +5 -0
- package/dist/messages/management/friend-links/disable.msg.js.map +1 -0
- package/dist/messages/management/friend-links/enable.msg.d.ts +21 -0
- package/dist/messages/management/friend-links/enable.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/enable.msg.js +5 -0
- package/dist/messages/management/friend-links/enable.msg.js.map +1 -0
- package/dist/messages/management/friend-links/list.msg.d.ts +23 -0
- package/dist/messages/management/friend-links/list.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/list.msg.js +5 -0
- package/dist/messages/management/friend-links/list.msg.js.map +1 -0
- package/dist/messages/management/friend-links/read.msg.d.ts +21 -0
- package/dist/messages/management/friend-links/read.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/read.msg.js +5 -0
- package/dist/messages/management/friend-links/read.msg.js.map +1 -0
- package/dist/messages/management/friend-links/update.msg.d.ts +27 -0
- package/dist/messages/management/friend-links/update.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links/update.msg.js +5 -0
- package/dist/messages/management/friend-links/update.msg.js.map +1 -0
- package/dist/messages/management/pages/archive.msg.d.ts +30 -0
- package/dist/messages/management/pages/archive.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/archive.msg.js +5 -0
- package/dist/messages/management/pages/archive.msg.js.map +1 -0
- package/dist/messages/management/pages/create.msg.d.ts +38 -0
- package/dist/messages/management/pages/create.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/create.msg.js +5 -0
- package/dist/messages/management/pages/create.msg.js.map +1 -0
- package/dist/messages/management/pages/delete.msg.d.ts +12 -0
- package/dist/messages/management/pages/delete.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/delete.msg.js +5 -0
- package/dist/messages/management/pages/delete.msg.js.map +1 -0
- package/dist/messages/management/pages/list.msg.d.ts +41 -0
- package/dist/messages/management/pages/list.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/list.msg.js +5 -0
- package/dist/messages/management/pages/list.msg.js.map +1 -0
- package/dist/messages/management/pages/publish.msg.d.ts +30 -0
- package/dist/messages/management/pages/publish.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/publish.msg.js +5 -0
- package/dist/messages/management/pages/publish.msg.js.map +1 -0
- package/dist/messages/management/pages/read.msg.d.ts +30 -0
- package/dist/messages/management/pages/read.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/read.msg.js +5 -0
- package/dist/messages/management/pages/read.msg.js.map +1 -0
- package/dist/messages/management/pages/update.msg.d.ts +39 -0
- package/dist/messages/management/pages/update.msg.d.ts.map +1 -0
- package/dist/messages/management/pages/update.msg.js +5 -0
- package/dist/messages/management/pages/update.msg.js.map +1 -0
- package/dist/messages/management/posts/archive-list.msg.d.ts +48 -0
- package/dist/messages/management/posts/archive-list.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/archive-list.msg.js +5 -0
- package/dist/messages/management/posts/archive-list.msg.js.map +1 -0
- package/dist/messages/management/posts/archive.msg.d.ts +34 -0
- package/dist/messages/management/posts/archive.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/archive.msg.js +5 -0
- package/dist/messages/management/posts/archive.msg.js.map +1 -0
- package/dist/messages/management/posts/audit.msg.d.ts +41 -0
- package/dist/messages/management/posts/audit.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/audit.msg.js +5 -0
- package/dist/messages/management/posts/audit.msg.js.map +1 -0
- package/dist/messages/management/posts/create.msg.d.ts +40 -0
- package/dist/messages/management/posts/create.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/create.msg.js +5 -0
- package/dist/messages/management/posts/create.msg.js.map +1 -0
- package/dist/messages/management/posts/delete.msg.d.ts +12 -0
- package/dist/messages/management/posts/delete.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/delete.msg.js +5 -0
- package/dist/messages/management/posts/delete.msg.js.map +1 -0
- package/dist/messages/management/posts/list.msg.d.ts +42 -0
- package/dist/messages/management/posts/list.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/list.msg.js +5 -0
- package/dist/messages/management/posts/list.msg.js.map +1 -0
- package/dist/messages/management/posts/publish.msg.d.ts +68 -0
- package/dist/messages/management/posts/publish.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/publish.msg.js +23 -0
- package/dist/messages/management/posts/publish.msg.js.map +1 -0
- package/dist/messages/management/posts/read.msg.d.ts +34 -0
- package/dist/messages/management/posts/read.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/read.msg.js +5 -0
- package/dist/messages/management/posts/read.msg.js.map +1 -0
- package/dist/messages/management/posts/search.msg.d.ts +39 -0
- package/dist/messages/management/posts/search.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/search.msg.js +5 -0
- package/dist/messages/management/posts/search.msg.js.map +1 -0
- package/dist/messages/management/posts/update.msg.d.ts +41 -0
- package/dist/messages/management/posts/update.msg.d.ts.map +1 -0
- package/dist/messages/management/posts/update.msg.js +5 -0
- package/dist/messages/management/posts/update.msg.js.map +1 -0
- package/dist/messages/management/tags/create.msg.d.ts +18 -0
- package/dist/messages/management/tags/create.msg.d.ts.map +1 -0
- package/dist/messages/management/tags/create.msg.js +5 -0
- package/dist/messages/management/tags/create.msg.js.map +1 -0
- package/dist/messages/management/tags/delete.msg.d.ts +12 -0
- package/dist/messages/management/tags/delete.msg.d.ts.map +1 -0
- package/dist/messages/management/tags/delete.msg.js +5 -0
- package/dist/messages/management/tags/delete.msg.js.map +1 -0
- package/dist/messages/management/tags/list.msg.d.ts +19 -0
- package/dist/messages/management/tags/list.msg.d.ts.map +1 -0
- package/dist/messages/management/tags/list.msg.js +5 -0
- package/dist/messages/management/tags/list.msg.js.map +1 -0
- package/dist/messages/management/tags/read.msg.d.ts +17 -0
- package/dist/messages/management/tags/read.msg.d.ts.map +1 -0
- package/dist/messages/management/tags/read.msg.js +5 -0
- package/dist/messages/management/tags/read.msg.js.map +1 -0
- package/dist/messages/management/tags/update.msg.d.ts +19 -0
- package/dist/messages/management/tags/update.msg.d.ts.map +1 -0
- package/dist/messages/management/tags/update.msg.js +5 -0
- package/dist/messages/management/tags/update.msg.js.map +1 -0
- package/dist/messages/management/themes/list.msg.d.ts +32 -0
- package/dist/messages/management/themes/list.msg.d.ts.map +1 -0
- package/dist/messages/management/themes/list.msg.js +5 -0
- package/dist/messages/management/themes/list.msg.js.map +1 -0
- package/dist/messages/management/themes/read-selection.msg.d.ts +12 -0
- package/dist/messages/management/themes/read-selection.msg.d.ts.map +1 -0
- package/dist/messages/management/themes/read-selection.msg.js +5 -0
- package/dist/messages/management/themes/read-selection.msg.js.map +1 -0
- package/dist/messages/management/themes/read-status.msg.d.ts +25 -0
- package/dist/messages/management/themes/read-status.msg.d.ts.map +1 -0
- package/dist/messages/management/themes/read-status.msg.js +5 -0
- package/dist/messages/management/themes/read-status.msg.js.map +1 -0
- package/dist/messages/management/themes/select.msg.d.ts +35 -0
- package/dist/messages/management/themes/select.msg.d.ts.map +1 -0
- package/dist/messages/management/themes/select.msg.js +5 -0
- package/dist/messages/management/themes/select.msg.js.map +1 -0
- package/dist/messages/model-message.d.ts +4 -2
- package/dist/messages/model-message.d.ts.map +1 -1
- package/dist/messages/model-message.js +4 -4
- package/dist/messages/model-message.js.map +1 -1
- package/dist/messages/public/categories/list.msg.d.ts +12 -1
- package/dist/messages/public/categories/list.msg.js +2 -1
- package/dist/messages/public/categories/list.msg.js.map +1 -1
- package/dist/messages/public/comments/create.msg.d.ts +35 -1
- package/dist/messages/public/comments/create.msg.js +9 -11
- package/dist/messages/public/comments/create.msg.js.map +1 -1
- package/dist/messages/public/comments/list.msg.d.ts +38 -1
- package/dist/messages/public/comments/list.msg.js +5 -6
- package/dist/messages/public/comments/list.msg.js.map +1 -1
- package/dist/messages/public/comments/recent.msg.d.ts +31 -1
- package/dist/messages/public/comments/recent.msg.js +3 -4
- package/dist/messages/public/comments/recent.msg.js.map +1 -1
- package/dist/messages/public/friend-links/list.msg.d.ts +12 -1
- package/dist/messages/public/friend-links/list.msg.js +2 -1
- package/dist/messages/public/friend-links/list.msg.js.map +1 -1
- package/dist/messages/public/pages/list.msg.d.ts +22 -1
- package/dist/messages/public/pages/list.msg.js +2 -1
- package/dist/messages/public/pages/list.msg.js.map +1 -1
- package/dist/messages/public/pages/read.msg.d.ts +25 -1
- package/dist/messages/public/pages/read.msg.js +2 -1
- package/dist/messages/public/pages/read.msg.js.map +1 -1
- package/dist/messages/public/posts/archive.msg.d.ts +45 -1
- package/dist/messages/public/posts/archive.msg.js +2 -1
- package/dist/messages/public/posts/archive.msg.js.map +1 -1
- package/dist/messages/public/posts/connections.msg.d.ts +77 -1
- package/dist/messages/public/posts/connections.msg.js +2 -1
- package/dist/messages/public/posts/connections.msg.js.map +1 -1
- package/dist/messages/public/posts/list.msg.d.ts +40 -1
- package/dist/messages/public/posts/list.msg.js +7 -9
- package/dist/messages/public/posts/list.msg.js.map +1 -1
- package/dist/messages/public/posts/open.msg.d.ts +43 -1
- package/dist/messages/public/posts/open.msg.js +3 -4
- package/dist/messages/public/posts/open.msg.js.map +1 -1
- package/dist/messages/public/posts/read.msg.d.ts +33 -1
- package/dist/messages/public/posts/read.msg.js +2 -1
- package/dist/messages/public/posts/read.msg.js.map +1 -1
- package/dist/messages/public/posts/search.msg.d.ts +30 -1
- package/dist/messages/public/posts/search.msg.js +2 -1
- package/dist/messages/public/posts/search.msg.js.map +1 -1
- package/dist/messages/public/posts/set-liked.msg.d.ts +21 -1
- package/dist/messages/public/posts/set-liked.msg.js +9 -11
- package/dist/messages/public/posts/set-liked.msg.js.map +1 -1
- package/dist/messages/public/tags/list.msg.d.ts +9 -1
- package/dist/messages/public/tags/list.msg.js +2 -1
- package/dist/messages/public/tags/list.msg.js.map +1 -1
- package/dist/messages/resources/event-catalog.msg.d.ts +5 -1
- package/dist/messages/resources/event-catalog.msg.js +4 -2
- package/dist/messages/resources/event-catalog.msg.js.map +1 -1
- package/dist/messages/resources/theme-authoring-contract.msg.d.ts +5 -1
- package/dist/messages/resources/theme-authoring-contract.msg.js +4 -2
- package/dist/messages/resources/theme-authoring-contract.msg.js.map +1 -1
- package/dist/messages/user-context.js +2 -2
- package/dist/messages/user-context.js.map +1 -1
- package/dist/models/blog-resource-documents.d.ts +1 -1
- package/dist/models/blog-resource-documents.d.ts.map +1 -1
- package/dist/models/blog-resource-documents.js +2 -10
- package/dist/models/blog-resource-documents.js.map +1 -1
- package/dist/models/management/delete-category.model.js +2 -1
- package/dist/models/management/delete-category.model.js.map +1 -1
- package/dist/models/management/delete-comment.model.js +2 -1
- package/dist/models/management/delete-comment.model.js.map +1 -1
- package/dist/models/management/delete-friend-link.model.js +2 -1
- package/dist/models/management/delete-friend-link.model.js.map +1 -1
- package/dist/models/management/delete-page.model.js +2 -1
- package/dist/models/management/delete-page.model.js.map +1 -1
- package/dist/models/management/delete-post.model.js +2 -1
- package/dist/models/management/delete-post.model.js.map +1 -1
- package/dist/models/management/delete-tag.model.js +2 -1
- package/dist/models/management/delete-tag.model.js.map +1 -1
- package/dist/models/management/list-post-archive.model.js +1 -15
- package/dist/models/management/list-post-archive.model.js.map +1 -1
- package/dist/models/management/list-theme.model.js +2 -2
- package/dist/models/management/list-theme.model.js.map +1 -1
- package/dist/models/management/read-theme-selection.model.js +2 -2
- package/dist/models/management/read-theme-selection.model.js.map +1 -1
- package/dist/models/management/read-theme-status.model.js +2 -4
- package/dist/models/management/read-theme-status.model.js.map +1 -1
- package/dist/models/management/reply-comment.model.js +2 -6
- package/dist/models/management/reply-comment.model.js.map +1 -1
- package/dist/models/management/select-theme.model.js +2 -7
- package/dist/models/management/select-theme.model.js.map +1 -1
- package/dist/models/management/update-category.model.js +2 -4
- package/dist/models/management/update-category.model.js.map +1 -1
- package/dist/models/management/update-friend-link.model.js +2 -4
- package/dist/models/management/update-friend-link.model.js.map +1 -1
- package/dist/models/management/update-page.model.js +2 -4
- package/dist/models/management/update-page.model.js.map +1 -1
- package/dist/models/management/update-post.model.js +2 -4
- package/dist/models/management/update-post.model.js.map +1 -1
- package/dist/models/management/update-tag.model.js +2 -4
- package/dist/models/management/update-tag.model.js.map +1 -1
- package/dist/models/management-projection.d.ts +4 -0
- package/dist/models/management-projection.d.ts.map +1 -1
- package/dist/models/management-projection.js +3 -0
- package/dist/models/management-projection.js.map +1 -1
- package/dist/models/read-theme-authoring-contract.model.d.ts +1 -1
- package/dist/persistence/post-store.d.ts +2 -12
- package/dist/persistence/post-store.d.ts.map +1 -1
- package/dist/persistence/post-store.js.map +1 -1
- package/dist/services/application.service.d.ts +6 -2
- package/dist/services/application.service.d.ts.map +1 -1
- package/dist/services/application.service.js +13 -5
- package/dist/services/application.service.js.map +1 -1
- package/dist/services/blog-runtime.service.js +2 -1
- package/dist/services/blog-runtime.service.js.map +1 -1
- package/dist/services/blog.boot.js +3 -0
- package/dist/services/blog.boot.js.map +1 -1
- package/dist/services/config.service.js +1 -1
- package/dist/services/config.service.js.map +1 -1
- package/dist/services/mcp-provider.service.js +3 -3
- package/dist/services/mcp-provider.service.js.map +1 -1
- package/dist/services/sitemap-provider.service.js +2 -1
- package/dist/services/sitemap-provider.service.js.map +1 -1
- package/dist/services/theme-control.service.js +24 -9
- package/dist/services/theme-control.service.js.map +1 -1
- package/package.json +15 -14
- package/dist/messages/management/categories.msg.d.ts +0 -3
- package/dist/messages/management/categories.msg.d.ts.map +0 -1
- package/dist/messages/management/categories.msg.js +0 -21
- package/dist/messages/management/categories.msg.js.map +0 -1
- package/dist/messages/management/comments.msg.d.ts +0 -3
- package/dist/messages/management/comments.msg.d.ts.map +0 -1
- package/dist/messages/management/comments.msg.js +0 -24
- package/dist/messages/management/comments.msg.js.map +0 -1
- package/dist/messages/management/friend-links.msg.d.ts +0 -3
- package/dist/messages/management/friend-links.msg.d.ts.map +0 -1
- package/dist/messages/management/friend-links.msg.js +0 -27
- package/dist/messages/management/friend-links.msg.js.map +0 -1
- package/dist/messages/management/pages.msg.d.ts +0 -3
- package/dist/messages/management/pages.msg.d.ts.map +0 -1
- package/dist/messages/management/pages.msg.js +0 -27
- package/dist/messages/management/pages.msg.js.map +0 -1
- package/dist/messages/management/posts.msg.d.ts +0 -3
- package/dist/messages/management/posts.msg.d.ts.map +0 -1
- package/dist/messages/management/posts.msg.js +0 -48
- package/dist/messages/management/posts.msg.js.map +0 -1
- package/dist/messages/management/tags.msg.d.ts +0 -3
- package/dist/messages/management/tags.msg.d.ts.map +0 -1
- package/dist/messages/management/tags.msg.js +0 -21
- package/dist/messages/management/tags.msg.js.map +0 -1
- package/dist/messages/management/themes.msg.d.ts +0 -3
- package/dist/messages/management/themes.msg.d.ts.map +0 -1
- package/dist/messages/management/themes.msg.js +0 -18
- package/dist/messages/management/themes.msg.js.map +0 -1
package/dist/mcp/tag-tools.js
CHANGED
|
@@ -1,22 +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 {
|
|
3
|
-
import { deletedSchema, idInput, listInput, readTool, slug, tagSchema, writeTool, } from './tool-support.js';
|
|
4
|
-
const input = z.strictObject({
|
|
5
|
-
name: z.string().trim().min(1).max(100),
|
|
6
|
-
slug: slug(120),
|
|
7
|
-
});
|
|
8
|
-
const pageOutput = z.strictObject({
|
|
9
|
-
items: z.array(tagSchema).max(100),
|
|
10
|
-
nextCursor: z.uuid().nullable(),
|
|
11
|
-
});
|
|
12
|
-
const itemOutput = z.strictObject({ item: tagSchema });
|
|
3
|
+
import { readTool, writeTool, } from './tool-support.js';
|
|
13
4
|
export function createTagTools(blog) {
|
|
14
5
|
return {
|
|
15
|
-
[BLOG_MCP_TOOLS.listTags]: readTool(BLOG_MCP_TOOLS.listTags, '分页列出博客标签',
|
|
16
|
-
[BLOG_MCP_TOOLS.
|
|
17
|
-
[BLOG_MCP_TOOLS.
|
|
18
|
-
[BLOG_MCP_TOOLS.
|
|
19
|
-
[BLOG_MCP_TOOLS.deleteTag]: writeTool(BLOG_MCP_TOOLS.deleteTag, '删除博客标签', idInput, deletedSchema, (value, options) => blog.deleteTag(value, options), 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),
|
|
20
10
|
};
|
|
21
11
|
}
|
|
22
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,
|
|
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
|
|
2
|
-
export declare function createThemeTools(client:
|
|
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":"
|
|
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"}
|
package/dist/mcp/theme-tools.js
CHANGED
|
@@ -1,84 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { blogToolDescription } from './tool-descriptions.js';
|
|
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 });
|
|
6
5
|
export function createThemeTools(client) {
|
|
7
6
|
return {
|
|
8
|
-
[BLOG_MCP_TOOLS.
|
|
9
|
-
name: BLOG_MCP_TOOLS.listThemes,
|
|
10
|
-
title: '列出可用博客主题',
|
|
11
|
-
description: blogToolDescription(BLOG_MCP_TOOLS.listThemes),
|
|
12
|
-
inputSchema: z.strictObject({}),
|
|
13
|
-
outputSchema: catalog,
|
|
14
|
-
annotations: {
|
|
15
|
-
readOnlyHint: true,
|
|
16
|
-
idempotentHint: true,
|
|
17
|
-
destructiveHint: false,
|
|
18
|
-
},
|
|
19
|
-
access: { scopes: [BLOG_MCP_READ_SCOPE] },
|
|
20
|
-
execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
|
|
21
|
-
}, async (_input, context) => {
|
|
22
|
-
context.signal.throwIfAborted();
|
|
23
|
-
return result(await client.listThemes({
|
|
24
|
-
context: context.executionContext,
|
|
25
|
-
signal: context.signal,
|
|
26
|
-
}));
|
|
27
|
-
}),
|
|
28
|
-
[BLOG_MCP_TOOLS.readThemeSelection]: defineMcpTool({
|
|
29
|
-
name: BLOG_MCP_TOOLS.readThemeSelection,
|
|
30
|
-
title: '读取当前博客主题选择',
|
|
31
|
-
description: blogToolDescription(BLOG_MCP_TOOLS.readThemeSelection),
|
|
32
|
-
inputSchema: z.strictObject({}),
|
|
33
|
-
outputSchema: selection,
|
|
34
|
-
annotations: {
|
|
35
|
-
readOnlyHint: true,
|
|
36
|
-
idempotentHint: true,
|
|
37
|
-
destructiveHint: false,
|
|
38
|
-
},
|
|
39
|
-
access: { scopes: [BLOG_MCP_READ_SCOPE] },
|
|
40
|
-
execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
|
|
41
|
-
}, async (_input, context) => {
|
|
42
|
-
context.signal.throwIfAborted();
|
|
43
|
-
return result(await client.readThemeSelection({
|
|
44
|
-
context: context.executionContext,
|
|
45
|
-
signal: context.signal,
|
|
46
|
-
}));
|
|
47
|
-
}),
|
|
48
|
-
[BLOG_MCP_TOOLS.readThemeStatus]: defineMcpTool({
|
|
49
|
-
name: BLOG_MCP_TOOLS.readThemeStatus,
|
|
50
|
-
title: '读取博客主题状态',
|
|
51
|
-
description: blogToolDescription(BLOG_MCP_TOOLS.readThemeStatus),
|
|
52
|
-
inputSchema: z.strictObject({ themeId: blogThemeIdSchema.optional() }),
|
|
53
|
-
outputSchema: theme,
|
|
54
|
-
annotations: {
|
|
55
|
-
readOnlyHint: true,
|
|
56
|
-
idempotentHint: true,
|
|
57
|
-
destructiveHint: false,
|
|
58
|
-
},
|
|
59
|
-
access: { scopes: [BLOG_MCP_READ_SCOPE] },
|
|
60
|
-
execution: { timeoutMs: 10_000, retry: 'idempotent-failover' },
|
|
61
|
-
}, async (input, context) => {
|
|
62
|
-
context.signal.throwIfAborted();
|
|
63
|
-
return result(await client.readThemeStatus(input.themeId ? { themeId: input.themeId } : {}, { context: context.executionContext, signal: context.signal }));
|
|
64
|
-
}),
|
|
65
|
-
[BLOG_MCP_TOOLS.selectTheme]: defineMcpTool({
|
|
66
|
-
name: BLOG_MCP_TOOLS.selectTheme,
|
|
67
|
-
title: '选择博客主题',
|
|
68
|
-
description: blogToolDescription(BLOG_MCP_TOOLS.selectTheme),
|
|
69
|
-
inputSchema: z.strictObject({ themeId: blogThemeIdSchema }),
|
|
70
|
-
outputSchema: catalog,
|
|
71
|
-
annotations: {
|
|
72
|
-
readOnlyHint: false,
|
|
73
|
-
idempotentHint: false,
|
|
74
|
-
destructiveHint: false,
|
|
75
|
-
},
|
|
76
|
-
access: { scopes: [BLOG_MCP_WRITE_SCOPE] },
|
|
77
|
-
execution: { timeoutMs: 10_000, retry: 'never' },
|
|
78
|
-
}, async ({ themeId }, context) => {
|
|
79
|
-
context.signal.throwIfAborted();
|
|
80
|
-
return result(await client.selectTheme({ themeId, actor: actorFrom(context.principal) }, { context: context.executionContext, signal: context.signal }));
|
|
81
|
-
}),
|
|
7
|
+
[BLOG_MCP_TOOLS.selectTheme]: writeTool(BLOG_MCP_TOOLS.selectTheme, '选择博客主题', selectThemeInputSchema, blogManagementThemeCatalogSchema, ({ themeId }, options, principal) => client.selectTheme({ themeId, actor: actorFrom(principal) }, options)),
|
|
82
8
|
};
|
|
83
9
|
}
|
|
84
10
|
function actorFrom(principal) {
|
|
@@ -89,12 +15,4 @@ function actorFrom(principal) {
|
|
|
89
15
|
throw new Error('MCP principal identity is too long');
|
|
90
16
|
return actor;
|
|
91
17
|
}
|
|
92
|
-
function result(structuredContent) {
|
|
93
|
-
return {
|
|
94
|
-
content: [
|
|
95
|
-
{ type: 'text', text: JSON.stringify(structuredContent) },
|
|
96
|
-
],
|
|
97
|
-
structuredContent,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
18
|
//# sourceMappingURL=theme-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-tools.js","sourceRoot":"","sources":["../../src/mcp/theme-tools.ts"],"names":[],"mappings":"
|
|
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;
|
|
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
|
|
20
|
-
[BLOG_MCP_TOOLS.publishPost]: '发布当前博客文章。调用前应尽可能补齐文章字段,特别是 summary、tagIds 和 coverUrl,但不得编造信息或 URL。服务端会重新审查当前内容。若返回 code=POST_CONTENT_BLOCKED
|
|
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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,YAAY,GAAG;IACnB,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,6FAA6F;IAC9H,CAAC,cAAc,CAAC,
|
|
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"}
|
|
@@ -1,138 +1,14 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import { type McpPrincipal } from '@hile/mcp';
|
|
2
|
+
import type { ExecutionContext } from '@hile/context';
|
|
3
|
+
import type { BlogManagementClient } from '@zlooks.cn/blog-shared';
|
|
4
|
+
import type { z } from 'zod';
|
|
3
5
|
import type { BLOG_MCP_TOOLS } from '../contracts/mcp.js';
|
|
4
6
|
type BlogMcpToolName = (typeof BLOG_MCP_TOOLS)[keyof typeof BLOG_MCP_TOOLS];
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
cursor: z.ZodOptional<z.ZodUUID>;
|
|
11
|
-
}, z.core.$strict>;
|
|
12
|
-
export declare const dateTime: z.ZodISODateTime;
|
|
13
|
-
export declare const databaseInteger: z.ZodNumber;
|
|
14
|
-
export declare const nullableText: (max: number) => z.ZodNullable<z.ZodString>;
|
|
15
|
-
export declare const slug: (max: number) => z.ZodString;
|
|
16
|
-
export declare const internalUrl: z.ZodString;
|
|
17
|
-
export declare const externalUrl: z.ZodURL;
|
|
18
|
-
export declare const assetUrl: z.ZodUnion<readonly [z.ZodString, z.ZodURL]>;
|
|
19
|
-
export declare const categorySchema: z.ZodObject<{
|
|
20
|
-
name: z.ZodString;
|
|
21
|
-
slug: z.ZodString;
|
|
22
|
-
description: z.ZodNullable<z.ZodString>;
|
|
23
|
-
sortOrder: z.ZodNumber;
|
|
24
|
-
id: z.ZodUUID;
|
|
25
|
-
createdAt: z.ZodISODateTime;
|
|
26
|
-
updatedAt: z.ZodISODateTime;
|
|
27
|
-
}, z.core.$strict>;
|
|
28
|
-
export declare const tagSchema: z.ZodObject<{
|
|
29
|
-
name: z.ZodString;
|
|
30
|
-
slug: z.ZodString;
|
|
31
|
-
id: z.ZodUUID;
|
|
32
|
-
createdAt: z.ZodISODateTime;
|
|
33
|
-
updatedAt: z.ZodISODateTime;
|
|
34
|
-
}, z.core.$strict>;
|
|
35
|
-
export declare const postSchema: z.ZodObject<{
|
|
36
|
-
id: z.ZodUUID;
|
|
37
|
-
categoryId: z.ZodUUID;
|
|
38
|
-
title: z.ZodString;
|
|
39
|
-
slug: z.ZodString;
|
|
40
|
-
summary: z.ZodNullable<z.ZodString>;
|
|
41
|
-
coverUrl: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodURL]>>;
|
|
42
|
-
content: z.ZodString;
|
|
43
|
-
status: z.ZodEnum<{
|
|
44
|
-
archived: "archived";
|
|
45
|
-
draft: "draft";
|
|
46
|
-
published: "published";
|
|
47
|
-
}>;
|
|
48
|
-
publishedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
49
|
-
createdAt: z.ZodISODateTime;
|
|
50
|
-
updatedAt: z.ZodISODateTime;
|
|
51
|
-
tags: z.ZodArray<z.ZodObject<{
|
|
52
|
-
name: z.ZodString;
|
|
53
|
-
slug: z.ZodString;
|
|
54
|
-
id: z.ZodUUID;
|
|
55
|
-
createdAt: z.ZodISODateTime;
|
|
56
|
-
updatedAt: z.ZodISODateTime;
|
|
57
|
-
}, z.core.$strict>>;
|
|
58
|
-
}, z.core.$strict>;
|
|
59
|
-
export declare const postSearchSchema: z.ZodObject<{
|
|
60
|
-
id: z.ZodUUID;
|
|
61
|
-
categoryId: z.ZodUUID;
|
|
62
|
-
title: z.ZodString;
|
|
63
|
-
slug: z.ZodString;
|
|
64
|
-
summary: z.ZodNullable<z.ZodString>;
|
|
65
|
-
coverUrl: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodURL]>>;
|
|
66
|
-
status: z.ZodEnum<{
|
|
67
|
-
archived: "archived";
|
|
68
|
-
draft: "draft";
|
|
69
|
-
published: "published";
|
|
70
|
-
}>;
|
|
71
|
-
publishedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
72
|
-
createdAt: z.ZodISODateTime;
|
|
73
|
-
updatedAt: z.ZodISODateTime;
|
|
74
|
-
tags: z.ZodArray<z.ZodObject<{
|
|
75
|
-
name: z.ZodString;
|
|
76
|
-
slug: z.ZodString;
|
|
77
|
-
id: z.ZodUUID;
|
|
78
|
-
createdAt: z.ZodISODateTime;
|
|
79
|
-
updatedAt: z.ZodISODateTime;
|
|
80
|
-
}, z.core.$strict>>;
|
|
81
|
-
}, z.core.$strict>;
|
|
82
|
-
export declare const pageSchema: z.ZodObject<{
|
|
83
|
-
title: z.ZodString;
|
|
84
|
-
slug: z.ZodString;
|
|
85
|
-
summary: z.ZodString;
|
|
86
|
-
content: z.ZodString;
|
|
87
|
-
position: z.ZodNullable<z.ZodEnum<{
|
|
88
|
-
navigation: "navigation";
|
|
89
|
-
sidebar: "sidebar";
|
|
90
|
-
}>>;
|
|
91
|
-
sortOrder: z.ZodNumber;
|
|
92
|
-
id: z.ZodUUID;
|
|
93
|
-
status: z.ZodEnum<{
|
|
94
|
-
archived: "archived";
|
|
95
|
-
draft: "draft";
|
|
96
|
-
published: "published";
|
|
97
|
-
}>;
|
|
98
|
-
publishedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
99
|
-
createdAt: z.ZodISODateTime;
|
|
100
|
-
updatedAt: z.ZodISODateTime;
|
|
101
|
-
}, z.core.$strict>;
|
|
102
|
-
export declare const commentSchema: z.ZodObject<{
|
|
103
|
-
id: z.ZodUUID;
|
|
104
|
-
postId: z.ZodUUID;
|
|
105
|
-
userId: z.ZodUUID;
|
|
106
|
-
content: z.ZodString;
|
|
107
|
-
replyContent: z.ZodNullable<z.ZodString>;
|
|
108
|
-
ipAddress: z.ZodNullable<z.ZodUnion<readonly [z.ZodIPv4, z.ZodIPv6]>>;
|
|
109
|
-
userAgent: z.ZodNullable<z.ZodString>;
|
|
110
|
-
ipLocation: z.ZodNullable<z.ZodString>;
|
|
111
|
-
clientLabel: z.ZodNullable<z.ZodString>;
|
|
112
|
-
repliedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
113
|
-
status: z.ZodEnum<{
|
|
114
|
-
approved: "approved";
|
|
115
|
-
pending: "pending";
|
|
116
|
-
rejected: "rejected";
|
|
117
|
-
}>;
|
|
118
|
-
createdAt: z.ZodISODateTime;
|
|
119
|
-
updatedAt: z.ZodISODateTime;
|
|
120
|
-
}, z.core.$strict>;
|
|
121
|
-
export declare const friendLinkSchema: z.ZodObject<{
|
|
122
|
-
name: z.ZodString;
|
|
123
|
-
url: z.ZodURL;
|
|
124
|
-
description: z.ZodNullable<z.ZodString>;
|
|
125
|
-
logoUrl: z.ZodNullable<z.ZodUnion<readonly [z.ZodString, z.ZodURL]>>;
|
|
126
|
-
enabled: z.ZodBoolean;
|
|
127
|
-
sortOrder: z.ZodNumber;
|
|
128
|
-
id: z.ZodUUID;
|
|
129
|
-
createdAt: z.ZodISODateTime;
|
|
130
|
-
updatedAt: z.ZodISODateTime;
|
|
131
|
-
}, z.core.$strict>;
|
|
132
|
-
export declare const deletedSchema: z.ZodObject<{
|
|
133
|
-
deleted: z.ZodLiteral<true>;
|
|
134
|
-
id: z.ZodUUID;
|
|
135
|
-
}, z.core.$strict>;
|
|
7
|
+
export type BlogMcpCallOptions = Readonly<{
|
|
8
|
+
context: ExecutionContext;
|
|
9
|
+
signal: AbortSignal;
|
|
10
|
+
}>;
|
|
11
|
+
export type BlogManagementToolClient = BlogManagementClient<BlogMcpCallOptions>;
|
|
136
12
|
export type RecoverableToolFailure = Readonly<{
|
|
137
13
|
message: string;
|
|
138
14
|
structuredContent: Readonly<Record<string, unknown>>;
|
|
@@ -140,8 +16,8 @@ export type RecoverableToolFailure = Readonly<{
|
|
|
140
16
|
export type WriteToolOptions<I> = Readonly<{
|
|
141
17
|
recover?: (error: unknown, input: I) => RecoverableToolFailure | undefined;
|
|
142
18
|
}>;
|
|
143
|
-
export declare function readTool<I extends z.ZodType, O extends z.ZodType>(name: BlogMcpToolName, title: string, inputSchema: I, outputSchema: O, handler: (input: z.infer<I>, options:
|
|
144
|
-
export declare function writeTool<I extends z.ZodType, O extends z.ZodType>(name: BlogMcpToolName, title: string, inputSchema: I, outputSchema: O, handler: (input: z.infer<I>, options:
|
|
145
|
-
export declare function moderateTool<I extends z.ZodType, O extends z.ZodType>(name: BlogMcpToolName, title: string, inputSchema: I, outputSchema: O, handler: (input: z.infer<I>, options:
|
|
19
|
+
export declare function readTool<I extends z.ZodType, O extends z.ZodType>(name: BlogMcpToolName, title: string, inputSchema: I, outputSchema: O, handler: (input: z.infer<I>, options: BlogMcpCallOptions) => Promise<z.infer<O>>, scope?: string): import("@hile/mcp").McpToolDefinition<z.input<I>, z.TypeOf<I>>;
|
|
20
|
+
export declare function writeTool<I extends z.ZodType, O extends z.ZodType>(name: BlogMcpToolName, title: string, inputSchema: I, outputSchema: O, handler: (input: z.infer<I>, options: BlogMcpCallOptions, principal: McpPrincipal | undefined) => Promise<z.infer<O>>, destructive?: boolean, options?: WriteToolOptions<z.infer<I>>): import("@hile/mcp").McpToolDefinition<z.input<I>, z.TypeOf<I>>;
|
|
21
|
+
export declare function moderateTool<I extends z.ZodType, O extends z.ZodType>(name: BlogMcpToolName, title: string, inputSchema: I, outputSchema: O, handler: (input: z.infer<I>, options: BlogMcpCallOptions) => Promise<z.infer<O>>, destructive?: boolean): import("@hile/mcp").McpToolDefinition<z.input<I>, z.TypeOf<I>>;
|
|
146
22
|
export {};
|
|
147
23
|
//# sourceMappingURL=tool-support.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-support.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-support.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-support.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAMnE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,KAAK,eAAe,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAClC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;AAE3C,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,QAAQ,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,sBAAsB,GAAG,SAAS,CAAC;CAC5E,CAAC,CAAC;AAEH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAC/D,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,CACP,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACxB,KAAK,SAAsB,kEA2B5B;AACD,wBAAgB,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EAChE,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,CACP,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,YAAY,GAAG,SAAS,KAChC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACxB,WAAW,UAAQ,EACnB,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kEAqCvC;AACD,wBAAgB,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,EACnE,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,OAAO,EAAE,CACP,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,kBAAkB,KACxB,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EACxB,WAAW,UAAQ,kEA2BpB"}
|
package/dist/mcp/tool-support.js
CHANGED
|
@@ -1,38 +1,6 @@
|
|
|
1
1
|
import { defineMcpTool } from '@hile/mcp';
|
|
2
|
-
import { blogManagementCategorySchema, blogManagementCommentSchema, blogManagementDeletedSchema, blogManagementFriendLinkSchema, blogManagementIdInputSchema, blogManagementListInputSchema, blogManagementPageSchema, blogManagementPostSchema, blogManagementPostSearchSchema, blogManagementTagSchema, } from '@zlooks.cn/blog-shared';
|
|
3
2
|
import { BLOG_MCP_MODERATE_SCOPE, BLOG_MCP_READ_SCOPE, BLOG_MCP_WRITE_SCOPE, } from '../contracts/mcp.js';
|
|
4
|
-
import { z } from 'zod';
|
|
5
3
|
import { blogToolDescription } from './tool-descriptions.js';
|
|
6
|
-
export const idInput = blogManagementIdInputSchema;
|
|
7
|
-
export const listInput = blogManagementListInputSchema;
|
|
8
|
-
export const dateTime = z.iso.datetime({ offset: true });
|
|
9
|
-
export const databaseInteger = z
|
|
10
|
-
.number()
|
|
11
|
-
.int()
|
|
12
|
-
.min(-2_147_483_648)
|
|
13
|
-
.max(2_147_483_647);
|
|
14
|
-
export const nullableText = (max) => z.string().trim().min(1).max(max).nullable();
|
|
15
|
-
export const slug = (max) => z
|
|
16
|
-
.string()
|
|
17
|
-
.trim()
|
|
18
|
-
.min(1)
|
|
19
|
-
.max(max)
|
|
20
|
-
.regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/);
|
|
21
|
-
export const internalUrl = z
|
|
22
|
-
.string()
|
|
23
|
-
.min(1)
|
|
24
|
-
.max(2_048)
|
|
25
|
-
.regex(/^\/(?!\/)[^\s]*$/);
|
|
26
|
-
export const externalUrl = z.url({ protocol: /^https?$/ }).max(2_048);
|
|
27
|
-
export const assetUrl = z.union([internalUrl, externalUrl]);
|
|
28
|
-
export const categorySchema = blogManagementCategorySchema;
|
|
29
|
-
export const tagSchema = blogManagementTagSchema;
|
|
30
|
-
export const postSchema = blogManagementPostSchema;
|
|
31
|
-
export const postSearchSchema = blogManagementPostSearchSchema;
|
|
32
|
-
export const pageSchema = blogManagementPageSchema;
|
|
33
|
-
export const commentSchema = blogManagementCommentSchema;
|
|
34
|
-
export const friendLinkSchema = blogManagementFriendLinkSchema;
|
|
35
|
-
export const deletedSchema = blogManagementDeletedSchema;
|
|
36
4
|
export function readTool(name, title, inputSchema, outputSchema, handler, scope = BLOG_MCP_READ_SCOPE) {
|
|
37
5
|
return defineMcpTool({
|
|
38
6
|
name,
|
|
@@ -77,7 +45,7 @@ export function writeTool(name, title, inputSchema, outputSchema, handler, destr
|
|
|
77
45
|
return result((await handler(input, {
|
|
78
46
|
context: context.executionContext,
|
|
79
47
|
signal: context.signal,
|
|
80
|
-
})));
|
|
48
|
+
}, context.principal)));
|
|
81
49
|
}
|
|
82
50
|
catch (error) {
|
|
83
51
|
const failure = options?.recover?.(error, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-support.js","sourceRoot":"","sources":["../../src/mcp/tool-support.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"tool-support.js","sourceRoot":"","sources":["../../src/mcp/tool-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export default defineHttpOverMicroMessage({
|
|
4
|
-
method: BLOG_HTTP_METHODS,
|
|
5
|
-
}, (context) => handleBlogHttp(context, async (blog, options) => {
|
|
1
|
+
import { BLOG_EMPTY_QUERY_SCHEMA, blogHttpSuccess, defineBlogHttpMessage, } from '../../../../browser-api/http-message.js';
|
|
2
|
+
export default defineBlogHttpMessage(async (context, blog, options) => {
|
|
6
3
|
BLOG_EMPTY_QUERY_SCHEMA.parse(context.request.query);
|
|
7
4
|
return blogHttpSuccess(await blog.listCategories(options));
|
|
8
|
-
})
|
|
5
|
+
});
|
|
9
6
|
//# sourceMappingURL=index.msg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.msg.js","sourceRoot":"","sources":["../../../../../src/messages/api/blog/categories/index.msg.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.msg.js","sourceRoot":"","sources":["../../../../../src/messages/api/blog/categories/index.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AAEjD,eAAe,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpE,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,eAAe,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export default defineHttpOverMicroMessage({
|
|
4
|
-
method: BLOG_HTTP_METHODS,
|
|
5
|
-
}, (context) => handleBlogHttp(context, async (blog, options) => {
|
|
1
|
+
import { BLOG_EMPTY_QUERY_SCHEMA, blogHttpSuccess, defineBlogHttpMessage, } from '../../../../browser-api/http-message.js';
|
|
2
|
+
export default defineBlogHttpMessage(async (context, blog, options) => {
|
|
6
3
|
BLOG_EMPTY_QUERY_SCHEMA.parse(context.request.query);
|
|
7
4
|
return blogHttpSuccess(await blog.listFriendLinks(options));
|
|
8
|
-
})
|
|
5
|
+
});
|
|
9
6
|
//# sourceMappingURL=index.msg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.msg.js","sourceRoot":"","sources":["../../../../../src/messages/api/blog/friend-links/index.msg.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.msg.js","sourceRoot":"","sources":["../../../../../src/messages/api/blog/friend-links/index.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,qBAAqB,GACtB,MAAM,yCAAyC,CAAC;AAEjD,eAAe,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpE,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,eAAe,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { defineHttpOverMicroMessage } from '@hile/http-over-micro';
|
|
2
1
|
import { BLOG_BROWSER_API_ERROR_CODES } from '../../../../../contracts/public-api.js';
|
|
3
|
-
import { BLOG_EMPTY_QUERY_SCHEMA,
|
|
4
|
-
export default
|
|
5
|
-
method: BLOG_HTTP_METHODS,
|
|
6
|
-
}, (context) => handleBlogHttp(context, async (blog, options) => {
|
|
2
|
+
import { BLOG_EMPTY_QUERY_SCHEMA, BLOG_POST_PARAMS_SCHEMA, blogHttpFailure, blogHttpSuccess, defineBlogHttpMessage, } from '../../../../../browser-api/http-message.js';
|
|
3
|
+
export default defineBlogHttpMessage(async (context, blog, options) => {
|
|
7
4
|
BLOG_EMPTY_QUERY_SCHEMA.parse(context.request.query);
|
|
8
5
|
const params = BLOG_POST_PARAMS_SCHEMA.parse(context.params);
|
|
9
6
|
const result = await blog.setPostLiked({
|
|
@@ -13,5 +10,5 @@ export default defineHttpOverMicroMessage({
|
|
|
13
10
|
return result.authenticated
|
|
14
11
|
? blogHttpSuccess(result.result)
|
|
15
12
|
: blogHttpFailure(401, BLOG_BROWSER_API_ERROR_CODES.authenticationRequired, '请登录后点赞');
|
|
16
|
-
}, 'engagement', ['PUT', 'DELETE'])
|
|
13
|
+
}, 'engagement', ['PUT', 'DELETE']);
|
|
17
14
|
//# sourceMappingURL=index.msg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.msg.js","sourceRoot":"","sources":["../../../../../../src/messages/api/blog/likes/[slug]/index.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.msg.js","sourceRoot":"","sources":["../../../../../../src/messages/api/blog/likes/[slug]/index.msg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACtF,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,4CAA4C,CAAC;AAEpD,eAAe,qBAAqB,CAClC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IAC/B,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC;QACE,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK;KACxC,EACD,OAAO,CACR,CAAC;IACF,OAAO,MAAM,CAAC,aAAa;QACzB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,eAAe,CACb,GAAG,EACH,4BAA4B,CAAC,sBAAsB,EACnD,QAAQ,CACT,CAAC;AACR,CAAC,EACD,YAAY,EACZ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAClB,CAAC"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { defineHttpOverMicroMessage } from '@hile/http-over-micro';
|
|
2
1
|
import { blogCreateCommentBodySchema, BLOG_BROWSER_API_ERROR_CODES, } from '../../../../../../contracts/public-api.js';
|
|
3
|
-
import { BLOG_COMMENT_LIST_QUERY_SCHEMA,
|
|
4
|
-
export default
|
|
5
|
-
method: BLOG_HTTP_METHODS,
|
|
6
|
-
}, (context) => handleBlogHttp(context, async (blog, options) => {
|
|
2
|
+
import { BLOG_COMMENT_LIST_QUERY_SCHEMA, BLOG_POST_PARAMS_SCHEMA, blogHttpFailure, blogHttpSuccess, defineBlogHttpMessage, } from '../../../../../../browser-api/http-message.js';
|
|
3
|
+
export default defineBlogHttpMessage(async (context, blog, options) => {
|
|
7
4
|
const params = BLOG_POST_PARAMS_SCHEMA.parse(context.params);
|
|
8
5
|
if (context.request.method === 'GET') {
|
|
9
6
|
const query = BLOG_COMMENT_LIST_QUERY_SCHEMA.parse(context.request.query);
|
|
@@ -17,5 +14,5 @@ export default defineHttpOverMicroMessage({
|
|
|
17
14
|
return result.authenticated
|
|
18
15
|
? blogHttpSuccess(result.comment, 201)
|
|
19
16
|
: blogHttpFailure(401, BLOG_BROWSER_API_ERROR_CODES.authenticationRequired, '请登录后发表评论');
|
|
20
|
-
}, 'comment', ['GET', 'POST'])
|
|
17
|
+
}, 'comment', ['GET', 'POST']);
|
|
21
18
|
//# sourceMappingURL=index.msg.js.map
|