sbuilder-mcp 0.67.0 → 0.68.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,13 @@ 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.68.0] - 2026-09-25
10
+
11
+ ### Changed
12
+ - The generated catalog was regenerated against the platform: two new dataset elements, `flash-sale-price` (a product price that swaps to the sale price while a flash sale covers the product) and `flash-sale-progress` (a stock/urgency bar for a running flash sale), and the `countdown` element gains a `sourceFlashSale` option that counts down to the flash sale running right now instead of a typed end time.
13
+ - The catalog now carries 6 new flash-sale operations (list active flash sales, and list/create/get/update/delete a site's flash sales), discoverable through `sb_api_find` and callable through `sb_api_call`.
14
+ - Card and chip defaults across the catalog — account, voucher, countdown, tab, accordion, variant, and filter elements — now read the theme's `var(--wb-sc-*)` tokens instead of a hardcoded color, so a dark-themed site no longer shows dark text pinned to a light background on these elements.
15
+
9
16
  ## [0.67.0] - 2026-09-25
10
17
 
11
18
  ### Added
package/CHANGELOG.vi.md CHANGED
@@ -6,6 +6,13 @@ 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.68.0] - 2026-09-25
10
+
11
+ ### Changed
12
+ - Catalog được sinh ra đã được làm mới dựa trên nền tảng: thêm hai element dataset mới, `flash-sale-price` (giá sản phẩm tự chuyển sang giá sale khi sản phẩm nằm trong một flash sale) và `flash-sale-progress` (thanh thể hiện tình trạng bán/cháy hàng của một flash sale đang chạy), và element `countdown` có thêm tùy chọn `sourceFlashSale` để đếm ngược theo flash sale đang chạy thay vì phải nhập sẵn thời điểm kết thúc.
13
+ - Catalog giờ mang thêm 6 operation flash-sale mới (liệt kê flash sale đang chạy, và liệt kê/tạo/lấy/cập nhật/xóa flash sale của site), có thể tìm thấy qua `sb_api_find` và gọi qua `sb_api_call`.
14
+ - Giá trị mặc định của thẻ và chip trên khắp catalog — element tài khoản, voucher, countdown, tab, accordion, biến thể và bộ lọc — giờ đọc theo token `var(--wb-sc-*)` của theme thay vì màu cố định, nên một site theme tối không còn hiện chữ tối đè lên nền sáng cố định ở những element này.
15
+
9
16
  ## [0.67.0] - 2026-09-25
10
17
 
11
18
  ### Added
package/README.md CHANGED
@@ -114,8 +114,8 @@ in this client: one would put the very key the platform exists to hold back into
114
114
  | `sb_store` | Run a store flow that must happen in a fixed order — `checkout` (the four writes that make a working one), `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
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 |
116
116
 
117
- Twenty-eight tools, **568 API operations** (195 of the 253 writes carrying a body shape read
118
- off the handler), 120 elements, 79 binding sources. `sb_api_find`
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`
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`.
package/README.vi.md CHANGED
@@ -111,8 +111,8 @@ nhét ngược lại vào mọi bản cài.
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), `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
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 |
113
113
 
114
- Hai mươi tám tool, **568 operation API** (195 trong 253 lệnh ghi có hình dạng body đọc thẳng
115
- từ handler), 120 element, 79 nguồn binding. `sb_api_find` là
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à
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.
@@ -1,7 +1,7 @@
1
1
  export const SWAGGER_SOURCE = {
2
- "operations": 568,
3
- "definitions": 108,
4
- "bodyCarrying": 214,
2
+ "operations": 574,
3
+ "definitions": 110,
4
+ "bodyCarrying": 219,
5
5
  "bodyUndescribed": 92,
6
6
  "generatedFrom": "server/docs/swagger.json"
7
7
  };
@@ -978,6 +978,19 @@ export const API_OPERATIONS = [
978
978
  "bodyRef": null,
979
979
  "credential": "siteScoped"
980
980
  },
981
+ {
982
+ "id": "get:/_wb/flashsales/active",
983
+ "method": "GET",
984
+ "path": "/_wb/flashsales/active",
985
+ "tags": [
986
+ "storeflashsales"
987
+ ],
988
+ "summary": "List the site's running flash-sale campaigns and items",
989
+ "params": [],
990
+ "bodyDescribed": false,
991
+ "bodyRef": null,
992
+ "credential": "siteScoped"
993
+ },
981
994
  {
982
995
  "id": "get:/_wb/forms/{formId}/slots",
983
996
  "method": "GET",
@@ -8021,6 +8034,167 @@ export const API_OPERATIONS = [
8021
8034
  "bodyRef": null,
8022
8035
  "credential": "siteScoped"
8023
8036
  },
8037
+ {
8038
+ "id": "get:/api/sites/{siteId}/flash-sales",
8039
+ "method": "GET",
8040
+ "path": "/api/sites/{siteId}/flash-sales",
8041
+ "tags": [
8042
+ "flashsales"
8043
+ ],
8044
+ "summary": "List or create flash sales",
8045
+ "params": [
8046
+ {
8047
+ "name": "siteId",
8048
+ "in": "path",
8049
+ "required": true,
8050
+ "type": "string",
8051
+ "description": "Site ID"
8052
+ },
8053
+ {
8054
+ "name": "flashSale",
8055
+ "in": "body",
8056
+ "required": false,
8057
+ "type": "object",
8058
+ "description": "Flash sale to create (POST only)"
8059
+ }
8060
+ ],
8061
+ "bodyDescribed": true,
8062
+ "bodyRef": "github_com_webbuilder_server_internal_flashsales.FlashSale",
8063
+ "credential": "siteScoped"
8064
+ },
8065
+ {
8066
+ "id": "post:/api/sites/{siteId}/flash-sales",
8067
+ "method": "POST",
8068
+ "path": "/api/sites/{siteId}/flash-sales",
8069
+ "tags": [
8070
+ "flashsales"
8071
+ ],
8072
+ "summary": "List or create flash sales",
8073
+ "params": [
8074
+ {
8075
+ "name": "siteId",
8076
+ "in": "path",
8077
+ "required": true,
8078
+ "type": "string",
8079
+ "description": "Site ID"
8080
+ },
8081
+ {
8082
+ "name": "flashSale",
8083
+ "in": "body",
8084
+ "required": false,
8085
+ "type": "object",
8086
+ "description": "Flash sale to create (POST only)"
8087
+ }
8088
+ ],
8089
+ "bodyDescribed": true,
8090
+ "bodyRef": "github_com_webbuilder_server_internal_flashsales.FlashSale",
8091
+ "credential": "siteScoped"
8092
+ },
8093
+ {
8094
+ "id": "get:/api/sites/{siteId}/flash-sales/{id}",
8095
+ "method": "GET",
8096
+ "path": "/api/sites/{siteId}/flash-sales/{id}",
8097
+ "tags": [
8098
+ "flashsales"
8099
+ ],
8100
+ "summary": "Get, update or delete a flash sale",
8101
+ "params": [
8102
+ {
8103
+ "name": "siteId",
8104
+ "in": "path",
8105
+ "required": true,
8106
+ "type": "string",
8107
+ "description": "Site ID"
8108
+ },
8109
+ {
8110
+ "name": "id",
8111
+ "in": "path",
8112
+ "required": true,
8113
+ "type": "string",
8114
+ "description": "Flash sale ID"
8115
+ },
8116
+ {
8117
+ "name": "flashSale",
8118
+ "in": "body",
8119
+ "required": false,
8120
+ "type": "object",
8121
+ "description": "Updated flash sale (PUT only)"
8122
+ }
8123
+ ],
8124
+ "bodyDescribed": true,
8125
+ "bodyRef": "github_com_webbuilder_server_internal_flashsales.FlashSale",
8126
+ "credential": "siteScoped"
8127
+ },
8128
+ {
8129
+ "id": "put:/api/sites/{siteId}/flash-sales/{id}",
8130
+ "method": "PUT",
8131
+ "path": "/api/sites/{siteId}/flash-sales/{id}",
8132
+ "tags": [
8133
+ "flashsales"
8134
+ ],
8135
+ "summary": "Get, update or delete a flash sale",
8136
+ "params": [
8137
+ {
8138
+ "name": "siteId",
8139
+ "in": "path",
8140
+ "required": true,
8141
+ "type": "string",
8142
+ "description": "Site ID"
8143
+ },
8144
+ {
8145
+ "name": "id",
8146
+ "in": "path",
8147
+ "required": true,
8148
+ "type": "string",
8149
+ "description": "Flash sale ID"
8150
+ },
8151
+ {
8152
+ "name": "flashSale",
8153
+ "in": "body",
8154
+ "required": false,
8155
+ "type": "object",
8156
+ "description": "Updated flash sale (PUT only)"
8157
+ }
8158
+ ],
8159
+ "bodyDescribed": true,
8160
+ "bodyRef": "github_com_webbuilder_server_internal_flashsales.FlashSale",
8161
+ "credential": "siteScoped"
8162
+ },
8163
+ {
8164
+ "id": "delete:/api/sites/{siteId}/flash-sales/{id}",
8165
+ "method": "DELETE",
8166
+ "path": "/api/sites/{siteId}/flash-sales/{id}",
8167
+ "tags": [
8168
+ "flashsales"
8169
+ ],
8170
+ "summary": "Get, update or delete a flash sale",
8171
+ "params": [
8172
+ {
8173
+ "name": "siteId",
8174
+ "in": "path",
8175
+ "required": true,
8176
+ "type": "string",
8177
+ "description": "Site ID"
8178
+ },
8179
+ {
8180
+ "name": "id",
8181
+ "in": "path",
8182
+ "required": true,
8183
+ "type": "string",
8184
+ "description": "Flash sale ID"
8185
+ },
8186
+ {
8187
+ "name": "flashSale",
8188
+ "in": "body",
8189
+ "required": false,
8190
+ "type": "object",
8191
+ "description": "Updated flash sale (PUT only)"
8192
+ }
8193
+ ],
8194
+ "bodyDescribed": true,
8195
+ "bodyRef": "github_com_webbuilder_server_internal_flashsales.FlashSale",
8196
+ "credential": "siteScoped"
8197
+ },
8024
8198
  {
8025
8199
  "id": "get:/api/sites/{siteId}/fonts",
8026
8200
  "method": "GET",
@@ -17574,6 +17748,73 @@ export const API_DEFINITIONS = {
17574
17748
  }
17575
17749
  }
17576
17750
  },
17751
+ "github_com_webbuilder_server_internal_flashsales.FlashSale": {
17752
+ "type": "object",
17753
+ "properties": {
17754
+ "active": {
17755
+ "type": "boolean"
17756
+ },
17757
+ "allowDiscountCodes": {
17758
+ "type": "boolean"
17759
+ },
17760
+ "createdAt": {
17761
+ "type": "string"
17762
+ },
17763
+ "endsAt": {
17764
+ "type": "string"
17765
+ },
17766
+ "id": {
17767
+ "type": "string"
17768
+ },
17769
+ "items": {
17770
+ "type": "array",
17771
+ "items": {
17772
+ "$ref": "#/definitions/github_com_webbuilder_server_internal_flashsales.Item"
17773
+ }
17774
+ },
17775
+ "name": {
17776
+ "type": "string"
17777
+ },
17778
+ "siteId": {
17779
+ "type": "string"
17780
+ },
17781
+ "startsAt": {
17782
+ "type": "string"
17783
+ },
17784
+ "updatedAt": {
17785
+ "type": "string"
17786
+ }
17787
+ }
17788
+ },
17789
+ "github_com_webbuilder_server_internal_flashsales.Item": {
17790
+ "type": "object",
17791
+ "properties": {
17792
+ "flashSaleId": {
17793
+ "type": "string"
17794
+ },
17795
+ "id": {
17796
+ "type": "string"
17797
+ },
17798
+ "perOrderLimit": {
17799
+ "type": "integer"
17800
+ },
17801
+ "productId": {
17802
+ "type": "string"
17803
+ },
17804
+ "quota": {
17805
+ "type": "integer"
17806
+ },
17807
+ "salePriceCents": {
17808
+ "type": "integer"
17809
+ },
17810
+ "sold": {
17811
+ "type": "integer"
17812
+ },
17813
+ "variantId": {
17814
+ "type": "string"
17815
+ }
17816
+ }
17817
+ },
17577
17818
  "github_com_webbuilder_server_internal_fonts.FontFile": {
17578
17819
  "type": "object",
17579
17820
  "properties": {
@@ -18254,12 +18495,20 @@ export const API_DEFINITIONS = {
18254
18495
  "github_com_webbuilder_server_internal_orders.OrderItem": {
18255
18496
  "type": "object",
18256
18497
  "properties": {
18498
+ "flashItemId": {
18499
+ "description": "FlashItemID names the flash-sale item this line was priced by (\"\" = the\ncatalogue price). Set only by LineResolver.Items; the quota claim and its\nrelease key on it. See orders/flash.go.",
18500
+ "type": "string"
18501
+ },
18257
18502
  "image": {
18258
18503
  "type": "string"
18259
18504
  },
18260
18505
  "name": {
18261
18506
  "type": "string"
18262
18507
  },
18508
+ "noDiscount": {
18509
+ "description": "NoDiscount keeps this line out of every discount base — a flash-sale line\nwhose campaign does not stack with codes. See Checkout.orderContext.",
18510
+ "type": "boolean"
18511
+ },
18263
18512
  "options": {
18264
18513
  "type": "object",
18265
18514
  "additionalProperties": {
@@ -627,7 +627,7 @@ export const CHECKOUT_PAGE_DOCUMENT = {
627
627
  "gap": "12px",
628
628
  "fontSize": "16px",
629
629
  "fontWeight": "400",
630
- "color": "#171717"
630
+ "color": "var(--wb-sc-heading, #171717)"
631
631
  },
632
632
  "config": {},
633
633
  "specials": {
@@ -658,7 +658,7 @@ export const CHECKOUT_PAGE_DOCUMENT = {
658
658
  "gap": "12px",
659
659
  "fontSize": "16px",
660
660
  "fontWeight": "400",
661
- "color": "#171717"
661
+ "color": "var(--wb-sc-heading, #171717)"
662
662
  },
663
663
  "config": {},
664
664
  "specials": {
@@ -689,7 +689,7 @@ export const CHECKOUT_PAGE_DOCUMENT = {
689
689
  "gap": "12px",
690
690
  "fontSize": "16px",
691
691
  "fontWeight": "400",
692
- "color": "#171717"
692
+ "color": "var(--wb-sc-heading, #171717)"
693
693
  },
694
694
  "config": {},
695
695
  "specials": {
@@ -720,7 +720,7 @@ export const CHECKOUT_PAGE_DOCUMENT = {
720
720
  "gap": "12px",
721
721
  "fontSize": "16px",
722
722
  "fontWeight": "600",
723
- "color": "#171717"
723
+ "color": "var(--wb-sc-heading, #171717)"
724
724
  },
725
725
  "config": {},
726
726
  "specials": {
@@ -751,7 +751,7 @@ export const CHECKOUT_PAGE_DOCUMENT = {
751
751
  "gap": "12px",
752
752
  "fontSize": "16px",
753
753
  "fontWeight": "600",
754
- "color": "#171717"
754
+ "color": "var(--wb-sc-heading, #171717)"
755
755
  },
756
756
  "config": {},
757
757
  "specials": {
@@ -1,7 +1,7 @@
1
1
  export const DEAD_KEY_SOURCE = {
2
- "files": 4426,
3
- "identifiers": 83752,
4
- "seededKeys": 436,
2
+ "files": 4486,
3
+ "identifiers": 84430,
4
+ "seededKeys": 442,
5
5
  "dead": 0
6
6
  };
7
7
  /**