sbuilder-mcp 0.49.0 → 0.50.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,12 @@ 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.50.0] - 2026-09-15
10
+
11
+ ### Changed
12
+ - `sb_catalog_search` raises its `limit` ceiling from 30 to 60 so a category can be read whole; the `basic` category alone holds 39 element types, and a 30-cap silently dropped the nine an agent had never used, the same failure browsing exists to fix.
13
+ - `sb_catalog_search`'s browse note now tells the caller to pass a category name with `limit` 60 to read that whole group's descriptions at once, on top of passing a type for its fields.
14
+
9
15
  ## [0.49.0] - 2026-09-15
10
16
 
11
17
  ### Added
package/CHANGELOG.vi.md CHANGED
@@ -6,6 +6,12 @@ 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.50.0] - 2026-09-15
10
+
11
+ ### Changed
12
+ - `sb_catalog_search` nâng trần `limit` từ 30 lên 60 để có thể đọc trọn một category; riêng category `basic` đã có 39 loại phần tử, và mức trần 30 âm thầm bỏ sót chín phần tử mà agent chưa từng dùng đến — đúng lỗi mà tính năng duyệt catalog vốn sinh ra để khắc phục.
13
+ - Ghi chú duyệt catalog của `sb_catalog_search` giờ hướng dẫn người gọi truyền tên một category cùng `limit` 60 để đọc toàn bộ mô tả của nhóm đó một lần, bên cạnh việc truyền một loại phần tử để xem các trường lựa chọn của nó.
14
+
9
15
  ## [0.49.0] - 2026-09-15
10
16
 
11
17
  ### Added
@@ -36,6 +36,18 @@ export function catalogBrowse() {
36
36
  out[k].sort();
37
37
  return out;
38
38
  }
39
+ /**
40
+ * The biggest category, which is what `limit` has to clear for a caller to read
41
+ * one group WHOLE.
42
+ *
43
+ * A group query that silently returns its first 30 of 39 is the worst answer
44
+ * available here: it looks like the whole group, and the nine it dropped are
45
+ * exactly the elements nobody knew to look for. `catalog-browse.test.ts` fails
46
+ * when a category outgrows the cap, which is the only way anyone would notice.
47
+ */
48
+ export function largestCategorySize() {
49
+ return Math.max(...Object.values(catalogBrowse()).map((g) => g.length));
50
+ }
39
51
  /**
40
52
  * Four fields to CHOOSE by.
41
53
  *
@@ -561,7 +561,7 @@ export function registerPageTools(server, ctx) {
561
561
  'does sb_traits_for.',
562
562
  inputSchema: {
563
563
  query: z.string().optional(),
564
- limit: z.number().int().min(1).max(30).optional().describe('Default 8'),
564
+ limit: z.number().int().min(1).max(60).optional().describe('Default 8'),
565
565
  detail: z.boolean().optional().describe('Include useWhen / avoidWhen / contentTips per match'),
566
566
  },
567
567
  annotations: { readOnlyHint: true },
@@ -574,8 +574,10 @@ export function registerPageTools(server, ctx) {
574
574
  ? catalogMatches(query, { limit, detail })
575
575
  : {
576
576
  elements: catalogBrowse(),
577
- note: 'Every element type, grouped as the palette groups them. Pass one as query for ' +
578
- 'the fields to choose by, then sb_traits_for for its controls and hints.',
577
+ note: 'Every element type, grouped as the palette groups them. Pass a TYPE as query ' +
578
+ 'for the fields to choose by, or a CATEGORY NAME with limit 60 to read that ' +
579
+ "whole group's descriptions at once — which is how you find out what the ones " +
580
+ 'you have never used are for. sb_traits_for then has the controls and hints.',
579
581
  }));
580
582
  server.registerTool('sb_traits_for', {
581
583
  description: "This element's INSPECTOR, as a person sees it: tabs, groups, and every control name — " +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sbuilder-mcp",
3
- "version": "0.49.0",
3
+ "version": "0.50.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",