sbuilder-mcp 0.51.0 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/CHANGELOG.vi.md +9 -0
- package/dist/domains/site/inventory.js +38 -7
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,15 @@ All notable changes to this project are documented in this file.
|
|
|
6
6
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
7
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.52.0] - 2026-09-15
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `sb_page_list`'s `usually_also` advisory now names a missing `faq` page.
|
|
13
|
+
- `sb_page_list`'s `usually_also` advisory now names a missing blog listing page, but only on a site that already has a `post` (article) template to list — a site with no articles is no longer told to build one.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- `sb_page_list`'s `usually_also` advisory splits the single `policy` entry into `policy-delivery` (shipping and returns) and `policy-privacy` (privacy and terms of use), so a site carrying only one of the two no longer reads as having both.
|
|
17
|
+
|
|
9
18
|
## [0.51.0] - 2026-09-15
|
|
10
19
|
|
|
11
20
|
### Added
|
package/CHANGELOG.vi.md
CHANGED
|
@@ -6,6 +6,15 @@ Mọi thay đổi đáng chú ý của dự án được ghi lại trong file n
|
|
|
6
6
|
Định dạng dựa trên [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
7
7
|
và dự án tuân theo [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.52.0] - 2026-09-15
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- Gợi ý `usually_also` của `sb_page_list` giờ nêu tên trang `faq` nếu site còn thiếu.
|
|
13
|
+
- Gợi ý `usually_also` của `sb_page_list` giờ nêu tên trang danh sách blog nếu site còn thiếu, nhưng chỉ khi site đã có template bài viết (`post`) để liệt kê — site chưa có bài viết nào thì không còn bị nhắc xây trang này.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- Gợi ý `usually_also` của `sb_page_list` tách mục `policy` duy nhất thành `policy-delivery` (giao hàng và đổi trả) và `policy-privacy` (bảo mật và điều khoản sử dụng), để một site chỉ có một trong hai trang không còn bị đọc nhầm là đã có đủ cả hai.
|
|
17
|
+
|
|
9
18
|
## [0.51.0] - 2026-09-15
|
|
10
19
|
|
|
11
20
|
### Added
|
|
@@ -54,15 +54,46 @@ export const USUAL_PAGES = [
|
|
|
54
54
|
match: ['about', 'gioi-thieu', 'giới thiệu', 've-chung-toi'],
|
|
55
55
|
why: 'Nothing says who the shop is, which is the page a first-time buyer opens before paying.',
|
|
56
56
|
},
|
|
57
|
+
// TWO POLICIES, NOT ONE BUCKET. These were a single entry, and it read a shop
|
|
58
|
+
// carrying only "Chính sách giao hàng & đổi trả" as complete — which is
|
|
59
|
+
// exactly the shop that was measured, and it had no privacy terms at all. One
|
|
60
|
+
// policy page satisfying a check about all of them is the check answering a
|
|
61
|
+
// question it was not asked.
|
|
57
62
|
{
|
|
58
|
-
key: 'policy',
|
|
63
|
+
key: 'policy-delivery',
|
|
59
64
|
match: [
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'shipping', 'van-chuyen', 'vận chuyển', 'giao-hang', 'giao hàng', 'refund',
|
|
65
|
+
'doi-tra', 'đổi trả', 'return', 'refund', 'hoan-tien', 'hoàn tiền',
|
|
66
|
+
'shipping', 'van-chuyen', 'vận chuyển', 'giao-hang', 'giao hàng', 'delivery',
|
|
63
67
|
],
|
|
64
|
-
why: 'No delivery
|
|
65
|
-
'
|
|
68
|
+
why: 'No delivery or return terms a shopper can read before paying. This is the page a buyer ' +
|
|
69
|
+
'looks for when the parcel is late and the one a dispute is settled against.',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
key: 'policy-privacy',
|
|
73
|
+
match: [
|
|
74
|
+
'privacy', 'bao-mat', 'bảo mật', 'dieu-khoan', 'điều khoản', 'terms',
|
|
75
|
+
'quy-dinh', 'quy định',
|
|
76
|
+
],
|
|
77
|
+
why: 'No privacy policy or terms of use. Payment providers and marketplaces ask for both ' +
|
|
78
|
+
'before they will list a shop, and a checkout form collects personal data either way.',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
key: 'faq',
|
|
82
|
+
match: ['faq', 'cau-hoi', 'câu hỏi', 'hoi-dap', 'hỏi đáp', 'help', 'tro-giup', 'trợ giúp'],
|
|
83
|
+
why: 'The same handful of questions reach support one message at a time, with no page to link ' +
|
|
84
|
+
'an answer to. The accordion element is what this page is built from.',
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
key: 'blog',
|
|
88
|
+
// ONLY ONCE THERE IS SOMETHING TO LIST. `post` is the ARTICLE template —
|
|
89
|
+
// it answers /blog/{slug} and has no address of its own — so a site with
|
|
90
|
+
// one can publish articles that nothing on the site links to. A site
|
|
91
|
+
// without one has no articles, and telling it to build a listing page is
|
|
92
|
+
// advice about a section it never asked for.
|
|
93
|
+
when: (pages) => pages.some((x) => x.type === 'post'),
|
|
94
|
+
match: ['blog', 'tin-tuc', 'tin tức', 'news', 'bai-viet', 'bài viết', 'kien-thuc', 'cẩm nang'],
|
|
95
|
+
why: 'This site has an article template, so /blog/{slug} works — but no page LISTS the ' +
|
|
96
|
+
'articles, so each one is reachable only by someone who already has its URL.',
|
|
66
97
|
},
|
|
67
98
|
];
|
|
68
99
|
/**
|
|
@@ -80,5 +111,5 @@ export function missingUsualPages(pages) {
|
|
|
80
111
|
.filter((p) => (typeof p.type === 'string' ? p.type === 'page' : true))
|
|
81
112
|
.map((p) => `${typeof p.slug === 'string' ? p.slug : ''} ${typeof p.name === 'string' ? p.name : ''}`.toLowerCase())
|
|
82
113
|
.join('\n');
|
|
83
|
-
return USUAL_PAGES.filter((u) => !u.match.some((m) => hay.includes(m)));
|
|
114
|
+
return USUAL_PAGES.filter((u) => (u.when ? u.when(pages) : true) && !u.match.some((m) => hay.includes(m)));
|
|
84
115
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sbuilder-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.52.0",
|
|
4
4
|
"description": "MCP server that designs and operates a Store Builder site — pages, data, theme and publish — through the platform's own API and live-edit protocol.",
|
|
5
5
|
"mcpName": "io.github.vuluu2k/sbuilder-mcp",
|
|
6
6
|
"type": "module",
|