sbuilder-mcp 0.78.0 → 0.80.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 +22 -0
- package/CHANGELOG.vi.md +22 -0
- package/README.md +6 -2
- package/README.vi.md +6 -2
- package/dist/catalog/checkout.generated.js +6 -3
- package/dist/catalog/deadkeys.generated.js +2 -2
- package/dist/catalog/elements.generated.js +15 -2
- package/dist/catalog/shapes.generated.js +1 -1
- package/dist/catalog/source.generated.js +2 -2
- package/dist/catalog/translations.generated.js +759 -0
- package/dist/domains/site/pagestate.js +1 -1
- package/dist/domains/site/readiness.js +4 -4
- package/dist/domains/site/translate.js +112 -5
- package/dist/server.js +8 -0
- package/dist/tools/chrome.js +160 -4
- package/dist/tools/code.js +131 -0
- package/dist/tools/pageupdate.js +173 -0
- package/dist/tools/pageversion.js +99 -0
- package/dist/tools/store.js +19 -4
- package/dist/tools/theme.js +1 -1
- package/dist/tools/translate.js +269 -0
- package/dist/tools/undo.js +8 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,28 @@ 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.80.0] - 2026-10-10
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `sb_translate` enables languages, lists a page's translatable strings as missing, done or outdated, writes translations, auto-translates and reviews them.
|
|
13
|
+
- `sb_code` reads and writes the site and page custom code files, merging an update into the stored file because the platform's PUT replaces the whole record.
|
|
14
|
+
- `sb_page_version` lists, snapshots and restores page versions and history, then reloads the open page.
|
|
15
|
+
- `sb_page_update` accepts `default_template`, `render_for` and `render_default` to assign a template to a page.
|
|
16
|
+
- `sb_page_update` edits a page's SEO and metadata, merging `settings` instead of overwriting them.
|
|
17
|
+
- `sb_store` with `action:"global_promote"` turns a section on the open page into a new shared section, and `action:"template_save"` saves a section as a template, both previewing the plan under `dry_run`.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- `sb_store` with `action:"global_promote"` validates the save before creating the master, removes the master if the save is rejected, and refuses subtrees carrying a global, overlay or app block stamp.
|
|
21
|
+
|
|
22
|
+
## [0.79.0] - 2026-10-08
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- `sb_traits_for` and `sb_set` expose the `scroll_to` action on button, icon and image elements.
|
|
26
|
+
- `sb_traits_for` and `sb_set` expose `specials.step` on `form-number` fields, where `1` accepts whole numbers only, along with a form-skin `number_step` control and guidance on when to use it.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- The catalog is regenerated from the current platform, and `form-number` defaults now carry per-field `maxValue` and `step` values.
|
|
30
|
+
|
|
9
31
|
## [0.78.0] - 2026-10-08
|
|
10
32
|
|
|
11
33
|
### Added
|
package/CHANGELOG.vi.md
CHANGED
|
@@ -6,6 +6,28 @@ 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.80.0] - 2026-10-10
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- `sb_translate` bật ngôn ngữ, liệt kê chuỗi dịch được của trang theo trạng thái missing, done hoặc outdated, ghi bản dịch, dịch tự động và duyệt.
|
|
13
|
+
- `sb_code` đọc và ghi file mã tuỳ chỉnh của site và trang, gộp bản cập nhật vào file đang lưu vì PUT của nền tảng thay cả bản ghi.
|
|
14
|
+
- `sb_page_version` liệt kê, chụp và khôi phục phiên bản và lịch sử của trang, rồi đọc lại trang đang mở.
|
|
15
|
+
- `sb_page_update` nhận `default_template`, `render_for` và `render_default` để gán template cho trang.
|
|
16
|
+
- `sb_page_update` sửa SEO và metadata của trang, gộp `settings` thay vì ghi đè.
|
|
17
|
+
- `sb_store` với `action:"global_promote"` biến một section trên trang đang mở thành section dùng chung mới, còn `action:"template_save"` lưu section thành template, cả hai đều xem trước kế hoạch khi `dry_run`.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- `sb_store` với `action:"global_promote"` kiểm tra lần lưu trước khi tạo master, xoá master nếu lưu bị từ chối, và từ chối cây con mang con dấu global, overlay hoặc app block.
|
|
21
|
+
|
|
22
|
+
## [0.79.0] - 2026-10-08
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- `sb_traits_for` và `sb_set` hiển thị action `scroll_to` trên element button, icon và image.
|
|
26
|
+
- `sb_traits_for` và `sb_set` hiển thị `specials.step` của field `form-number`, trong đó `1` chỉ nhận số nguyên, cùng control `number_step` của form skin và gợi ý khi nào nên dùng.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Catalog được sinh lại từ nền tảng mới nhất, và mặc định của `form-number` giờ có `maxValue` và `step` riêng cho từng field.
|
|
30
|
+
|
|
9
31
|
## [0.78.0] - 2026-10-08
|
|
10
32
|
|
|
11
33
|
### Added
|
package/README.md
CHANGED
|
@@ -98,6 +98,9 @@ in this client: one would put the very key the platform exists to hold back into
|
|
|
98
98
|
| `sb_template_use` | Instantiate a template into a page |
|
|
99
99
|
| `sb_page_list` | Every page on the site |
|
|
100
100
|
| `sb_page_create` | Create a page — a store type arrives with the editor's own starting document; `type` is the route for checkout, product, category, post, course |
|
|
101
|
+
| `sb_page_update` | Edit a page's name, slug, home flag, order, SEO (title, description, Open Graph, robots, meta tags, JSON-LD) and members-only flag — merged into `settings`, so the keys it does not name survive. On a template page: make it the type's default, or choose which products/categories/posts render through it |
|
|
102
|
+
| `sb_page_version` | A page's platform recovery points — list named versions and autosave history, snapshot the draft, restore one |
|
|
103
|
+
| `sb_code` | The site's custom code files (tracking pixels, analytics, chat widgets, site CSS) injected into every page or one — list, create, merge-update, remove |
|
|
101
104
|
| `sb_publish` | Compile the draft into the live page (cascades to shared globals), report which revision went live, and with `verify` check the origin is serving it; lists other pages with unpublished drafts (`publish_drafts` publishes them too) |
|
|
102
105
|
| `sb_page_state` | Which of a page's three copies is which — the DRAFT the editor canvas shows, the PUBLISHED row the storefront serves, and this session's — plus whether the editor will render the canvas BLANK, and where the recovery points are |
|
|
103
106
|
| `sb_page_repair` | Rename a page root that is not `ROOT` (left by older seeds) so every editor build draws it — one page or the whole site |
|
|
@@ -111,8 +114,9 @@ in this client: one would put the very key the platform exists to hold back into
|
|
|
111
114
|
| `sb_import` | Read a page from any public URL and add its structure and content to the open page as real elements, styled with THIS page's own tokens — a translation, not a clone |
|
|
112
115
|
| `sb_import_site` | Read a WHOLE site from one URL — its sitemap, or the links on that page — and give each page found its own draft page here, built from this site's tokens; the entry page's own colours and type scale also patch into this SITE'S theme, so it stops being purely a read |
|
|
113
116
|
| `sb_theme` | Read or patch the site's palette and type scale — the layer every style preset resolves from, so one token repaints every page; `locale` sets the site's language |
|
|
114
|
-
| `
|
|
115
|
-
| `
|
|
117
|
+
| `sb_translate` | Translate a site the way the editor's Multilingual panel does — enable languages, list a page's strings as missing / done / outdated, write or machine-fill them, approve machine rows |
|
|
118
|
+
| `sb_store` | Run a store flow that must happen in a fixed order — `checkout` (the four writes that make a working one), `checkout_sync` (the store's current payment and delivery methods into every existing order form, checkout page republished), `form` (any of the platform's 17 templates with its own field document), `chrome` (one shared header or footer on a real site menu — desktop menu, mobile drawer, cart and account icons), `menu` (a menu node bound to the site's menu, its links resolved), `overlay_attach` (a pop-up or quick view on the open page), `cart` (the site's cart drawer, when it has none; `relocalize` puts an existing one in the site's language) and `app` (a built-in app plus the pages it needs), `global_attach` / `global_detach` (put an EXISTING shared section on the open page, or take it off), `global_promote` (make a section on the page a NEW shared section) and `template_save` (save a section as a reusable template) |
|
|
119
|
+
| `sb_undo` | Undo / redo this session's writes — page and form edits and `sb_api_call` PUTs; a page is refused if someone else saved it since. The platform's versions and history (`sb_page_version`) outlive this process |
|
|
116
120
|
|
|
117
121
|
Twenty-eight tools, **814 API operations** (298 of the 376 writes carrying a body shape read
|
|
118
122
|
off the handler), 123 elements, 79 binding sources. `sb_api_find`
|
package/README.vi.md
CHANGED
|
@@ -95,6 +95,9 @@ nhét ngược lại vào mọi bản cài.
|
|
|
95
95
|
| `sb_template_use` | Thả một template vào trang |
|
|
96
96
|
| `sb_page_list` | Mọi trang của site |
|
|
97
97
|
| `sb_page_create` | Tạo một trang — trang cửa hàng sinh ra đã có sẵn tài liệu như trong editor; `type` là đường đi cho checkout, product, category, post, course |
|
|
98
|
+
| `sb_page_update` | Sửa tên, slug, cờ trang chủ, thứ tự, SEO (title, description, Open Graph, robots, meta tag, JSON-LD) và cờ chỉ-thành-viên của một trang — merge vào `settings`, nên các khoá không nhắc tới vẫn còn nguyên. Với trang template: đặt làm mặc định của loại, hoặc chọn sản phẩm/danh mục/bài viết nào hiển thị qua nó |
|
|
99
|
+
| `sb_page_version` | Các điểm khôi phục của trang trên platform — liệt kê phiên bản có tên và lịch sử autosave, chụp draft, khôi phục |
|
|
100
|
+
| `sb_code` | Các file mã tuỳ chỉnh của site (pixel theo dõi, analytics, widget chat, CSS toàn site) chèn vào mọi trang hoặc một trang — liệt kê, tạo, cập nhật gộp, xoá |
|
|
98
101
|
| `sb_publish` | Biên dịch bản nháp thành trang live (lan sang global dùng chung), báo bản nào đã lên live, và với `verify` kiểm origin đã phục vụ đúng bản đó chưa; liệt kê các trang khác còn nháp chưa publish (`publish_drafts` publish luôn) |
|
|
99
102
|
| `sb_page_state` | Ba bản sao của một trang, bản nào là bản nào — bản NHÁP canvas editor hiển thị, dòng PUBLISHED storefront phục vụ, và bản phiên này giữ — kèm dự báo editor có render canvas TRẮNG không, và các điểm phục hồi nằm ở đâu |
|
|
100
103
|
| `sb_page_repair` | Đổi gốc trang khác `ROOT` (do seed cũ để lại) về `ROOT` để mọi bản editor vẽ được — một trang hoặc cả site |
|
|
@@ -108,8 +111,9 @@ nhét ngược lại vào mọi bản cài.
|
|
|
108
111
|
| `sb_import` | Đọc một trang từ URL công khai bất kỳ và thêm cấu trúc + nội dung của nó vào trang đang mở dưới dạng element thật, mang token của CHÍNH trang này — là dịch lại, không phải sao chép |
|
|
109
112
|
| `sb_import_site` | Đọc CẢ website từ một URL — sitemap của nó, hoặc các link trên trang đó — và tạo cho mỗi trang tìm được một trang nháp riêng ở đây, dựng bằng token của site này; màu và thang chữ của trang gốc cũng được vá vào THEME của site này, nên đây không còn thuần là đọc |
|
|
110
113
|
| `sb_theme` | Đọc hoặc vá bảng màu và thang chữ của site — tầng mà mọi style preset phân giải từ đó, nên một token thay áo cho mọi trang; `locale` đặt ngôn ngữ của site |
|
|
111
|
-
| `
|
|
112
|
-
| `
|
|
114
|
+
| `sb_translate` | Dịch site như bảng Đa ngôn ngữ của editor — bật ngôn ngữ, liệt kê chuỗi của một trang theo missing / done / outdated, ghi hoặc dịch máy, duyệt dòng do máy dịch |
|
|
115
|
+
| `sb_store` | Chạy một luồng cửa hàng bắt buộc đúng thứ tự — `checkout` (bốn lệnh ghi tạo nên trang thanh toán), `checkout_sync` (đưa phương thức thanh toán và giao hàng hiện tại vào mọi form đặt hàng đã có, publish lại trang thanh toán), `form` (một trong 17 template của nền tảng kèm field document của nó), `chrome` (một header hoặc footer dùng chung trên menu thật của site — menu desktop, drawer mobile, icon giỏ hàng và tài khoản), `menu` (một node menu bind vào menu của site, link đã phân giải), `overlay_attach` (một pop-up hay quick view trên trang đang mở), `cart` (ngăn giỏ hàng của site, khi chưa có; `relocalize` đưa ngăn giỏ đã có về ngôn ngữ của site), `app` (một app dựng sẵn kèm những trang nó cần), và `global_attach` / `global_detach` (đặt một section dùng chung ĐÃ CÓ lên trang đang mở, hoặc gỡ ra), `global_promote` (biến một section trên trang thành section dùng chung MỚI) và `template_save` (lưu một section làm mẫu dùng lại) |
|
|
116
|
+
| `sb_undo` | Hoàn tác / làm lại các thao tác ghi trong phiên — chỉnh sửa trang, form và PUT qua `sb_api_call`; trang bị từ chối nếu người khác đã lưu sau đó. Version và history của nền tảng (`sb_page_version`) sống lâu hơn process này |
|
|
113
117
|
|
|
114
118
|
Hai mươi tám tool, **814 operation API** (298 trong 376 lệnh ghi có hình dạng body đọc thẳng
|
|
115
119
|
từ handler), 123 element, 79 nguồn binding. `sb_api_find` là
|
|
@@ -1600,7 +1600,8 @@ export const FORM_TEMPLATES = {
|
|
|
1600
1600
|
"prefillValue": "",
|
|
1601
1601
|
"setRange": true,
|
|
1602
1602
|
"minValue": 1,
|
|
1603
|
-
"maxValue": 500
|
|
1603
|
+
"maxValue": 500,
|
|
1604
|
+
"step": 0
|
|
1604
1605
|
},
|
|
1605
1606
|
"responsive": {},
|
|
1606
1607
|
"events": [],
|
|
@@ -3778,7 +3779,8 @@ export const FORM_TEMPLATES = {
|
|
|
3778
3779
|
"prefillValue": "",
|
|
3779
3780
|
"setRange": true,
|
|
3780
3781
|
"minValue": 1,
|
|
3781
|
-
"maxValue":
|
|
3782
|
+
"maxValue": 10,
|
|
3783
|
+
"step": 1
|
|
3782
3784
|
},
|
|
3783
3785
|
"responsive": {},
|
|
3784
3786
|
"events": [],
|
|
@@ -4304,7 +4306,8 @@ export const FORM_TEMPLATES = {
|
|
|
4304
4306
|
"prefillValue": "",
|
|
4305
4307
|
"setRange": true,
|
|
4306
4308
|
"minValue": 1,
|
|
4307
|
-
"maxValue":
|
|
4309
|
+
"maxValue": 20,
|
|
4310
|
+
"step": 1
|
|
4308
4311
|
},
|
|
4309
4312
|
"responsive": {},
|
|
4310
4313
|
"events": [],
|
|
@@ -816,6 +816,7 @@ export const ELEMENTS = {
|
|
|
816
816
|
"go_to_url",
|
|
817
817
|
"open_page",
|
|
818
818
|
"popup",
|
|
819
|
+
"scroll_to",
|
|
819
820
|
"open_menu",
|
|
820
821
|
"close_menu",
|
|
821
822
|
"toggle_menu",
|
|
@@ -1734,6 +1735,7 @@ export const ELEMENTS = {
|
|
|
1734
1735
|
"go_to_url",
|
|
1735
1736
|
"open_page",
|
|
1736
1737
|
"popup",
|
|
1738
|
+
"scroll_to",
|
|
1737
1739
|
"change_tab",
|
|
1738
1740
|
"open_dropdown",
|
|
1739
1741
|
"close_dropdown",
|
|
@@ -1895,6 +1897,7 @@ export const ELEMENTS = {
|
|
|
1895
1897
|
"go_to_url",
|
|
1896
1898
|
"open_page",
|
|
1897
1899
|
"popup",
|
|
1900
|
+
"scroll_to",
|
|
1898
1901
|
"open_menu",
|
|
1899
1902
|
"close_menu",
|
|
1900
1903
|
"toggle_menu",
|
|
@@ -7667,7 +7670,8 @@ export const ELEMENTS = {
|
|
|
7667
7670
|
"prefillValue": "",
|
|
7668
7671
|
"setRange": false,
|
|
7669
7672
|
"minValue": 1,
|
|
7670
|
-
"maxValue": 500
|
|
7673
|
+
"maxValue": 500,
|
|
7674
|
+
"step": 0
|
|
7671
7675
|
},
|
|
7672
7676
|
"style": {
|
|
7673
7677
|
"width": "100%"
|
|
@@ -7755,6 +7759,13 @@ export const ELEMENTS = {
|
|
|
7755
7759
|
"field_number_range"
|
|
7756
7760
|
]
|
|
7757
7761
|
},
|
|
7762
|
+
{
|
|
7763
|
+
"key": "number_step",
|
|
7764
|
+
"label": "Number step",
|
|
7765
|
+
"controls": [
|
|
7766
|
+
"field_number_step"
|
|
7767
|
+
]
|
|
7768
|
+
},
|
|
7758
7769
|
{
|
|
7759
7770
|
"key": "spacing",
|
|
7760
7771
|
"label": "Spacing",
|
|
@@ -7793,6 +7804,7 @@ export const ELEMENTS = {
|
|
|
7793
7804
|
"size_bounds",
|
|
7794
7805
|
"field_name",
|
|
7795
7806
|
"field_number_range",
|
|
7807
|
+
"field_number_step",
|
|
7796
7808
|
"padding_margin",
|
|
7797
7809
|
"display",
|
|
7798
7810
|
"class_css"
|
|
@@ -7808,7 +7820,8 @@ export const ELEMENTS = {
|
|
|
7808
7820
|
],
|
|
7809
7821
|
"contentTips": [
|
|
7810
7822
|
"Say the unit in the label, not in the placeholder — the placeholder disappears the moment anyone types.",
|
|
7811
|
-
"Set a range only when a value outside it is genuinely wrong. A range that merely reflects what you expect turns an unusual customer into a blocked one."
|
|
7823
|
+
"Set a range only when a value outside it is genuinely wrong. A range that merely reflects what you expect turns an unusual customer into a blocked one.",
|
|
7824
|
+
"Counting people, rooms or items? Set step to 1 so a fractional answer like 2.5 is refused; leave it 0 for measurements."
|
|
7812
7825
|
],
|
|
7813
7826
|
"semantics": [
|
|
7814
7827
|
"form",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// GENERATED by scripts/gen-catalog.ts — do not edit by hand.
|
|
2
2
|
// The platform commit every other generated file here describes.
|
|
3
3
|
export const PLATFORM_SOURCE = {
|
|
4
|
-
"commit": "
|
|
5
|
-
"committedAt": "2026-10-
|
|
4
|
+
"commit": "3afc245582a8f81fa58e1bfdc666355d7ecc65fa",
|
|
5
|
+
"committedAt": "2026-10-09T07:52:30+07:00",
|
|
6
6
|
"dirty": false
|
|
7
7
|
};
|