wavemaker-dev-mcp 0.1.1 → 0.1.3

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/README.md CHANGED
@@ -4,7 +4,7 @@ An MCP (Model Context Protocol) server that exposes **read-only** tools to searc
4
4
 
5
5
  - **`@wavemaker/react-runtime`** — component sources, `props.js` / `props.ts`, and references to widget names
6
6
  - **`@wavemaker/foundation-css`** or **`@wavemaker-ai/foundation-css`** — tokens, LESS, and CSS
7
- - **Layout helpers** — rule-based suggestions (component choice, spacing tokens, layout checks), plus a placeholder DOM analysis tool (replaceable with Playwright later)
7
+ - **Layout helpers** — rule-based suggestions (component choice, spacing tokens, layout checks, sibling wrapper hints via `fix_layout_spacing`), plus a placeholder DOM analysis tool (replaceable with Playwright later)
8
8
 
9
9
  There are **no embeddings** and **no vector DB**. Search uses [ripgrep](https://github.com/BurntSushi/ripgrep) when available, with a Node.js fallback.
10
10
 
@@ -62,6 +62,7 @@ Point the server at your WaveMaker app or source clones by adding an `env` block
62
62
  | `validate_layout` | Check a `layout` string and `code` snippet for common issues (e.g. row direction, `Wm*` components). |
63
63
  | `analyze_dom` | Returns mock header height, spacing, and alignment; intended as a stub until real DOM analysis is added. |
64
64
  | `enforce_spacing` | Given optional `type` (e.g. `card-group`, `section`) and `layout` (`row` / `column`), returns rule-based `gap` and `padding` tokens. |
65
+ | `fix_layout_spacing` | Given optional `siblingsCount`, returns `WmFlex` with `direction: row` and `gap: lg` when count is greater than one; otherwise `{ wrapper: null }`. |
65
66
 
66
67
  ## Cursor
67
68
 
package/dist/index.js CHANGED
@@ -210,7 +210,10 @@ async function main() {
210
210
  });
211
211
  mcp.registerTool("suggest_component", {
212
212
  title: "Suggest WaveMaker layout component",
213
- description: "Rule-based mapping from layout intent (grid, horizontal, vertical, repeat, grouped) to a component name (e.g. WmGrid, WmList, WmCard, WmFlex).",
213
+ description: "Rule-based mapping from layout intent to a WaveMaker component name and import path. " +
214
+ "horizontal/vertical/default → WmLinearLayout (autolayout, use with WmLinearLayoutItem). " +
215
+ "grid → WmLayoutGrid (use with WmGridRow + WmGridColumn). " +
216
+ "repeat → WmList. grouped → WmCard.",
214
217
  inputSchema: {
215
218
  layout: zod_1.z.string().optional().describe('e.g. "grid", "horizontal", "vertical"'),
216
219
  repeat: zod_1.z.boolean().optional().describe("Prefer WmList when true."),
@@ -222,7 +225,8 @@ async function main() {
222
225
  });
223
226
  mcp.registerTool("map_spacing", {
224
227
  title: "Map pixel spacing to design token",
225
- description: "Maps a pixel value to the nearest xs/sm/md/lg/xl spacing token and numeric value.",
228
+ description: "Maps a pixel value to the nearest xs/sm/md/lg/xl spacing token. " +
229
+ "Returns linearLayoutSpacing (pass as spacing={N} on WmLinearLayout) and containerGap (pass as gap={N} on WmContainer).",
226
230
  inputSchema: {
227
231
  px: zod_1.z.number().describe("Spacing in pixels."),
228
232
  },
@@ -251,7 +255,9 @@ async function main() {
251
255
  });
252
256
  mcp.registerTool("enforce_spacing", {
253
257
  title: "Enforce spacing rules",
254
- description: "Returns recommended gap and padding tokens from container type (e.g. card-group, section) and layout (row vs column).",
258
+ description: "Returns recommended spacing values from container type (e.g. card-group, section) and layout (row vs column). " +
259
+ "linearLayoutSpacing: pass as spacing={N} on WmLinearLayout. containerGap: pass as gap={N} on WmContainer (pixels). " +
260
+ "padding: use in styles={{ padding }} on any container.",
255
261
  inputSchema: {
256
262
  type: zod_1.z
257
263
  .string()
@@ -263,6 +269,20 @@ async function main() {
263
269
  const out = (0, layout_tools_js_1.enforceSpacing)({ type, layout });
264
270
  return { content: [{ type: "text", text: JSON.stringify(out, null, 2) }] };
265
271
  });
272
+ mcp.registerTool("fix_layout_spacing", {
273
+ title: "Fix layout spacing",
274
+ description: "When there is more than one sibling, recommends wrapping in WmLinearLayout (autolayout) with row direction and spacing={18}. " +
275
+ "Each sibling should become a WmLinearLayoutItem child. Returns wrapper: null for a single child.",
276
+ inputSchema: {
277
+ siblingsCount: zod_1.z
278
+ .number()
279
+ .optional()
280
+ .describe("Number of sibling elements in the layout context."),
281
+ },
282
+ }, async ({ siblingsCount }) => {
283
+ const out = (0, layout_tools_js_1.fixLayoutSpacing)({ siblingsCount });
284
+ return { content: [{ type: "text", text: JSON.stringify(out, null, 2) }] };
285
+ });
266
286
  const transport = new stdio_js_1.StdioServerTransport();
267
287
  await mcp.connect(transport);
268
288
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,10 +7,13 @@ export interface SuggestComponentInput {
7
7
  export declare function suggestComponent(input: SuggestComponentInput): {
8
8
  component: string;
9
9
  reason: string;
10
+ importPath: string;
10
11
  };
11
12
  export declare function mapSpacing(px: number): {
12
13
  token: string;
13
- value: number;
14
+ px: number;
15
+ linearLayoutSpacing: number;
16
+ containerGap: number;
14
17
  };
15
18
  export interface ValidateLayoutInput {
16
19
  layout: string;
@@ -23,10 +26,17 @@ export interface EnforceSpacingInput {
23
26
  type?: string;
24
27
  layout?: string;
25
28
  }
26
- /** Rule-based gap/padding tokens from container type and flex direction. */
29
+ /**
30
+ * Returns recommended spacing values for WmLinearLayout and WmContainer.
31
+ * - linearLayoutSpacing: pass as spacing={N} on WmLinearLayout
32
+ * - containerGap: pass as gap={N} on WmContainer (pixels)
33
+ * - padding: use in styles={{ padding }} on any container
34
+ */
27
35
  export declare function enforceSpacing(input: EnforceSpacingInput): {
28
- gap: string;
36
+ linearLayoutSpacing: number;
37
+ containerGap: number;
29
38
  padding: string;
39
+ token: string;
30
40
  };
31
41
  /** Placeholder until Playwright-based DOM analysis is wired. */
32
42
  export declare function analyzeDomMock(): {
@@ -34,4 +44,18 @@ export declare function analyzeDomMock(): {
34
44
  spacing: number;
35
45
  alignment: string;
36
46
  };
47
+ export interface FixLayoutSpacingInput {
48
+ siblingsCount?: number;
49
+ }
50
+ export type FixLayoutSpacingResult = {
51
+ wrapper: "WmLinearLayout";
52
+ itemWrapper: "WmLinearLayoutItem";
53
+ direction: "row";
54
+ spacing: number;
55
+ note: string;
56
+ } | {
57
+ wrapper: null;
58
+ };
59
+ /** Recommend wrapping multiple siblings in WmLinearLayout autolayout. */
60
+ export declare function fixLayoutSpacing(input: FixLayoutSpacingInput): FixLayoutSpacingResult;
37
61
  //# sourceMappingURL=layout-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-tools.d.ts","sourceRoot":"","sources":["../src/layout-tools.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAcpG;AAKD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAYvE;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAa/E;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAY3F;AAED,gEAAgE;AAChE,wBAAgB,cAAc,IAAI;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAM9F"}
1
+ {"version":3,"file":"layout-tools.d.ts","sourceRoot":"","sources":["../src/layout-tools.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAEnD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmCxH;AAQD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAavH;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsB/E;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG;IAC1D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAmBA;AAED,gEAAgE;AAChE,wBAAgB,cAAc,IAAI;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAM9F;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,SAAS,EAAE,KAAK,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,CAAC;AAEtB,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAYrF"}
@@ -6,64 +6,103 @@ exports.mapSpacing = mapSpacing;
6
6
  exports.validateLayout = validateLayout;
7
7
  exports.enforceSpacing = enforceSpacing;
8
8
  exports.analyzeDomMock = analyzeDomMock;
9
+ exports.fixLayoutSpacing = fixLayoutSpacing;
9
10
  function suggestComponent(input) {
10
11
  const { layout, repeat, grouped } = input;
11
- let component = "WmFlex";
12
- if (layout === "grid")
13
- component = "WmGrid";
14
- else if (repeat)
15
- component = "WmList";
16
- else if (grouped)
17
- component = "WmCard";
18
- else if (layout === "horizontal")
19
- component = "WmFlex";
20
- else if (layout === "vertical")
21
- component = "WmFlex";
12
+ if (layout === "grid") {
13
+ return {
14
+ component: "WmLayoutGrid",
15
+ reason: "12-column grid layout. Pair with WmGridRow and WmGridColumn.",
16
+ importPath: "@wavemaker/react-runtime/components/container/layout-grid",
17
+ };
18
+ }
19
+ if (repeat) {
20
+ return {
21
+ component: "WmList",
22
+ reason: "Repeating items from a data source.",
23
+ importPath: "@wavemaker/react-runtime/components/data/list",
24
+ };
25
+ }
26
+ if (grouped) {
27
+ return {
28
+ component: "WmCard",
29
+ reason: "Grouped content in a card surface.",
30
+ importPath: "@wavemaker/react-runtime/components/data/card",
31
+ };
32
+ }
33
+ // horizontal, vertical, or unspecified → autolayout
22
34
  return {
23
- component,
24
- reason: "Rule-based mapping",
35
+ component: "WmLinearLayout",
36
+ reason: layout === "horizontal"
37
+ ? "Row autolayout. Wrap each child in WmLinearLayoutItem. Use spacing={N} for gap between items."
38
+ : layout === "vertical"
39
+ ? "Column autolayout. Wrap each child in WmLinearLayoutItem. Use spacing={N} for gap between items."
40
+ : "Default autolayout. Wrap each child in WmLinearLayoutItem. Use spacing={N} for gap between items.",
41
+ importPath: "@wavemaker/react-runtime/components/container/linear-layout",
25
42
  };
26
43
  }
27
- const TOKENS = [4, 8, 16, 24, 32];
44
+ // Spacing token pixel values (4px grid)
45
+ const TOKEN_PX = [4, 8, 16, 24, 32];
28
46
  const TOKEN_NAMES = ["xs", "sm", "md", "lg", "xl"];
47
+ // WmLinearLayout spacing values (pt-based, matching foundation CSS classes)
48
+ const LINEAR_LAYOUT_SPACING = [3, 6, 12, 18, 24];
29
49
  function mapSpacing(px) {
30
- let closest = TOKENS[0];
31
- for (const t of TOKENS) {
32
- if (Math.abs(t - px) < Math.abs(closest - px)) {
33
- closest = t;
50
+ let closestIndex = 0;
51
+ for (let i = 1; i < TOKEN_PX.length; i++) {
52
+ if (Math.abs(TOKEN_PX[i] - px) < Math.abs(TOKEN_PX[closestIndex] - px)) {
53
+ closestIndex = i;
34
54
  }
35
55
  }
36
- const index = TOKENS.indexOf(closest);
37
56
  return {
38
- token: TOKEN_NAMES[index],
39
- value: closest,
57
+ token: TOKEN_NAMES[closestIndex],
58
+ px: TOKEN_PX[closestIndex],
59
+ linearLayoutSpacing: LINEAR_LAYOUT_SPACING[closestIndex],
60
+ containerGap: TOKEN_PX[closestIndex],
40
61
  };
41
62
  }
42
63
  function validateLayout(input) {
43
64
  const { layout, code } = input;
44
65
  const errors = [];
45
- if (layout.includes("row") && !code.includes('direction="row"')) {
46
- errors.push("Missing row direction");
66
+ if (layout.includes("row")) {
67
+ const hasRowContainer = code.includes('direction="row"') || // WmContainer / WmLinearLayout
68
+ code.includes("direction='row'");
69
+ if (!hasRowContainer) {
70
+ errors.push('Missing row direction — add direction="row" to WmLinearLayout or WmContainer');
71
+ }
47
72
  }
48
73
  if (!code.includes("Wm")) {
49
- errors.push("Non-WaveMaker components used");
74
+ errors.push("Non-WaveMaker components used — replace with Wm* components");
75
+ }
76
+ if (code.includes("WmFlex") || code.includes("WmGrid>") || code.includes("WmGrid ")) {
77
+ errors.push("WmFlex and WmGrid do not exist — use WmLinearLayout (autolayout) or WmContainer for flex, WmLayoutGrid for grid");
50
78
  }
51
79
  return { errors };
52
80
  }
53
- /** Rule-based gap/padding tokens from container type and flex direction. */
81
+ /**
82
+ * Returns recommended spacing values for WmLinearLayout and WmContainer.
83
+ * - linearLayoutSpacing: pass as spacing={N} on WmLinearLayout
84
+ * - containerGap: pass as gap={N} on WmContainer (pixels)
85
+ * - padding: use in styles={{ padding }} on any container
86
+ */
54
87
  function enforceSpacing(input) {
55
88
  const { type, layout } = input;
56
- let gap = "md";
57
- let padding = "md";
89
+ // Default: md
90
+ let index = 2; // md
58
91
  if (type === "card-group")
59
- gap = "lg";
92
+ index = 3; // lg
60
93
  if (type === "section")
61
- gap = "xl";
94
+ index = 4; // xl
95
+ // layout overrides type
62
96
  if (layout === "row")
63
- gap = "lg";
97
+ index = 3; // lg
64
98
  if (layout === "column")
65
- gap = "md";
66
- return { gap, padding };
99
+ index = 2; // md
100
+ return {
101
+ linearLayoutSpacing: LINEAR_LAYOUT_SPACING[index],
102
+ containerGap: TOKEN_PX[index],
103
+ padding: `var(--wm-space-${index + 1})`,
104
+ token: TOKEN_NAMES[index],
105
+ };
67
106
  }
68
107
  /** Placeholder until Playwright-based DOM analysis is wired. */
69
108
  function analyzeDomMock() {
@@ -73,4 +112,18 @@ function analyzeDomMock() {
73
112
  alignment: "left",
74
113
  };
75
114
  }
115
+ /** Recommend wrapping multiple siblings in WmLinearLayout autolayout. */
116
+ function fixLayoutSpacing(input) {
117
+ const { siblingsCount } = input;
118
+ if (siblingsCount != null && siblingsCount > 1) {
119
+ return {
120
+ wrapper: "WmLinearLayout",
121
+ itemWrapper: "WmLinearLayoutItem",
122
+ direction: "row",
123
+ spacing: 18,
124
+ note: "Wrap each sibling in a WmLinearLayoutItem child. Use flexgrow={1} for equal-width items.",
125
+ };
126
+ }
127
+ return { wrapper: null };
128
+ }
76
129
  //# sourceMappingURL=layout-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout-tools.js","sourceRoot":"","sources":["../src/layout-tools.ts"],"names":[],"mappings":";AAAA,mDAAmD;;AAQnD,4CAcC;AAKD,gCAYC;AAOD,wCAaC;AAQD,wCAYC;AAGD,wCAMC;AAhFD,SAAgB,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1C,IAAI,SAAS,GAAG,QAAQ,CAAC;IAEzB,IAAI,MAAM,KAAK,MAAM;QAAE,SAAS,GAAG,QAAQ,CAAC;SACvC,IAAI,MAAM;QAAE,SAAS,GAAG,QAAQ,CAAC;SACjC,IAAI,OAAO;QAAE,SAAS,GAAG,QAAQ,CAAC;SAClC,IAAI,MAAM,KAAK,YAAY;QAAE,SAAS,GAAG,QAAQ,CAAC;SAClD,IAAI,MAAM,KAAK,UAAU;QAAE,SAAS,GAAG,QAAQ,CAAC;IAErD,OAAO;QACL,SAAS;QACT,MAAM,EAAE,oBAAoB;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAClC,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEnD,SAAgB,UAAU,CAAC,EAAU;IACnC,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO;QACL,KAAK,EAAE,WAAW,CAAC,KAAK,CAAE;QAC1B,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAOD,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAOD,4EAA4E;AAC5E,SAAgB,cAAc,CAAC,KAA0B;IACvD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,IAAI,KAAK,YAAY;QAAE,GAAG,GAAG,IAAI,CAAC;IACtC,IAAI,IAAI,KAAK,SAAS;QAAE,GAAG,GAAG,IAAI,CAAC;IAEnC,IAAI,MAAM,KAAK,KAAK;QAAE,GAAG,GAAG,IAAI,CAAC;IACjC,IAAI,MAAM,KAAK,QAAQ;QAAE,GAAG,GAAG,IAAI,CAAC;IAEpC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,gEAAgE;AAChE,SAAgB,cAAc;IAC5B,OAAO;QACL,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,MAAM;KAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"layout-tools.js","sourceRoot":"","sources":["../src/layout-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wavemaker-dev-mcp",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "MCP server for WaveMaker React runtime and foundation-css: search, read props, and tokens from node_modules",
5
5
  "keywords": [
6
6
  "mcp",