sbuilder-mcp 0.76.4 → 0.78.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 CHANGED
@@ -6,6 +6,36 @@ 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.78.0] - 2026-10-08
10
+
11
+ ### Added
12
+ - `sb_store` with `action:"form"` accepts `settings` (booking options such as `maxPerSlot` and `minStayNights`), validates them against the platform's `forms.Settings` shape, and reports `booking_app_required` when the booking app is missing.
13
+ - `sb_review` reports `form_options_empty`, `form_timeslot_dead` and `form_booking_dates` findings for booking-style forms, and `sb_add` and `sb_set` warn on a `form_field` problem.
14
+ - Catalog search treats `đ` as `d`, defaults to Vietnamese content, and ranks form templates (for example "đặt lịch" to booking) before title matches.
15
+
16
+ ### Changed
17
+ - The catalog is regenerated from the current platform, now covering 123 elements and 814 operations.
18
+ - `order_goes_nowhere` in `sb_review` respects the `afterSubmit` redirect of a form record.
19
+
20
+ ### Fixed
21
+ - `sb_add` now adds fields to the root `form` of a form document, inserting new fields above the submit button or step bar as the editor does, and refuses fields on the root of a multi-step form.
22
+ - Duplicate `specials.name` and `mapTo` values on a form are refused before saving instead of failing with a platform 409.
23
+
24
+ ## [0.77.0] - 2026-10-08
25
+
26
+ ### Added
27
+ - `sb_catalog_search` ranks exact type and name matches first, then whole words, then element keys and vocabulary values, so searches such as pagination, sort or load_more find the right element.
28
+ - `sb_traits_for` reports `base_only`, `preconditions`, `events`, `binding_events` and `bindable` for an element, and marks controls that write base-only keys with `responsive:false`.
29
+ - `sb_add` and `sb_set` return a `checks` list (`unknown_key`, `unknown_value`, `form_rule` and others) in place of `value`.
30
+ - `sb_review` reports `invalid_action`, `action_missing_target`, `no_data_context` and `unread_value` findings, and returns the `custom_code_native` maintenance hint separately under `advice`.
31
+ - `sb_page_open` with `form_id` edits a form's document fields, including fields, defaults and dependent-field rules, using a rule vocabulary generated from the platform.
32
+ - `sb_undo` undoes and redoes page operations, and refuses when the undo would erase live edits.
33
+
34
+ ### Changed
35
+ - `sb_bind` refuses a field that cannot be bound, and `sb_event` refuses an action with no target (url, popup id or `targetId`) unless `force` is set.
36
+ - The `dry_run` of the eight writing tools runs the same validation step as a real save and returns `would_refuse`, without consuming warnings, and a `sb_template_use` dry run no longer changes the open page.
37
+ - `scroll_to` projects an `href` of `#id` and checks `targetId`, waiting for the platform to release the matching change.
38
+
9
39
  ## [0.76.4] - 2026-10-08
10
40
 
11
41
  ### Added
package/CHANGELOG.vi.md CHANGED
@@ -6,6 +6,36 @@ 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.78.0] - 2026-10-08
10
+
11
+ ### Added
12
+ - `sb_store` với `action:"form"` nhận `settings` (tuỳ chọn đặt lịch như `maxPerSlot` và `minStayNights`), kiểm tra theo shape `forms.Settings` của nền tảng, và báo `booking_app_required` khi thiếu app booking.
13
+ - `sb_review` báo thêm các finding `form_options_empty`, `form_timeslot_dead` và `form_booking_dates` cho form dạng đặt lịch, còn `sb_add` và `sb_set` cảnh báo lỗi `form_field`.
14
+ - Tìm kiếm catalog coi `đ` là `d`, mặc định nội dung tiếng Việt, và xếp mẫu form (ví dụ "đặt lịch" ra booking) trước các kết quả khớp tiêu đề.
15
+
16
+ ### Changed
17
+ - Catalog được sinh lại từ nền tảng mới nhất, gồm 123 element và 814 operation.
18
+ - `order_goes_nowhere` trong `sb_review` tôn trọng `afterSubmit` redirect của bản ghi form.
19
+
20
+ ### Fixed
21
+ - `sb_add` giờ thêm được field vào gốc `form` của form document, chèn field mới trên nút gửi hoặc thanh bước như editor, và từ chối field trên gốc của form chia bước.
22
+ - Trùng `specials.name` và `mapTo` trên form bị từ chối trước khi lưu thay vì lỗi 409 từ nền tảng.
23
+
24
+ ## [0.77.0] - 2026-10-08
25
+
26
+ ### Added
27
+ - `sb_catalog_search` xếp các kết quả trùng type và tên lên đầu, rồi đến từ nguyên vẹn, rồi key và giá trị từ vựng của element, nên tìm pagination, sort hay load_more ra đúng element.
28
+ - `sb_traits_for` trả thêm `base_only`, `preconditions`, `events`, `binding_events` và `bindable` của element, và đánh dấu `responsive:false` trên control ghi key chỉ-base.
29
+ - `sb_add` và `sb_set` trả danh sách `checks` (`unknown_key`, `unknown_value`, `form_rule` và các loại khác) thay cho `value`.
30
+ - `sb_review` báo thêm các finding `invalid_action`, `action_missing_target`, `no_data_context` và `unread_value`, đồng thời trả gợi ý bảo trì `custom_code_native` riêng trong `advice`.
31
+ - `sb_page_open` với `form_id` sửa các field document của form, gồm trường, giá trị mặc định và rule field phụ thuộc, dùng từ vựng rule sinh từ nền tảng.
32
+ - `sb_undo` hoàn tác và làm lại các thao tác trên trang, và từ chối khi việc hoàn tác sẽ xoá các sửa đổi live.
33
+
34
+ ### Changed
35
+ - `sb_bind` từ chối field không bind được, và `sb_event` từ chối action thiếu đích (url, id popup hoặc `targetId`) trừ khi đặt `force`.
36
+ - `dry_run` của tám tool ghi chạy đúng bước validate của lần lưu thật và trả `would_refuse`, không tiêu cảnh báo, và `sb_template_use` ở chế độ dry run không còn đổi trang đang mở.
37
+ - `scroll_to` chiếu `href` dạng `#id` và kiểm tra `targetId`, chờ nền tảng phát hành thay đổi tương ứng.
38
+
9
39
  ## [0.76.4] - 2026-10-08
10
40
 
11
41
  ### Added
package/README.md CHANGED
@@ -84,7 +84,7 @@ in this client: one would put the very key the platform exists to hold back into
84
84
  | `sb_site_list` | List the sites this account can operate |
85
85
  | `sb_api_find` | Find API operations by intent — one line per match — then read one operation's call sheet by id: real parameter schemas, the credential it needs, and the body's fields read off the handler that decodes them, each carrying the trap its own doc comment records |
86
86
  | `sb_api_call` | Execute an operation, or any route by method+path; dry run by default. Field selection and local result pagination |
87
- | `sb_page_open` | Open a page for editing and return its outline |
87
+ | `sb_page_open` | Open a page for editing and return its outline — or, with `form_id`, a form's field document (fields, defaults, dependent-field rules) |
88
88
  | `sb_outline` | The open page as a compressed tree — never a raw document dump |
89
89
  | `sb_node_read` | One node in full, with a warning if it is a shared global |
90
90
  | `sb_catalog_search` | Find an element by what it should do, using the platform's own AI hints |
@@ -112,10 +112,10 @@ in this client: one would put the very key the platform exists to hold back into
112
112
  | `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
113
  | `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
114
  | `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) |
115
- | `sb_undo` | Put back what a PUT replaced. The SECOND answer for a page, not the only one: the platform has versions, history and restore (`sb_api_find` "page versions"), which outlive this process — reach for those first and use this for every other shaped PUT |
115
+ | `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_api_find` "page versions") outlive this process |
116
116
 
117
- Twenty-eight tools, **574 API operations** (197 of the 255 writes carrying a body shape read
118
- off the handler), 122 elements, 79 binding sources. `sb_api_find`
117
+ Twenty-eight tools, **814 API operations** (298 of the 376 writes carrying a body shape read
118
+ off the handler), 123 elements, 79 binding sources. `sb_api_find`
119
119
  is an index rather than a tool per endpoint, so the tool list stays short while everything
120
120
  the platform can do stays reachable — and operations added to the platform arrive with the
121
121
  next `npm run codegen`.
@@ -124,7 +124,7 @@ Every result is compact JSON, every directive is said once per process, and ever
124
124
  carries MCP annotations — a client that honours them stops asking a person to confirm a
125
125
  read.
126
126
 
127
- Full reference: [`docs/tools.md`](./docs/tools.md).
127
+ Full reference: [`docs/tools.md`](./docs/tools.md). What the builder supports natively, and where it stops: [`docs/capabilities.md`](./docs/capabilities.md).
128
128
 
129
129
  ## How it stays in sync
130
130
 
package/README.vi.md CHANGED
@@ -81,7 +81,7 @@ nhét ngược lại vào mọi bản cài.
81
81
  | `sb_site_list` | Liệt kê site tài khoản vận hành được |
82
82
  | `sb_api_find` | Tìm operation theo ý định — mỗi kết quả một dòng — rồi đọc call sheet của một operation theo id: schema tham số thật, credential cần dùng, và các trường body đọc thẳng từ handler decode chúng, mỗi trường mang theo cái bẫy doc comment của chính nó ghi lại |
83
83
  | `sb_api_call` | Chạy operation, hoặc bất kỳ route nào bằng method+path; mặc định chạy khô. Chọn field và phân trang kết quả phía MCP |
84
- | `sb_page_open` | Mở một trang để sửa và trả về outline |
84
+ | `sb_page_open` | Mở một trang để sửa và trả về outline — hoặc, với `form_id`, tài liệu trường của biểu mẫu (trường, giá trị mặc định, quy tắc trường phụ thuộc) |
85
85
  | `sb_outline` | Trang đang mở dạng cây nén — không bao giờ dump tài liệu thô |
86
86
  | `sb_node_read` | Một node đầy đủ, kèm cảnh báo nếu nó là global dùng chung |
87
87
  | `sb_catalog_search` | Tìm element theo việc nó cần làm, dùng chính AI hints của nền tảng |
@@ -109,10 +109,10 @@ nhét ngược lại vào mọi bản cài.
109
109
  | `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
110
  | `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
111
  | `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) |
112
- | `sb_undo` | Trả lại thứ mà một lệnh PUT đã ghi đè. Với TRANG thì đây là đường về thứ hai chứ không phải duy nhất: nền tảng có version, history và restore (`sb_api_find` "page versions"), và chúng sống lâu hơn tiến trình này — hãy dùng chúng trước, còn tool này cho mọi PUT có hình dạng khác |
112
+ | `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_api_find` "page versions") sống lâu hơn process này |
113
113
 
114
- Hai mươi tám tool, **574 operation API** (197 trong 255 lệnh ghi có hình dạng body đọc thẳng
115
- từ handler), 122 element, 79 nguồn binding. `sb_api_find` là
114
+ 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
+ từ handler), 123 element, 79 nguồn binding. `sb_api_find` là
116
116
  một chỉ mục chứ không phải mỗi endpoint một tool, nên danh sách tool vẫn ngắn trong khi mọi
117
117
  thứ nền tảng làm được vẫn với tới — và operation mới thêm bên nền tảng sẽ tự có sau lần
118
118
  `npm run codegen` kế tiếp.
@@ -120,7 +120,7 @@ thứ nền tảng làm được vẫn với tới — và operation mới thêm
120
120
  Mọi kết quả đều là JSON nén, mọi directive chỉ nói một lần mỗi process, và mọi tool đều mang
121
121
  MCP annotation — client nào tôn trọng chúng sẽ thôi hỏi người dùng xác nhận một lần đọc.
122
122
 
123
- Tra cứu đầy đủ: [`docs/tools.vi.md`](./docs/tools.vi.md).
123
+ Tra cứu đầy đủ: [`docs/tools.vi.md`](./docs/tools.vi.md). Builder hỗ trợ native những gì, và dừng ở đâu: [`docs/capabilities.vi.md`](./docs/capabilities.vi.md).
124
124
 
125
125
  ## Cách nó không bị lệch
126
126