@zlooks.cn/blog-server 1.0.5 → 1.0.7
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 +14 -0
- package/dist/blog/blog-application.d.ts.map +1 -1
- package/dist/blog/blog-application.js +5 -3
- package/dist/blog/blog-application.js.map +1 -1
- package/dist/blog/comment-client-metadata.d.ts +6 -3
- package/dist/blog/comment-client-metadata.d.ts.map +1 -1
- package/dist/blog/comment-client-metadata.js +13 -3
- package/dist/blog/comment-client-metadata.js.map +1 -1
- package/dist/blog/errors.d.ts +6 -0
- package/dist/blog/errors.d.ts.map +1 -1
- package/dist/blog/errors.js +42 -2
- package/dist/blog/errors.js.map +1 -1
- package/dist/blog/post-content-audit.d.ts.map +1 -1
- package/dist/blog/post-content-audit.js +48 -11
- package/dist/blog/post-content-audit.js.map +1 -1
- package/dist/blog/public-blog-service.d.ts +47 -18
- package/dist/blog/public-blog-service.d.ts.map +1 -1
- package/dist/blog/public-blog-service.js +132 -91
- package/dist/blog/public-blog-service.js.map +1 -1
- package/dist/browser-api/http-message.d.ts +53 -0
- package/dist/browser-api/http-message.d.ts.map +1 -0
- package/dist/browser-api/http-message.js +157 -0
- package/dist/browser-api/http-message.js.map +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +10 -3
- package/dist/config/schema.js.map +1 -1
- package/dist/contracts/public-api.d.ts +1 -1
- package/dist/contracts/public-api.d.ts.map +1 -1
- package/dist/contracts/public-api.js +1 -1
- package/dist/contracts/public-api.js.map +1 -1
- package/dist/events/blog-domain-events.d.ts.map +1 -1
- package/dist/events/blog-domain-events.js +54 -21
- package/dist/events/blog-domain-events.js.map +1 -1
- package/dist/mcp/blog-provider.d.ts +2 -3
- package/dist/mcp/blog-provider.d.ts.map +1 -1
- package/dist/mcp/blog-provider.js +3 -3
- package/dist/mcp/blog-provider.js.map +1 -1
- package/dist/mcp/blog-resources.d.ts +2 -1
- package/dist/mcp/blog-resources.d.ts.map +1 -1
- package/dist/mcp/blog-resources.js +25 -63
- package/dist/mcp/blog-resources.js.map +1 -1
- package/dist/mcp/category-tools.d.ts +2 -2
- package/dist/mcp/category-tools.d.ts.map +1 -1
- package/dist/mcp/category-tools.js +17 -7
- package/dist/mcp/category-tools.js.map +1 -1
- package/dist/mcp/comment-tools.d.ts +2 -2
- package/dist/mcp/comment-tools.d.ts.map +1 -1
- package/dist/mcp/comment-tools.js +23 -9
- package/dist/mcp/comment-tools.js.map +1 -1
- package/dist/mcp/friend-link-tools.d.ts +2 -2
- package/dist/mcp/friend-link-tools.d.ts.map +1 -1
- package/dist/mcp/friend-link-tools.js +22 -10
- package/dist/mcp/friend-link-tools.js.map +1 -1
- package/dist/mcp/page-tools.d.ts +2 -2
- package/dist/mcp/page-tools.d.ts.map +1 -1
- package/dist/mcp/page-tools.js +13 -14
- package/dist/mcp/page-tools.js.map +1 -1
- package/dist/mcp/post-tools.d.ts +2 -2
- package/dist/mcp/post-tools.d.ts.map +1 -1
- package/dist/mcp/post-tools.js +104 -70
- package/dist/mcp/post-tools.js.map +1 -1
- package/dist/mcp/tag-tools.d.ts +2 -2
- package/dist/mcp/tag-tools.d.ts.map +1 -1
- package/dist/mcp/tag-tools.js +15 -7
- package/dist/mcp/tag-tools.js.map +1 -1
- package/dist/mcp/theme-tools.d.ts +2 -2
- package/dist/mcp/theme-tools.d.ts.map +1 -1
- package/dist/mcp/theme-tools.js +69 -40
- package/dist/mcp/theme-tools.js.map +1 -1
- package/dist/mcp/tool-support.d.ts +16 -111
- package/dist/mcp/tool-support.d.ts.map +1 -1
- package/dist/mcp/tool-support.js +84 -93
- package/dist/mcp/tool-support.js.map +1 -1
- package/dist/messages/api/blog/[path+]/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/[path+]/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/[path+]/index.msg.js +7 -0
- package/dist/messages/api/blog/[path+]/index.msg.js.map +1 -0
- package/dist/messages/api/blog/categories/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/categories/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/categories/index.msg.js +9 -0
- package/dist/messages/api/blog/categories/index.msg.js.map +1 -0
- package/dist/messages/api/blog/friend-links/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/friend-links/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/friend-links/index.msg.js +9 -0
- package/dist/messages/api/blog/friend-links/index.msg.js.map +1 -0
- package/dist/messages/api/blog/likes/[slug]/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/likes/[slug]/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/likes/[slug]/index.msg.js +17 -0
- package/dist/messages/api/blog/likes/[slug]/index.msg.js.map +1 -0
- package/dist/messages/api/blog/posts/[slug]/comments/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/posts/[slug]/comments/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/posts/[slug]/comments/index.msg.js +21 -0
- package/dist/messages/api/blog/posts/[slug]/comments/index.msg.js.map +1 -0
- package/dist/messages/api/blog/posts/[slug]/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/posts/[slug]/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/posts/[slug]/index.msg.js +14 -0
- package/dist/messages/api/blog/posts/[slug]/index.msg.js.map +1 -0
- package/dist/messages/api/blog/posts/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/posts/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/posts/index.msg.js +15 -0
- package/dist/messages/api/blog/posts/index.msg.js.map +1 -0
- package/dist/messages/api/blog/search/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/search/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/search/index.msg.js +12 -0
- package/dist/messages/api/blog/search/index.msg.js.map +1 -0
- package/dist/messages/api/blog/tags/index.msg.d.ts +3 -0
- package/dist/messages/api/blog/tags/index.msg.d.ts.map +1 -0
- package/dist/messages/api/blog/tags/index.msg.js +9 -0
- package/dist/messages/api/blog/tags/index.msg.js.map +1 -0
- package/dist/messages/management/categories.msg.d.ts +3 -0
- package/dist/messages/management/categories.msg.d.ts.map +1 -0
- package/dist/messages/management/categories.msg.js +21 -0
- package/dist/messages/management/categories.msg.js.map +1 -0
- package/dist/messages/{browser/dispatch.msg.d.ts → management/comments.msg.d.ts} +1 -1
- package/dist/messages/management/comments.msg.d.ts.map +1 -0
- package/dist/messages/management/comments.msg.js +24 -0
- package/dist/messages/management/comments.msg.js.map +1 -0
- package/dist/messages/management/friend-links.msg.d.ts +3 -0
- package/dist/messages/management/friend-links.msg.d.ts.map +1 -0
- package/dist/messages/management/friend-links.msg.js +27 -0
- package/dist/messages/management/friend-links.msg.js.map +1 -0
- package/dist/messages/management/pages.msg.d.ts +3 -0
- package/dist/messages/management/pages.msg.d.ts.map +1 -0
- package/dist/messages/management/pages.msg.js +27 -0
- package/dist/messages/management/pages.msg.js.map +1 -0
- package/dist/messages/management/posts.msg.d.ts +3 -0
- package/dist/messages/management/posts.msg.d.ts.map +1 -0
- package/dist/messages/management/posts.msg.js +48 -0
- package/dist/messages/management/posts.msg.js.map +1 -0
- package/dist/messages/management/tags.msg.d.ts +3 -0
- package/dist/messages/management/tags.msg.d.ts.map +1 -0
- package/dist/messages/management/tags.msg.js +21 -0
- package/dist/messages/management/tags.msg.js.map +1 -0
- package/dist/messages/management/themes.msg.d.ts +3 -0
- package/dist/messages/management/themes.msg.d.ts.map +1 -0
- package/dist/messages/management/themes.msg.js +18 -0
- package/dist/messages/management/themes.msg.js.map +1 -0
- package/dist/messages/model-message.d.ts +5 -0
- package/dist/messages/model-message.d.ts.map +1 -0
- package/dist/messages/model-message.js +9 -0
- package/dist/messages/model-message.js.map +1 -0
- package/dist/messages/public/categories/list.msg.js +3 -7
- package/dist/messages/public/categories/list.msg.js.map +1 -1
- package/dist/messages/public/comments/create.msg.d.ts +3 -0
- package/dist/messages/public/comments/create.msg.d.ts.map +1 -0
- package/dist/messages/public/comments/create.msg.js +38 -0
- package/dist/messages/public/comments/create.msg.js.map +1 -0
- package/dist/messages/public/comments/list.msg.js +20 -4
- package/dist/messages/public/comments/list.msg.js.map +1 -1
- package/dist/messages/public/comments/recent.msg.js +12 -4
- package/dist/messages/public/comments/recent.msg.js.map +1 -1
- package/dist/messages/public/friend-links/list.msg.js +3 -7
- package/dist/messages/public/friend-links/list.msg.js.map +1 -1
- package/dist/messages/public/pages/list.msg.js +3 -7
- package/dist/messages/public/pages/list.msg.js.map +1 -1
- package/dist/messages/public/pages/read.msg.js +3 -7
- package/dist/messages/public/pages/read.msg.js.map +1 -1
- package/dist/messages/public/posts/archive.msg.js +3 -7
- package/dist/messages/public/posts/archive.msg.js.map +1 -1
- package/dist/messages/public/posts/connections.msg.js +3 -7
- package/dist/messages/public/posts/connections.msg.js.map +1 -1
- package/dist/messages/public/posts/list.msg.js +20 -4
- package/dist/messages/public/posts/list.msg.js.map +1 -1
- package/dist/messages/public/posts/open.msg.js +12 -4
- package/dist/messages/public/posts/open.msg.js.map +1 -1
- package/dist/messages/public/posts/read.msg.js +3 -7
- package/dist/messages/public/posts/read.msg.js.map +1 -1
- package/dist/messages/public/posts/search.msg.d.ts +3 -0
- package/dist/messages/public/posts/search.msg.d.ts.map +1 -0
- package/dist/messages/public/posts/search.msg.js +4 -0
- package/dist/messages/public/posts/search.msg.js.map +1 -0
- package/dist/messages/public/posts/set-liked.msg.d.ts +3 -0
- package/dist/messages/public/posts/set-liked.msg.d.ts.map +1 -0
- package/dist/messages/public/posts/set-liked.msg.js +36 -0
- package/dist/messages/public/posts/set-liked.msg.js.map +1 -0
- package/dist/messages/public/tags/list.msg.js +3 -7
- package/dist/messages/public/tags/list.msg.js.map +1 -1
- package/dist/messages/resources/event-catalog.msg.d.ts +3 -0
- package/dist/messages/resources/event-catalog.msg.d.ts.map +1 -0
- package/dist/messages/resources/event-catalog.msg.js +4 -0
- package/dist/messages/resources/event-catalog.msg.js.map +1 -0
- package/dist/messages/resources/theme-authoring-contract.msg.d.ts +3 -0
- package/dist/messages/resources/theme-authoring-contract.msg.d.ts.map +1 -0
- package/dist/messages/resources/theme-authoring-contract.msg.js +4 -0
- package/dist/messages/resources/theme-authoring-contract.msg.js.map +1 -0
- package/dist/messages/sitemap/entries.msg.d.ts +3 -0
- package/dist/messages/sitemap/entries.msg.d.ts.map +1 -0
- package/dist/messages/sitemap/entries.msg.js +9 -0
- package/dist/messages/sitemap/entries.msg.js.map +1 -0
- package/dist/messages/user-context.d.ts +21 -0
- package/dist/messages/user-context.d.ts.map +1 -0
- package/dist/messages/user-context.js +47 -0
- package/dist/messages/user-context.js.map +1 -0
- package/dist/migrations/index.d.ts +2 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +51 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/models/blog-resource-documents.d.ts +33 -0
- package/dist/models/blog-resource-documents.d.ts.map +1 -0
- package/dist/models/blog-resource-documents.js +60 -0
- package/dist/models/blog-resource-documents.js.map +1 -0
- package/dist/models/management/approve-comment.model.d.ts +23 -0
- package/dist/models/management/approve-comment.model.d.ts.map +1 -0
- package/dist/models/management/approve-comment.model.js +14 -0
- package/dist/models/management/approve-comment.model.js.map +1 -0
- package/dist/models/management/archive-page.model.d.ts +21 -0
- package/dist/models/management/archive-page.model.d.ts.map +1 -0
- package/dist/models/management/archive-page.model.js +14 -0
- package/dist/models/management/archive-page.model.js.map +1 -0
- package/dist/models/management/archive-post.model.d.ts +28 -0
- package/dist/models/management/archive-post.model.d.ts.map +1 -0
- package/dist/models/management/archive-post.model.js +14 -0
- package/dist/models/management/archive-post.model.js.map +1 -0
- package/dist/models/management/audit-post-content.model.d.ts +21 -0
- package/dist/models/management/audit-post-content.model.d.ts.map +1 -0
- package/dist/models/management/audit-post-content.model.js +12 -0
- package/dist/models/management/audit-post-content.model.js.map +1 -0
- package/dist/models/management/create-category.model.d.ts +17 -0
- package/dist/models/management/create-category.model.d.ts.map +1 -0
- package/dist/models/management/create-category.model.js +14 -0
- package/dist/models/management/create-category.model.js.map +1 -0
- package/dist/models/management/create-friend-link.model.d.ts +19 -0
- package/dist/models/management/create-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/create-friend-link.model.js +14 -0
- package/dist/models/management/create-friend-link.model.js.map +1 -0
- package/dist/models/management/create-page.model.d.ts +21 -0
- package/dist/models/management/create-page.model.d.ts.map +1 -0
- package/dist/models/management/create-page.model.js +14 -0
- package/dist/models/management/create-page.model.js.map +1 -0
- package/dist/models/management/create-post.model.d.ts +28 -0
- package/dist/models/management/create-post.model.d.ts.map +1 -0
- package/dist/models/management/create-post.model.js +14 -0
- package/dist/models/management/create-post.model.js.map +1 -0
- package/dist/models/management/create-tag.model.d.ts +15 -0
- package/dist/models/management/create-tag.model.d.ts.map +1 -0
- package/dist/models/management/create-tag.model.js +14 -0
- package/dist/models/management/create-tag.model.js.map +1 -0
- package/dist/models/management/delete-category.model.d.ts +10 -0
- package/dist/models/management/delete-category.model.d.ts.map +1 -0
- package/dist/models/management/delete-category.model.js +12 -0
- package/dist/models/management/delete-category.model.js.map +1 -0
- package/dist/models/management/delete-comment.model.d.ts +10 -0
- package/dist/models/management/delete-comment.model.d.ts.map +1 -0
- package/dist/models/management/delete-comment.model.js +12 -0
- package/dist/models/management/delete-comment.model.js.map +1 -0
- package/dist/models/management/delete-friend-link.model.d.ts +10 -0
- package/dist/models/management/delete-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/delete-friend-link.model.js +12 -0
- package/dist/models/management/delete-friend-link.model.js.map +1 -0
- package/dist/models/management/delete-page.model.d.ts +10 -0
- package/dist/models/management/delete-page.model.d.ts.map +1 -0
- package/dist/models/management/delete-page.model.js +12 -0
- package/dist/models/management/delete-page.model.js.map +1 -0
- package/dist/models/management/delete-post.model.d.ts +10 -0
- package/dist/models/management/delete-post.model.d.ts.map +1 -0
- package/dist/models/management/delete-post.model.js +12 -0
- package/dist/models/management/delete-post.model.js.map +1 -0
- package/dist/models/management/delete-tag.model.d.ts +10 -0
- package/dist/models/management/delete-tag.model.d.ts.map +1 -0
- package/dist/models/management/delete-tag.model.js +12 -0
- package/dist/models/management/delete-tag.model.js.map +1 -0
- package/dist/models/management/disable-friend-link.model.d.ts +19 -0
- package/dist/models/management/disable-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/disable-friend-link.model.js +14 -0
- package/dist/models/management/disable-friend-link.model.js.map +1 -0
- package/dist/models/management/enable-friend-link.model.d.ts +19 -0
- package/dist/models/management/enable-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/enable-friend-link.model.js +14 -0
- package/dist/models/management/enable-friend-link.model.js.map +1 -0
- package/dist/models/management/list-category.model.d.ts +18 -0
- package/dist/models/management/list-category.model.d.ts.map +1 -0
- package/dist/models/management/list-category.model.js +13 -0
- package/dist/models/management/list-category.model.js.map +1 -0
- package/dist/models/management/list-comment.model.d.ts +24 -0
- package/dist/models/management/list-comment.model.d.ts.map +1 -0
- package/dist/models/management/list-comment.model.js +13 -0
- package/dist/models/management/list-comment.model.js.map +1 -0
- package/dist/models/management/list-friend-link.model.d.ts +20 -0
- package/dist/models/management/list-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/list-friend-link.model.js +16 -0
- package/dist/models/management/list-friend-link.model.js.map +1 -0
- package/dist/models/management/list-page.model.d.ts +22 -0
- package/dist/models/management/list-page.model.d.ts.map +1 -0
- package/dist/models/management/list-page.model.js +13 -0
- package/dist/models/management/list-page.model.js.map +1 -0
- package/dist/models/management/list-post-archive.model.d.ts +30 -0
- package/dist/models/management/list-post-archive.model.d.ts.map +1 -0
- package/dist/models/management/list-post-archive.model.js +32 -0
- package/dist/models/management/list-post-archive.model.js.map +1 -0
- package/dist/models/management/list-post.model.d.ts +29 -0
- package/dist/models/management/list-post.model.d.ts.map +1 -0
- package/dist/models/management/list-post.model.js +13 -0
- package/dist/models/management/list-post.model.js.map +1 -0
- package/dist/models/management/list-tag.model.d.ts +16 -0
- package/dist/models/management/list-tag.model.d.ts.map +1 -0
- package/dist/models/management/list-tag.model.js +13 -0
- package/dist/models/management/list-tag.model.js.map +1 -0
- package/dist/models/management/list-theme.model.d.ts +3 -0
- package/dist/models/management/list-theme.model.d.ts.map +1 -0
- package/dist/models/management/list-theme.model.js +12 -0
- package/dist/models/management/list-theme.model.js.map +1 -0
- package/dist/models/management/publish-page.model.d.ts +21 -0
- package/dist/models/management/publish-page.model.d.ts.map +1 -0
- package/dist/models/management/publish-page.model.js +14 -0
- package/dist/models/management/publish-page.model.js.map +1 -0
- package/dist/models/management/publish-post.model.d.ts +28 -0
- package/dist/models/management/publish-post.model.d.ts.map +1 -0
- package/dist/models/management/publish-post.model.js +14 -0
- package/dist/models/management/publish-post.model.js.map +1 -0
- package/dist/models/management/read-category.model.d.ts +17 -0
- package/dist/models/management/read-category.model.d.ts.map +1 -0
- package/dist/models/management/read-category.model.js +14 -0
- package/dist/models/management/read-category.model.js.map +1 -0
- package/dist/models/management/read-comment.model.d.ts +23 -0
- package/dist/models/management/read-comment.model.d.ts.map +1 -0
- package/dist/models/management/read-comment.model.js +14 -0
- package/dist/models/management/read-comment.model.js.map +1 -0
- package/dist/models/management/read-friend-link.model.d.ts +19 -0
- package/dist/models/management/read-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/read-friend-link.model.js +14 -0
- package/dist/models/management/read-friend-link.model.js.map +1 -0
- package/dist/models/management/read-page.model.d.ts +21 -0
- package/dist/models/management/read-page.model.d.ts.map +1 -0
- package/dist/models/management/read-page.model.js +14 -0
- package/dist/models/management/read-page.model.js.map +1 -0
- package/dist/models/management/read-post.model.d.ts +28 -0
- package/dist/models/management/read-post.model.d.ts.map +1 -0
- package/dist/models/management/read-post.model.js +14 -0
- package/dist/models/management/read-post.model.js.map +1 -0
- package/dist/models/management/read-tag.model.d.ts +15 -0
- package/dist/models/management/read-tag.model.d.ts.map +1 -0
- package/dist/models/management/read-tag.model.js +14 -0
- package/dist/models/management/read-tag.model.js.map +1 -0
- package/dist/models/management/read-theme-selection.model.d.ts +8 -0
- package/dist/models/management/read-theme-selection.model.d.ts.map +1 -0
- package/dist/models/management/read-theme-selection.model.js +12 -0
- package/dist/models/management/read-theme-selection.model.js.map +1 -0
- package/dist/models/management/read-theme-status.model.d.ts +3 -0
- package/dist/models/management/read-theme-status.model.d.ts.map +1 -0
- package/dist/models/management/read-theme-status.model.js +14 -0
- package/dist/models/management/read-theme-status.model.js.map +1 -0
- package/dist/models/management/reject-comment.model.d.ts +23 -0
- package/dist/models/management/reject-comment.model.d.ts.map +1 -0
- package/dist/models/management/reject-comment.model.js +14 -0
- package/dist/models/management/reject-comment.model.js.map +1 -0
- package/dist/models/management/reply-comment.model.d.ts +23 -0
- package/dist/models/management/reply-comment.model.d.ts.map +1 -0
- package/dist/models/management/reply-comment.model.js +18 -0
- package/dist/models/management/reply-comment.model.js.map +1 -0
- package/dist/models/management/search-post.model.d.ts +27 -0
- package/dist/models/management/search-post.model.d.ts.map +1 -0
- package/dist/models/management/search-post.model.js +18 -0
- package/dist/models/management/search-post.model.js.map +1 -0
- package/dist/models/management/select-theme.model.d.ts +3 -0
- package/dist/models/management/select-theme.model.d.ts.map +1 -0
- package/dist/models/management/select-theme.model.js +16 -0
- package/dist/models/management/select-theme.model.js.map +1 -0
- package/dist/models/management/update-category.model.d.ts +17 -0
- package/dist/models/management/update-category.model.d.ts.map +1 -0
- package/dist/models/management/update-category.model.js +16 -0
- package/dist/models/management/update-category.model.js.map +1 -0
- package/dist/models/management/update-friend-link.model.d.ts +19 -0
- package/dist/models/management/update-friend-link.model.d.ts.map +1 -0
- package/dist/models/management/update-friend-link.model.js +16 -0
- package/dist/models/management/update-friend-link.model.js.map +1 -0
- package/dist/models/management/update-page.model.d.ts +21 -0
- package/dist/models/management/update-page.model.d.ts.map +1 -0
- package/dist/models/management/update-page.model.js +16 -0
- package/dist/models/management/update-page.model.js.map +1 -0
- package/dist/models/management/update-post.model.d.ts +28 -0
- package/dist/models/management/update-post.model.d.ts.map +1 -0
- package/dist/models/management/update-post.model.js +16 -0
- package/dist/models/management/update-post.model.js.map +1 -0
- package/dist/models/management/update-tag.model.d.ts +15 -0
- package/dist/models/management/update-tag.model.d.ts.map +1 -0
- package/dist/models/management/update-tag.model.js +16 -0
- package/dist/models/management/update-tag.model.js.map +1 -0
- package/dist/models/management-projection.d.ts +97 -0
- package/dist/models/management-projection.d.ts.map +1 -0
- package/dist/models/management-projection.js +76 -0
- package/dist/models/management-projection.js.map +1 -0
- package/dist/models/public/create-comment.model.d.ts +24 -0
- package/dist/models/public/create-comment.model.d.ts.map +1 -0
- package/dist/models/public/create-comment.model.js +12 -0
- package/dist/models/public/create-comment.model.js.map +1 -0
- package/dist/models/public/list-categories.model.d.ts +14 -0
- package/dist/models/public/list-categories.model.d.ts.map +1 -0
- package/dist/models/public/list-categories.model.js +11 -0
- package/dist/models/public/list-categories.model.js.map +1 -0
- package/dist/models/public/list-comments.model.d.ts +13 -0
- package/dist/models/public/list-comments.model.d.ts.map +1 -0
- package/dist/models/public/list-comments.model.js +16 -0
- package/dist/models/public/list-comments.model.js.map +1 -0
- package/dist/models/public/list-friend-links.model.d.ts +14 -0
- package/dist/models/public/list-friend-links.model.d.ts.map +1 -0
- package/dist/models/public/list-friend-links.model.js +11 -0
- package/dist/models/public/list-friend-links.model.js.map +1 -0
- package/dist/models/public/list-pages.model.d.ts +16 -0
- package/dist/models/public/list-pages.model.d.ts.map +1 -0
- package/dist/models/public/list-pages.model.js +11 -0
- package/dist/models/public/list-pages.model.js.map +1 -0
- package/dist/models/public/list-post-archive.model.d.ts +36 -0
- package/dist/models/public/list-post-archive.model.d.ts.map +1 -0
- package/dist/models/public/list-post-archive.model.js +11 -0
- package/dist/models/public/list-post-archive.model.js.map +1 -0
- package/dist/models/public/list-posts.model.d.ts +31 -0
- package/dist/models/public/list-posts.model.d.ts.map +1 -0
- package/dist/models/public/list-posts.model.js +17 -0
- package/dist/models/public/list-posts.model.js.map +1 -0
- package/dist/models/public/list-recent-comments.model.d.ts +10 -0
- package/dist/models/public/list-recent-comments.model.d.ts.map +1 -0
- package/dist/models/public/list-recent-comments.model.js +15 -0
- package/dist/models/public/list-recent-comments.model.js.map +1 -0
- package/dist/models/public/list-tags.model.d.ts +11 -0
- package/dist/models/public/list-tags.model.d.ts.map +1 -0
- package/dist/models/public/list-tags.model.js +11 -0
- package/dist/models/public/list-tags.model.js.map +1 -0
- package/dist/models/public/open-post.model.d.ts +38 -0
- package/dist/models/public/open-post.model.d.ts.map +1 -0
- package/dist/models/public/open-post.model.js +13 -0
- package/dist/models/public/open-post.model.js.map +1 -0
- package/dist/models/public/project-comments.model.d.ts +27 -0
- package/dist/models/public/project-comments.model.d.ts.map +1 -0
- package/dist/models/public/project-comments.model.js +12 -0
- package/dist/models/public/project-comments.model.js.map +1 -0
- package/dist/models/public/project-recent-comments.model.d.ts +31 -0
- package/dist/models/public/project-recent-comments.model.d.ts.map +1 -0
- package/dist/models/public/project-recent-comments.model.js +12 -0
- package/dist/models/public/project-recent-comments.model.js.map +1 -0
- package/dist/models/public/public-model-inputs.d.ts +99 -0
- package/dist/models/public/public-model-inputs.d.ts.map +1 -0
- package/dist/models/public/public-model-inputs.js +102 -0
- package/dist/models/public/public-model-inputs.js.map +1 -0
- package/dist/models/public/read-page.model.d.ts +22 -0
- package/dist/models/public/read-page.model.d.ts.map +1 -0
- package/dist/models/public/read-page.model.js +12 -0
- package/dist/models/public/read-page.model.js.map +1 -0
- package/dist/models/public/read-post-connections.model.d.ts +76 -0
- package/dist/models/public/read-post-connections.model.d.ts.map +1 -0
- package/dist/models/public/read-post-connections.model.js +12 -0
- package/dist/models/public/read-post-connections.model.js.map +1 -0
- package/dist/models/public/read-post.model.d.ts +33 -0
- package/dist/models/public/read-post.model.d.ts.map +1 -0
- package/dist/models/public/read-post.model.js +12 -0
- package/dist/models/public/read-post.model.js.map +1 -0
- package/dist/models/public/search-posts.model.d.ts +29 -0
- package/dist/models/public/search-posts.model.d.ts.map +1 -0
- package/dist/models/public/search-posts.model.js +11 -0
- package/dist/models/public/search-posts.model.js.map +1 -0
- package/dist/models/public/set-post-liked.model.d.ts +10 -0
- package/dist/models/public/set-post-liked.model.d.ts.map +1 -0
- package/dist/models/public/set-post-liked.model.js +12 -0
- package/dist/models/public/set-post-liked.model.js.map +1 -0
- package/dist/models/read-event-catalog.model.d.ts +3 -0
- package/dist/models/read-event-catalog.model.d.ts.map +1 -0
- package/dist/models/read-event-catalog.model.js +9 -0
- package/dist/models/read-event-catalog.model.js.map +1 -0
- package/dist/models/read-theme-authoring-contract.model.d.ts +33 -0
- package/dist/models/read-theme-authoring-contract.model.d.ts.map +1 -0
- package/dist/models/read-theme-authoring-contract.model.js +9 -0
- package/dist/models/read-theme-authoring-contract.model.js.map +1 -0
- package/dist/persistence/category-store.d.ts.map +1 -1
- package/dist/persistence/category-store.js +28 -11
- package/dist/persistence/category-store.js.map +1 -1
- package/dist/persistence/comment-store.d.ts.map +1 -1
- package/dist/persistence/comment-store.js +61 -20
- package/dist/persistence/comment-store.js.map +1 -1
- package/dist/persistence/entities.d.ts.map +1 -1
- package/dist/persistence/entities.js +15 -3
- package/dist/persistence/entities.js.map +1 -1
- package/dist/persistence/friend-link-store.d.ts.map +1 -1
- package/dist/persistence/friend-link-store.js +24 -7
- package/dist/persistence/friend-link-store.js.map +1 -1
- package/dist/persistence/page-store.d.ts +12 -0
- package/dist/persistence/page-store.d.ts.map +1 -1
- package/dist/persistence/page-store.js +33 -0
- package/dist/persistence/page-store.js.map +1 -1
- package/dist/persistence/post-store.d.ts +12 -0
- package/dist/persistence/post-store.d.ts.map +1 -1
- package/dist/persistence/post-store.js +240 -62
- package/dist/persistence/post-store.js.map +1 -1
- package/dist/persistence/tag-store.d.ts.map +1 -1
- package/dist/persistence/tag-store.js +23 -8
- package/dist/persistence/tag-store.js.map +1 -1
- package/dist/services/blog-runtime.service.d.ts +4 -4
- package/dist/services/blog-runtime.service.d.ts.map +1 -1
- package/dist/services/blog-runtime.service.js +10 -15
- package/dist/services/blog-runtime.service.js.map +1 -1
- package/dist/services/blog.boot.d.ts +1 -1
- package/dist/services/blog.boot.js +4 -4
- package/dist/services/blog.boot.js.map +1 -1
- package/dist/services/database.service.js +18 -3
- package/dist/services/database.service.js.map +1 -1
- package/dist/services/mcp-provider.service.js +3 -6
- package/dist/services/mcp-provider.service.js.map +1 -1
- package/dist/services/sitemap-provider.service.d.ts +4 -0
- package/dist/services/sitemap-provider.service.d.ts.map +1 -0
- package/dist/services/sitemap-provider.service.js +25 -0
- package/dist/services/sitemap-provider.service.js.map +1 -0
- package/dist/sitemap/blog-sitemap-provider.d.ts +34 -0
- package/dist/sitemap/blog-sitemap-provider.d.ts.map +1 -0
- package/dist/sitemap/blog-sitemap-provider.js +116 -0
- package/dist/sitemap/blog-sitemap-provider.js.map +1 -0
- package/dist/themes/theme-catalog.d.ts.map +1 -1
- package/dist/themes/theme-catalog.js +43 -26
- package/dist/themes/theme-catalog.js.map +1 -1
- package/dist/themes/theme-control.d.ts.map +1 -1
- package/dist/themes/theme-control.js +17 -7
- package/dist/themes/theme-control.js.map +1 -1
- package/dist/themes/theme-discovery-runtime.d.ts.map +1 -1
- package/dist/themes/theme-discovery-runtime.js +17 -7
- package/dist/themes/theme-discovery-runtime.js.map +1 -1
- package/dist/themes/theme-generation-store.d.ts.map +1 -1
- package/dist/themes/theme-generation-store.js +10 -5
- package/dist/themes/theme-generation-store.js.map +1 -1
- package/dist/themes/theme-selection-publisher.d.ts.map +1 -1
- package/dist/themes/theme-selection-publisher.js +11 -5
- package/dist/themes/theme-selection-publisher.js.map +1 -1
- package/package.json +23 -20
- package/dist/blog/micro-user-directory.d.ts +0 -11
- package/dist/blog/micro-user-directory.d.ts.map +0 -1
- package/dist/blog/micro-user-directory.js +0 -18
- package/dist/blog/micro-user-directory.js.map +0 -1
- package/dist/blog/public-blog-micro.d.ts +0 -291
- package/dist/blog/public-blog-micro.d.ts.map +0 -1
- package/dist/blog/public-blog-micro.js +0 -71
- package/dist/blog/public-blog-micro.js.map +0 -1
- package/dist/browser-api/dispatch-stream.d.ts +0 -5
- package/dist/browser-api/dispatch-stream.d.ts.map +0 -1
- package/dist/browser-api/dispatch-stream.js +0 -4
- package/dist/browser-api/dispatch-stream.js.map +0 -1
- package/dist/browser-api/dispatcher.d.ts +0 -15
- package/dist/browser-api/dispatcher.d.ts.map +0 -1
- package/dist/browser-api/dispatcher.js +0 -145
- package/dist/browser-api/dispatcher.js.map +0 -1
- package/dist/browser-api/provider-publisher.d.ts +0 -24
- package/dist/browser-api/provider-publisher.d.ts.map +0 -1
- package/dist/browser-api/provider-publisher.js +0 -107
- package/dist/browser-api/provider-publisher.js.map +0 -1
- package/dist/messages/browser/dispatch.msg.d.ts.map +0 -1
- package/dist/messages/browser/dispatch.msg.js +0 -9
- package/dist/messages/browser/dispatch.msg.js.map +0 -1
- package/dist/services/browser-api-provider.service.d.ts +0 -4
- package/dist/services/browser-api-provider.service.d.ts.map +0 -1
- package/dist/services/browser-api-provider.service.js +0 -25
- package/dist/services/browser-api-provider.service.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blog-sitemap-provider.js","sourceRoot":"","sources":["../../src/sitemap/blog-sitemap-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-catalog.d.ts","sourceRoot":"","sources":["../../src/themes/theme-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"theme-catalog.d.ts","sourceRoot":"","sources":["../../src/themes/theme-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;CACrB;AACD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAClC;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAED,qBAAa,gBAAgB;;IASpB,SAAS,CACd,sBAAsB,EAAE,SAAS,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,EACxE,uBAAuB,EAAE,SAAS,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,EAC1E,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,kBAAkB,GACzB,oBAAoB,CAKtB;IAEM,uBAAuB,CAC5B,MAAM,EAAE,SAAS,QAAQ,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,GACnE,IAAI,CAgBN;IAEM,uBAAuB,IAAI,SAAS,QAAQ,CAAC;QAClD,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,EAAE,CAIH;IA4CM,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,oBAAoB,CAI7D;CA0BF"}
|
|
@@ -28,8 +28,7 @@ export class BlogThemeCatalog {
|
|
|
28
28
|
this.#candidateGenerationHighWater.set(themeId, generation);
|
|
29
29
|
}
|
|
30
30
|
readGenerationHighWater() {
|
|
31
|
-
return [...this.#candidateGenerationHighWater.entries()]
|
|
32
|
-
.map(([themeId, generation]) => Object.freeze({ themeId, generation }));
|
|
31
|
+
return [...this.#candidateGenerationHighWater.entries()].map(([themeId, generation]) => Object.freeze({ themeId, generation }));
|
|
33
32
|
}
|
|
34
33
|
#project(policy, reconciledAt) {
|
|
35
34
|
const selection = this.#selection;
|
|
@@ -40,15 +39,21 @@ export class BlogThemeCatalog {
|
|
|
40
39
|
const themes = projectThemes(candidates, activations, selection, this.#candidateGenerationHighWater);
|
|
41
40
|
if (!themes.some((theme) => theme.themeId === selection.themeId)) {
|
|
42
41
|
themes.push({
|
|
43
|
-
themeId: selection.themeId,
|
|
44
|
-
|
|
42
|
+
themeId: selection.themeId,
|
|
43
|
+
displayName: selection.themeId,
|
|
44
|
+
description: null,
|
|
45
|
+
generation: 0,
|
|
46
|
+
buildId: '',
|
|
47
|
+
instanceCount: 0,
|
|
48
|
+
status: 'unavailable',
|
|
45
49
|
});
|
|
46
50
|
}
|
|
47
51
|
if (themes.length > 100)
|
|
48
52
|
throw new Error('Blog theme catalog exceeds 100 themes');
|
|
49
53
|
themes.sort((left, right) => left.themeId.localeCompare(right.themeId));
|
|
50
54
|
this.#snapshot = Object.freeze({
|
|
51
|
-
reconciledAt,
|
|
55
|
+
reconciledAt,
|
|
56
|
+
selection: Object.freeze({ ...selection }),
|
|
52
57
|
themes: Object.freeze(themes.map((theme) => Object.freeze(theme))),
|
|
53
58
|
});
|
|
54
59
|
return this.#snapshot;
|
|
@@ -74,7 +79,8 @@ export class BlogThemeCatalog {
|
|
|
74
79
|
this.#candidateGenerationHighWater.clear();
|
|
75
80
|
for (const [themeId, generation] of next)
|
|
76
81
|
this.#candidateGenerationHighWater.set(themeId, generation);
|
|
77
|
-
return announcements.filter(({ payload }) => payload.generation ===
|
|
82
|
+
return announcements.filter(({ payload }) => payload.generation ===
|
|
83
|
+
this.#candidateGenerationHighWater.get(payload.themeId));
|
|
78
84
|
}
|
|
79
85
|
}
|
|
80
86
|
function projectThemes(announcements, activations, selection, generationHighWater) {
|
|
@@ -92,8 +98,12 @@ function projectThemes(announcements, activations, selection, generationHighWate
|
|
|
92
98
|
const selected = latest(current).payload;
|
|
93
99
|
const conflicted = fingerprints.size > 1;
|
|
94
100
|
return {
|
|
95
|
-
themeId,
|
|
96
|
-
|
|
101
|
+
themeId,
|
|
102
|
+
displayName: selected.displayName,
|
|
103
|
+
description: selected.description ?? null,
|
|
104
|
+
generation,
|
|
105
|
+
buildId: selected.buildId,
|
|
106
|
+
instanceCount: current.length,
|
|
97
107
|
status: resolveStatus(themeId, generation, selected.buildId, current, conflicted, activations, selection, selectionActive),
|
|
98
108
|
};
|
|
99
109
|
});
|
|
@@ -101,10 +111,11 @@ function projectThemes(announcements, activations, selection, generationHighWate
|
|
|
101
111
|
function resolveStatus(themeId, generation, buildId, currentCandidates, conflicted, activations, selection, selectionActive) {
|
|
102
112
|
if (conflicted)
|
|
103
113
|
return 'conflicted';
|
|
104
|
-
const matching = activations.filter(({ payload }) => payload.themeId === themeId
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
114
|
+
const matching = activations.filter(({ payload }) => payload.themeId === themeId &&
|
|
115
|
+
payload.selectionRevision === selection.revision &&
|
|
116
|
+
payload.generation === generation &&
|
|
117
|
+
currentCandidates.some(({ payload: candidate }) => candidate.instanceId === payload.instanceId &&
|
|
118
|
+
candidate.buildId === payload.buildId));
|
|
108
119
|
const activationBuilds = new Set(matching.map(({ payload }) => payload.buildId));
|
|
109
120
|
if (activationBuilds.size > 1)
|
|
110
121
|
return 'conflicted';
|
|
@@ -124,28 +135,33 @@ function hasActiveSelection(replicas, activations, selection, generationHighWate
|
|
|
124
135
|
const current = replicas.filter(({ payload }) => payload.generation === generation);
|
|
125
136
|
if (current.length === 0)
|
|
126
137
|
return false;
|
|
127
|
-
if (new Set(current.map(({ payload }) => candidateFingerprint(payload))).size >
|
|
138
|
+
if (new Set(current.map(({ payload }) => candidateFingerprint(payload))).size >
|
|
139
|
+
1)
|
|
128
140
|
return false;
|
|
129
141
|
const buildId = latest(current).payload.buildId;
|
|
130
|
-
return activations.some(({ payload }) => payload.themeId === selection.themeId
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
142
|
+
return activations.some(({ payload }) => payload.themeId === selection.themeId &&
|
|
143
|
+
payload.selectionRevision === selection.revision &&
|
|
144
|
+
payload.generation === generation &&
|
|
145
|
+
payload.buildId === buildId &&
|
|
146
|
+
current.some(({ payload: candidate }) => candidate.instanceId === payload.instanceId));
|
|
134
147
|
}
|
|
135
148
|
function validCandidate(item, policy) {
|
|
136
|
-
return item.topic ===
|
|
137
|
-
|
|
149
|
+
return (item.topic ===
|
|
150
|
+
blogThemeCandidateTopic(item.payload.themeId, item.payload.instanceId) &&
|
|
151
|
+
validLease(item.payload.lease, policy));
|
|
138
152
|
}
|
|
139
153
|
function validActivation(item, policy) {
|
|
140
|
-
return item.topic ===
|
|
141
|
-
|
|
154
|
+
return (item.topic ===
|
|
155
|
+
blogThemeActivationTopic(item.payload.themeId, item.payload.instanceId) &&
|
|
156
|
+
validLease(item.payload.lease, policy));
|
|
142
157
|
}
|
|
143
158
|
function validLease(lease, policy) {
|
|
144
159
|
const issuedAt = Date.parse(lease.issuedAt);
|
|
145
160
|
const expiresAt = Date.parse(lease.expiresAt);
|
|
146
161
|
const skew = policy.maxClockSkewMs ?? 0;
|
|
147
|
-
return issuedAt <= policy.now.getTime() + skew &&
|
|
148
|
-
|
|
162
|
+
return (issuedAt <= policy.now.getTime() + skew &&
|
|
163
|
+
expiresAt > policy.now.getTime() - skew &&
|
|
164
|
+
expiresAt - issuedAt <= policy.maxLeaseMs);
|
|
149
165
|
}
|
|
150
166
|
function candidateFingerprint(candidate) {
|
|
151
167
|
return JSON.stringify({
|
|
@@ -157,8 +173,9 @@ function candidateFingerprint(candidate) {
|
|
|
157
173
|
});
|
|
158
174
|
}
|
|
159
175
|
function latest(items) {
|
|
160
|
-
return [...items].sort((left, right) => Date.parse(right.payload.lease.issuedAt) -
|
|
161
|
-
|
|
162
|
-
|
|
176
|
+
return [...items].sort((left, right) => Date.parse(right.payload.lease.issuedAt) -
|
|
177
|
+
Date.parse(left.payload.lease.issuedAt) ||
|
|
178
|
+
right.payload.lease.sequence - left.payload.lease.sequence ||
|
|
179
|
+
right.payload.instanceId.localeCompare(left.payload.instanceId))[0];
|
|
163
180
|
}
|
|
164
181
|
//# sourceMappingURL=theme-catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-catalog.js","sourceRoot":"","sources":["../../src/themes/theme-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAGxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"theme-catalog.js","sourceRoot":"","sources":["../../src/themes/theme-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-control.d.ts","sourceRoot":"","sources":["../../src/themes/theme-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"theme-control.d.ts","sourceRoot":"","sources":["../../src/themes/theme-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAJtC,YACmB,KAAK,EAAE,wBAAwB,EAC/B,SAAS,EAAE,qBAAqB,EAChC,SAAS,EAAE,uBAAuB,EAClC,kBAAkB,CAAC,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,aAAA,EAC5D;IAEG,IAAI,IAAI,oBAAoB,CAElC;IACM,aAAa,IAAI,mBAAmB,CAE1C;IAEM,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAQ1E;IAEY,MAAM,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAsC/B;CACF"}
|
|
@@ -9,8 +9,12 @@ export class BlogThemeControl {
|
|
|
9
9
|
this.publisher = publisher;
|
|
10
10
|
this.onPropagationError = onPropagationError;
|
|
11
11
|
}
|
|
12
|
-
list() {
|
|
13
|
-
|
|
12
|
+
list() {
|
|
13
|
+
return this.discovery.readCatalog();
|
|
14
|
+
}
|
|
15
|
+
readSelection() {
|
|
16
|
+
return this.discovery.readCatalog().selection;
|
|
17
|
+
}
|
|
14
18
|
readStatus(themeId) {
|
|
15
19
|
const catalog = this.discovery.readCatalog();
|
|
16
20
|
const selectedThemeId = themeId ?? catalog.selection.themeId;
|
|
@@ -22,7 +26,9 @@ export class BlogThemeControl {
|
|
|
22
26
|
async select(themeId, actor, signal) {
|
|
23
27
|
const catalog = this.discovery.readCatalog();
|
|
24
28
|
const candidate = catalog.themes.find((theme) => theme.themeId === themeId);
|
|
25
|
-
if (!candidate ||
|
|
29
|
+
if (!candidate ||
|
|
30
|
+
candidate.status === 'unavailable' ||
|
|
31
|
+
candidate.status === 'conflicted') {
|
|
26
32
|
throw new Error(`Blog theme ${themeId} is not selectable`);
|
|
27
33
|
}
|
|
28
34
|
const selection = await this.store.select(themeId, actor, signal);
|
|
@@ -36,15 +42,17 @@ export class BlogThemeControl {
|
|
|
36
42
|
}
|
|
37
43
|
try {
|
|
38
44
|
const reconciled = await this.discovery.reconcileOnce(selection.revision);
|
|
39
|
-
if (reconciled.selection.themeId !== selection.themeId
|
|
40
|
-
|
|
45
|
+
if (reconciled.selection.themeId !== selection.themeId ||
|
|
46
|
+
reconciled.selection.revision !== selection.revision) {
|
|
41
47
|
throw new Error('Blog theme discovery did not observe the committed selection');
|
|
42
48
|
}
|
|
43
49
|
return reconciled;
|
|
44
50
|
}
|
|
45
51
|
catch (reconcileError) {
|
|
46
52
|
report(this.onPropagationError, reconcileError);
|
|
47
|
-
throw new AggregateError(publishError === undefined
|
|
53
|
+
throw new AggregateError(publishError === undefined
|
|
54
|
+
? [reconcileError]
|
|
55
|
+
: [publishError, reconcileError], 'Blog theme selection committed, propagation pending');
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
58
|
}
|
|
@@ -52,6 +60,8 @@ function report(listener, error) {
|
|
|
52
60
|
try {
|
|
53
61
|
listener?.(error);
|
|
54
62
|
}
|
|
55
|
-
catch {
|
|
63
|
+
catch {
|
|
64
|
+
/* Observability must not change committed selection semantics. */
|
|
65
|
+
}
|
|
56
66
|
}
|
|
57
67
|
//# sourceMappingURL=theme-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-control.js","sourceRoot":"","sources":["../../src/themes/theme-control.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-control.js","sourceRoot":"","sources":["../../src/themes/theme-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-discovery-runtime.d.ts","sourceRoot":"","sources":["../../src/themes/theme-discovery-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-discovery-runtime.d.ts","sourceRoot":"","sources":["../../src/themes/theme-discovery-runtime.ts"],"names":[],"mappings":"AAQA,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAE5E,UAAU,gBAAgB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,OAAO,EAAE,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AACD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,WAAW,EAAE;QACpB,0BAA0B,CACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,eAAe,EAAE;QACxB,OAAO,CACL,MAAM,EAAE,SAAS,wBAAwB,EAAE,GAC1C,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC,CAAC;KACjD,CAAC;IACF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,qBAAa,qBAAqB;;IAQb,OAAO,CAAC,QAAQ,CAAC,OAAO;IAA3C,YAAoC,OAAO,EAAE,4BAA4B,EAExE;IAEY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlC;IAEM,aAAa,CAAC,gBAAgB,SAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAiBxE;IAcM,WAAW,IAAI,oBAAoB,CAazC;IAoDY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAKlC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BLOG_THEME_ACTIVATION_TOPIC_PREFIX, BLOG_THEME_CANDIDATE_TOPIC_PREFIX, blogThemeSelectionRevisionSchema, parseTrustedBlogThemeActivationSnapshot, parseTrustedBlogThemeCandidateSnapshot, } from '@zlooks.cn/blog-shared';
|
|
2
|
-
import { BlogThemeCatalog } from './theme-catalog.js';
|
|
2
|
+
import { BlogThemeCatalog, } from './theme-catalog.js';
|
|
3
3
|
export class ThemeDiscoveryRuntime {
|
|
4
4
|
options;
|
|
5
5
|
#catalog = new BlogThemeCatalog();
|
|
@@ -30,7 +30,9 @@ export class ThemeDiscoveryRuntime {
|
|
|
30
30
|
if (this.#reconciling) {
|
|
31
31
|
if (revision === 0)
|
|
32
32
|
return this.#reconciling;
|
|
33
|
-
const operation = this.#reconciling.then((current) => current.selection.revision >= revision
|
|
33
|
+
const operation = this.#reconciling.then((current) => current.selection.revision >= revision
|
|
34
|
+
? current
|
|
35
|
+
: this.#reconcile(revision), () => this.#reconcile(revision));
|
|
34
36
|
return this.#trackReconcile(operation);
|
|
35
37
|
}
|
|
36
38
|
const operation = this.#reconcile(revision);
|
|
@@ -38,17 +40,23 @@ export class ThemeDiscoveryRuntime {
|
|
|
38
40
|
}
|
|
39
41
|
#trackReconcile(operation) {
|
|
40
42
|
this.#reconciling = operation;
|
|
41
|
-
void operation
|
|
42
|
-
|
|
43
|
+
void operation
|
|
44
|
+
.finally(() => {
|
|
45
|
+
if (this.#reconciling === operation)
|
|
46
|
+
this.#reconciling = undefined;
|
|
47
|
+
})
|
|
48
|
+
.catch(() => undefined);
|
|
43
49
|
return operation;
|
|
44
50
|
}
|
|
45
51
|
readCatalog() {
|
|
46
52
|
const last = this.#lastSuccessfulPollMs;
|
|
47
|
-
if (last === undefined ||
|
|
53
|
+
if (last === undefined ||
|
|
54
|
+
this.#clock().getTime() - last > this.options.maxCatalogStaleMs) {
|
|
48
55
|
throw new Error('Blog theme catalog is stale or unavailable');
|
|
49
56
|
}
|
|
50
57
|
return this.#catalog.read({
|
|
51
|
-
now: this.#clock(),
|
|
58
|
+
now: this.#clock(),
|
|
59
|
+
maxLeaseMs: this.options.maxLeaseMs,
|
|
52
60
|
maxClockSkewMs: this.options.maxClockSkewMs,
|
|
53
61
|
});
|
|
54
62
|
}
|
|
@@ -66,7 +74,9 @@ export class ThemeDiscoveryRuntime {
|
|
|
66
74
|
const nextCatalog = new BlogThemeCatalog();
|
|
67
75
|
nextCatalog.seedGenerationHighWater(generationHighWater);
|
|
68
76
|
const snapshot = nextCatalog.reconcile(candidates, activations, selection, {
|
|
69
|
-
now,
|
|
77
|
+
now,
|
|
78
|
+
maxLeaseMs: this.options.maxLeaseMs,
|
|
79
|
+
maxClockSkewMs: this.options.maxClockSkewMs,
|
|
70
80
|
});
|
|
71
81
|
this.#catalog = nextCatalog;
|
|
72
82
|
this.#lastSuccessfulPollMs = now.getTime();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-discovery-runtime.js","sourceRoot":"","sources":["../../src/themes/theme-discovery-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,iCAAiC,EACjC,gCAAgC,EAChC,uCAAuC,EACvC,sCAAsC,
|
|
1
|
+
{"version":3,"file":"theme-discovery-runtime.js","sourceRoot":"","sources":["../../src/themes/theme-discovery-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-generation-store.d.ts","sourceRoot":"","sources":["../../src/themes/theme-generation-store.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAGlD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,
|
|
1
|
+
{"version":3,"file":"theme-generation-store.d.ts","sourceRoot":"","sources":["../../src/themes/theme-generation-store.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAGlD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CACF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,GAAG,IAAI,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GACpC,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAmBD,qBAAa,yBAAyB;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAzC,YAAoC,KAAK,EAAE,oBAAoB,EAAI;IAEtD,OAAO,CAClB,YAAY,EAAE,SAAS,wBAAwB,EAAE,GAChD,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC,CAwC9C;CACF"}
|
|
@@ -25,15 +25,20 @@ export class RedisThemeGenerationStore {
|
|
|
25
25
|
this.redis = redis;
|
|
26
26
|
}
|
|
27
27
|
async observe(observations) {
|
|
28
|
-
if (observations.length > MAX_PERSISTED_THEME_GENERATIONS
|
|
29
|
-
|
|
28
|
+
if (observations.length > MAX_PERSISTED_THEME_GENERATIONS ||
|
|
29
|
+
new Set(observations.map(({ themeId }) => themeId)).size !==
|
|
30
|
+
observations.length) {
|
|
30
31
|
throw new Error('Blog theme generation high-water observation is invalid');
|
|
31
32
|
}
|
|
32
33
|
const argumentsByTheme = observations.flatMap((state) => [
|
|
33
|
-
blogThemeIdSchema.parse(state.themeId),
|
|
34
|
+
blogThemeIdSchema.parse(state.themeId),
|
|
35
|
+
generationSchema.parse(state.generation),
|
|
34
36
|
]);
|
|
35
|
-
const values = z
|
|
36
|
-
|
|
37
|
+
const values = z
|
|
38
|
+
.array(z.string())
|
|
39
|
+
.parse(await this.redis.eval(OBSERVE_SCRIPT, 1, REDIS_KEY, ...argumentsByTheme));
|
|
40
|
+
if (values.length % 2 !== 0 ||
|
|
41
|
+
values.length > MAX_PERSISTED_THEME_GENERATIONS * 2) {
|
|
37
42
|
throw new Error('Blog theme generation high-water state is invalid');
|
|
38
43
|
}
|
|
39
44
|
const merged = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-generation-store.js","sourceRoot":"","sources":["../../src/themes/theme-generation-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAClD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"theme-generation-store.js","sourceRoot":"","sources":["../../src/themes/theme-generation-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAClD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;AAetE,MAAM,cAAc,GAAG;;;;;iDAK0B,+BAA+B;6EACH,+BAA+B;;;;;;;;;CAS3G,CAAC;AAEF,MAAM,OAAO,yBAAyB;IACA,KAAK;IAAzC,YAAoC,KAA2B;qBAA3B,KAAK;IAAyB,CAAC;IAE5D,KAAK,CAAC,OAAO,CAClB,YAAiD;QAEjD,IACE,YAAY,CAAC,MAAM,GAAG,+BAA+B;YACrD,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACtD,YAAY,CAAC,MAAM,EACrB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACvD,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YACtC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC;SACzC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,CAAC;aACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,KAAK,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CACnB,cAAc,EACd,CAAC,EACD,SAAS,EACT,GAAG,gBAAgB,CACpB,CACF,CAAC;QACJ,IACE,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,+BAA+B,GAAG,CAAC,EACnD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,MAAM,GAA+B,EAAE,CAAC;QAC9C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC;gBACZ,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;aACtD,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-selection-publisher.d.ts","sourceRoot":"","sources":["../../src/themes/theme-selection-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,UAAU,WAAW;IACnB,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"theme-selection-publisher.d.ts","sourceRoot":"","sources":["../../src/themes/theme-selection-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,UAAU,WAAW;IACnB,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,WAAW,EAAE;QACpB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;KAC3E,CAAC;IACF,QAAQ,CAAC,KAAK,EAAE;QAAE,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,qBAAa,uBAAuB;;IASf,OAAO,CAAC,QAAQ,CAAC,OAAO;IAA3C,YAAoC,OAAO,EAAE,8BAA8B,EAW1E;IAEY,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBlC;IAEM,OAAO,CAAC,gBAAgB,SAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAehE;IA4CM,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ5B;CASF"}
|
|
@@ -10,7 +10,9 @@ export class ThemeSelectionPublisher {
|
|
|
10
10
|
#sequence = -1;
|
|
11
11
|
constructor(options) {
|
|
12
12
|
this.options = options;
|
|
13
|
-
if (!Number.isSafeInteger(options.leaseMs) ||
|
|
13
|
+
if (!Number.isSafeInteger(options.leaseMs) ||
|
|
14
|
+
options.leaseMs < 500 ||
|
|
15
|
+
options.leaseMs > 30_000) {
|
|
14
16
|
throw new TypeError('Blog theme selection lease must be between 500 and 30000 milliseconds');
|
|
15
17
|
}
|
|
16
18
|
this.#clock = options.clock ?? (() => new Date());
|
|
@@ -43,10 +45,12 @@ export class ThemeSelectionPublisher {
|
|
|
43
45
|
}
|
|
44
46
|
#trackRefresh(operation) {
|
|
45
47
|
this.#refreshing = operation;
|
|
46
|
-
void operation
|
|
48
|
+
void operation
|
|
49
|
+
.finally(() => {
|
|
47
50
|
if (this.#refreshing === operation)
|
|
48
51
|
this.#refreshing = undefined;
|
|
49
|
-
})
|
|
52
|
+
})
|
|
53
|
+
.catch(() => undefined);
|
|
50
54
|
return operation;
|
|
51
55
|
}
|
|
52
56
|
async #refresh() {
|
|
@@ -77,8 +81,10 @@ export class ThemeSelectionPublisher {
|
|
|
77
81
|
this.#closed = true;
|
|
78
82
|
const operation = this.#close();
|
|
79
83
|
this.#closing = operation;
|
|
80
|
-
return operation.finally(() => {
|
|
81
|
-
this.#closing
|
|
84
|
+
return operation.finally(() => {
|
|
85
|
+
if (this.#closing === operation)
|
|
86
|
+
this.#closing = undefined;
|
|
87
|
+
});
|
|
82
88
|
}
|
|
83
89
|
async #close() {
|
|
84
90
|
if (this.#timer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-selection-publisher.js","sourceRoot":"","sources":["../../src/themes/theme-selection-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"theme-selection-publisher.js","sourceRoot":"","sources":["../../src/themes/theme-selection-publisher.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zlooks.cn/blog-server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -33,25 +33,28 @@
|
|
|
33
33
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@hile/context": "4.0.
|
|
37
|
-
"@hile/core": "4.0.
|
|
38
|
-
"@hile/
|
|
39
|
-
"@hile/
|
|
40
|
-
"@hile/
|
|
41
|
-
"@hile/
|
|
42
|
-
"@hile/
|
|
43
|
-
"@hile/
|
|
44
|
-
"@
|
|
45
|
-
"@
|
|
46
|
-
"@zlooks.cn/
|
|
47
|
-
"@zlooks.cn/
|
|
48
|
-
"@zlooks.cn/
|
|
49
|
-
"@zlooks.cn/
|
|
36
|
+
"@hile/context": "4.0.3",
|
|
37
|
+
"@hile/core": "4.0.2",
|
|
38
|
+
"@hile/http-over-micro": "1.0.2",
|
|
39
|
+
"@hile/ioredis": "4.0.2",
|
|
40
|
+
"@hile/logger": "4.0.2",
|
|
41
|
+
"@hile/mcp": "1.0.6",
|
|
42
|
+
"@hile/message-loader": "4.0.6",
|
|
43
|
+
"@hile/micro": "4.0.6",
|
|
44
|
+
"@hile/model": "4.0.4",
|
|
45
|
+
"@hile/typeorm": "4.0.2",
|
|
46
|
+
"@zlooks.cn/blog-schema": "1.0.1",
|
|
47
|
+
"@zlooks.cn/blog-shared": "1.0.2",
|
|
48
|
+
"@zlooks.cn/browser-api": "1.0.1",
|
|
49
|
+
"@zlooks.cn/database-command": "1.0.3",
|
|
50
|
+
"@zlooks.cn/event-bus": "1.0.2",
|
|
51
|
+
"@zlooks.cn/event-client": "1.0.2",
|
|
50
52
|
"@zlooks.cn/infrastructure": "1.0.0",
|
|
51
53
|
"@zlooks.cn/public-host-contract": "1.0.0",
|
|
52
|
-
"@zlooks.cn/registry-config": "1.0.
|
|
53
|
-
"@zlooks.cn/service-command": "1.0.
|
|
54
|
-
"@zlooks.cn/
|
|
54
|
+
"@zlooks.cn/registry-config": "1.0.1",
|
|
55
|
+
"@zlooks.cn/service-command": "1.0.1",
|
|
56
|
+
"@zlooks.cn/sitemap-contract": "1.0.1",
|
|
57
|
+
"@zlooks.cn/user-shared": "1.0.2",
|
|
55
58
|
"@zlooks.cn/utils": "1.0.0",
|
|
56
59
|
"detect-port": "2.1.0",
|
|
57
60
|
"ioredis": "5.11.1",
|
|
@@ -65,7 +68,7 @@
|
|
|
65
68
|
"zod": "4.4.3"
|
|
66
69
|
},
|
|
67
70
|
"devDependencies": {
|
|
68
|
-
"@hile/cli": "4.0.
|
|
71
|
+
"@hile/cli": "4.0.7",
|
|
69
72
|
"@types/mdast": "4.0.4",
|
|
70
73
|
"@types/node": "26.2.0",
|
|
71
74
|
"fix-esm-import-path": "1.10.3",
|
|
@@ -73,5 +76,5 @@
|
|
|
73
76
|
"typescript": "7.0.2",
|
|
74
77
|
"vitest": "4.1.11"
|
|
75
78
|
},
|
|
76
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "3c7e3ec494a3702626a2b150991b136b89550e35"
|
|
77
80
|
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ExecutionContext } from '@hile/context';
|
|
2
|
-
import type { Application } from '@hile/micro';
|
|
3
|
-
import { type UserCurrentUserResponse, type UserPublicProfilesResponse } from '@zlooks.cn/user-shared';
|
|
4
|
-
import type { BlogUserDirectory } from './public-blog-service.js';
|
|
5
|
-
export declare class MicroUserDirectory implements BlogUserDirectory {
|
|
6
|
-
private readonly application;
|
|
7
|
-
constructor(application: Application);
|
|
8
|
-
authenticate(context: ExecutionContext, signal?: AbortSignal): Promise<UserCurrentUserResponse>;
|
|
9
|
-
readPublicProfiles(userIds: readonly string[], context: ExecutionContext, signal?: AbortSignal): Promise<UserPublicProfilesResponse>;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=micro-user-directory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"micro-user-directory.d.ts","sourceRoot":"","sources":["../../src/blog/micro-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAEL,KAAK,uBAAuB,EAAE,KAAK,0BAA0B,EAC9D,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,qBAAa,kBAAmB,YAAW,iBAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAA/C,YAAoC,WAAW,EAAE,WAAW,EAAI;IACzD,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAIrG;IACM,kBAAkB,CACvB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,OAAO,EAAE,gBAAgB,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,0BAA0B,CAAC,CAIrC;CACF"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { readCurrentUser, readUserPublicProfiles, } from '@zlooks.cn/user-shared';
|
|
2
|
-
export class MicroUserDirectory {
|
|
3
|
-
application;
|
|
4
|
-
constructor(application) {
|
|
5
|
-
this.application = application;
|
|
6
|
-
}
|
|
7
|
-
authenticate(context, signal) {
|
|
8
|
-
return readCurrentUser(this.application, {
|
|
9
|
-
context, timeout: 5_000, retries: 0, ...(signal ? { signal } : {}),
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
readPublicProfiles(userIds, context, signal) {
|
|
13
|
-
return readUserPublicProfiles(this.application, { userIds: [...userIds] }, {
|
|
14
|
-
context, timeout: 5_000, retries: 0, ...(signal ? { signal } : {}),
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=micro-user-directory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"micro-user-directory.js","sourceRoot":"","sources":["../../src/blog/micro-user-directory.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EAAE,sBAAsB,GAExC,MAAM,wBAAwB,CAAC;AAGhC,MAAM,OAAO,kBAAkB;IACO,WAAW;IAA/C,YAAoC,WAAwB;2BAAxB,WAAW;IAAgB,CAAC;IACzD,YAAY,CAAC,OAAyB,EAAE,MAAoB;QACjE,OAAO,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE;YACvC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;IACM,kBAAkB,CACvB,OAA0B,EAC1B,OAAyB,EACzB,MAAoB;QAEpB,OAAO,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE;YACzE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE,CAAC,CAAC;IACL,CAAC;CACF"}
|