@maltjoy/mcp-server 0.3.2 → 0.4.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.
Files changed (103) hide show
  1. package/README.md +21 -2
  2. package/dist/doc/VJoyAdminBanner/metadata.json +2 -1
  3. package/dist/doc/VJoyAvailability/metadata.json +2 -1
  4. package/dist/doc/VJoyAvatar/metadata.json +2 -1
  5. package/dist/doc/VJoyAvatarsList/metadata.json +2 -1
  6. package/dist/doc/VJoyBadge/metadata.json +2 -1
  7. package/dist/doc/VJoyBadgeLevel/metadata.json +2 -1
  8. package/dist/doc/VJoyBlockSkeleton/metadata.json +2 -1
  9. package/dist/doc/VJoyBottomSheet/metadata.json +2 -1
  10. package/dist/doc/VJoyBottomSheetTrigger/metadata.json +1 -0
  11. package/dist/doc/VJoyButton/metadata.json +2 -1
  12. package/dist/doc/VJoyButtonCard/JoyButtonCard.types.ts +15 -0
  13. package/dist/doc/VJoyButtonCard/metadata.json +78 -0
  14. package/dist/doc/VJoyCheckbox/JoyCheckbox.types.ts +26 -0
  15. package/dist/doc/VJoyCheckbox/metadata.json +29 -28
  16. package/dist/doc/VJoyCheckboxCard/JoyCheckboxCard.types.ts +8 -0
  17. package/dist/doc/VJoyCheckboxCard/metadata.json +221 -0
  18. package/dist/doc/VJoyCheckboxGroup/metadata.json +338 -0
  19. package/dist/doc/VJoyCollapse/metadata.json +2 -1
  20. package/dist/doc/VJoyCollapseItem/metadata.json +2 -1
  21. package/dist/doc/VJoyCompanyAvatar/metadata.json +1 -0
  22. package/dist/doc/VJoyDialog/metadata.json +2 -1
  23. package/dist/doc/VJoyDialogTrigger/metadata.json +1 -0
  24. package/dist/doc/VJoyDot/metadata.json +2 -1
  25. package/dist/doc/VJoyDrawer/metadata.json +2 -1
  26. package/dist/doc/VJoyDrawerTrigger/metadata.json +1 -0
  27. package/dist/doc/VJoyDropdown/metadata.json +76 -75
  28. package/dist/doc/VJoyDropdownList/metadata.json +2 -1
  29. package/dist/doc/VJoyDropzone/metadata.json +2 -1
  30. package/dist/doc/VJoyFilterBar/metadata.json +2 -1
  31. package/dist/doc/VJoyFilterBarButton/metadata.json +1 -0
  32. package/dist/doc/VJoyFloatingActionsBar/metadata.json +70 -0
  33. package/dist/doc/VJoyFormError/metadata.json +2 -1
  34. package/dist/doc/VJoyFormFieldSkeleton/metadata.json +2 -1
  35. package/dist/doc/VJoyFormGroup/metadata.json +2 -1
  36. package/dist/doc/VJoyFunnel/metadata.json +2 -1
  37. package/dist/doc/VJoyFunnelFooter/metadata.json +1 -0
  38. package/dist/doc/VJoyFunnelHeader/metadata.json +1 -0
  39. package/dist/doc/VJoyHighlight/metadata.json +2 -1
  40. package/dist/doc/VJoyIcon/metadata.json +2 -1
  41. package/dist/doc/VJoyIconButton/JoyIconButton.types.ts +6 -0
  42. package/dist/doc/VJoyIconButton/metadata.json +116 -0
  43. package/dist/doc/VJoyIndicator/metadata.json +1 -0
  44. package/dist/doc/VJoyIndicators/metadata.json +2 -1
  45. package/dist/doc/VJoyInput/metadata.json +12 -11
  46. package/dist/doc/VJoyInputDigit/metadata.json +2 -1
  47. package/dist/doc/VJoyInputNumber/metadata.json +286 -0
  48. package/dist/doc/VJoyInputPassword/metadata.json +33 -32
  49. package/dist/doc/VJoyLabel/metadata.json +6 -5
  50. package/dist/doc/VJoyLink/metadata.json +11 -10
  51. package/dist/doc/VJoyListItem/metadata.json +2 -1
  52. package/dist/doc/VJoyMenu/metadata.json +2 -1
  53. package/dist/doc/VJoyMenuItem/metadata.json +2 -1
  54. package/dist/doc/VJoyMultiCheckbox/metadata.json +193 -13
  55. package/dist/doc/VJoyPagination/metadata.json +2 -1
  56. package/dist/doc/VJoyPanel/metadata.json +2 -1
  57. package/dist/doc/VJoyPanelSection/metadata.json +1 -0
  58. package/dist/doc/VJoyPasswordRequirement/metadata.json +2 -1
  59. package/dist/doc/VJoyProductTour/metadata.json +2 -1
  60. package/dist/doc/VJoyProductTourTrigger/metadata.json +1 -0
  61. package/dist/doc/VJoyProgressBar/metadata.json +2 -6
  62. package/dist/doc/VJoyRadio/metadata.json +1 -0
  63. package/dist/doc/VJoyRadioGroup/metadata.json +4 -3
  64. package/dist/doc/VJoyRatingStars/metadata.json +2 -1
  65. package/dist/doc/VJoyScreenLoader/metadata.json +2 -1
  66. package/dist/doc/VJoySelect/metadata.json +34 -33
  67. package/dist/doc/VJoySelectableItem/metadata.json +1 -0
  68. package/dist/doc/VJoySelectableItemGroup/metadata.json +2 -1
  69. package/dist/doc/VJoySeparator/metadata.json +2 -1
  70. package/dist/doc/VJoySnackbar/metadata.json +2 -1
  71. package/dist/doc/VJoySpinner/metadata.json +2 -1
  72. package/dist/doc/VJoyStep/metadata.json +1 -0
  73. package/dist/doc/VJoyStepper/metadata.json +2 -1
  74. package/dist/doc/VJoyTab/metadata.json +1 -0
  75. package/dist/doc/VJoyTabs/metadata.json +2 -1
  76. package/dist/doc/VJoyTag/metadata.json +6 -5
  77. package/dist/doc/VJoyTagsInput/metadata.json +2 -1
  78. package/dist/doc/VJoyTagsList/metadata.json +19 -18
  79. package/dist/doc/VJoyTemplate/metadata.json +2 -1
  80. package/dist/doc/VJoyText/metadata.json +2 -1
  81. package/dist/doc/VJoyTextarea/metadata.json +25 -24
  82. package/dist/doc/VJoyTitleBrand/metadata.json +2 -1
  83. package/dist/doc/VJoyToggle/metadata.json +15 -14
  84. package/dist/doc/VJoyTooltip/metadata.json +2 -1
  85. package/dist/doc/VJoyUserCard/metadata.json +2 -1
  86. package/dist/doc/VJoyWalkthrough/metadata.json +2 -1
  87. package/dist/doc/VJoyWalkthroughTrigger/metadata.json +1 -0
  88. package/dist/doc/VJoyWrapper/metadata.json +20 -19
  89. package/dist/doc/css-classes.json +2 -0
  90. package/dist/doc/design-tokens.json +30 -30
  91. package/dist/doc/index.json +206 -78
  92. package/dist/parser.d.ts +3 -0
  93. package/dist/parser.d.ts.map +1 -1
  94. package/dist/parser.js +3 -0
  95. package/dist/parser.js.map +1 -1
  96. package/dist/tools/get-component-info.js +1 -1
  97. package/dist/tools/get-component-info.js.map +1 -1
  98. package/dist/tools/list-components.d.ts +1 -4
  99. package/dist/tools/list-components.d.ts.map +1 -1
  100. package/dist/tools/list-components.js +22 -5
  101. package/dist/tools/list-components.js.map +1 -1
  102. package/package.json +3 -2
  103. package/dist/doc/VJoyTemplateShape/metadata.json +0 -10
package/dist/parser.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare function getComponentCount(): number;
10
10
  export interface ComponentSummary {
11
11
  name: string;
12
12
  description: string;
13
+ category: string;
13
14
  }
14
15
  /**
15
16
  * Parse the Joy components documentation JSON file
@@ -21,6 +22,8 @@ export declare function parseComponentSummaries(): ComponentSummary[];
21
22
  */
22
23
  export interface ComponentInfo {
23
24
  name: string;
25
+ description: string;
26
+ category: string;
24
27
  props: PropInfo[];
25
28
  events: EventInfo[];
26
29
  slots: SlotInfo[];
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAmB9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,gBAAgB,EAAE,CAkB5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,EAAE,iBAAiB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAoC9E"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAmB9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,gBAAgB,EAAE,CAmB5D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,EAAE,iBAAiB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAsC9E"}
package/dist/parser.js CHANGED
@@ -44,6 +44,7 @@ export function parseComponentSummaries() {
44
44
  return data.components.map((comp) => ({
45
45
  name: comp.name,
46
46
  description: comp.description || '',
47
+ category: comp.category || 'Uncategorized',
47
48
  }));
48
49
  }
49
50
  return [];
@@ -65,6 +66,8 @@ export function parseComponentInfo(componentName) {
65
66
  // Map JSON structure to ComponentInfo interface
66
67
  return {
67
68
  name: data.displayName || componentName,
69
+ description: data.description || '',
70
+ category: data.category || 'Uncategorized',
68
71
  props: data.props.map((prop) => ({
69
72
  name: prop.name,
70
73
  type: prop.type,
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { parseComponentInfo } from '../parser.js';
4
4
  */
5
5
  export const getComponentInfoTool = {
6
6
  name: 'joy_get_component_info',
7
- description: 'Retrieves detailed information about a specific Joy Vue3 component including props, events, slots, and exposed members. Provide the exact component name (e.g., VJoyButton).',
7
+ description: 'Retrieves detailed information about a specific Joy Vue3 component including description, category, props, events, slots, and exposed members. Provide the exact component name (e.g., VJoyButton).',
8
8
  inputSchema: {
9
9
  type: 'object',
10
10
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"get-component-info.js","sourceRoot":"","sources":["../../src/tools/get-component-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,MAAM,cAAc,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,8KAA8K;IAC3L,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gEAAgE;aAC9E;SACF;QACD,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,aAAqB;IAChE,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO;YACL,KAAK,EAAE,mFAAmF;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,cAAc,aAAa,6EAA6E;SAChH,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"get-component-info.js","sourceRoot":"","sources":["../../src/tools/get-component-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,MAAM,cAAc,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,qMAAqM;IAClN,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gEAAgE;aAC9E;SACF;QACD,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,aAAqB;IAChE,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO;YACL,KAAK,EAAE,mFAAmF;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAExD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,cAAc,aAAa,6EAA6E;SAChH,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -14,8 +14,5 @@ export declare const listComponentsTool: {
14
14
  /**
15
15
  * Handler for the list components tool
16
16
  */
17
- export declare function handleListComponents(): Promise<{
18
- components: ComponentSummary[];
19
- count: number;
20
- }>;
17
+ export declare function handleListComponents(): Promise<Record<string, Array<Pick<ComponentSummary, 'name' | 'description'>>>>;
21
18
  //# sourceMappingURL=list-components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-components.d.ts","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;CAQ9B,CAAC;AAEF;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC;IAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAOvG"}
1
+ {"version":3,"file":"list-components.d.ts","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;CAQ9B,CAAC;AAEF;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CA0B3H"}
@@ -4,7 +4,7 @@ import { parseComponentSummaries } from '../parser.js';
4
4
  */
5
5
  export const listComponentsTool = {
6
6
  name: 'joy_list_components',
7
- description: 'Lists all available Joy Vue3 components from the @maltjoy/core-vue library. Returns an array of component names with descriptions (e.g., VJoyButton, VJoyAvatar, etc.).',
7
+ description: 'Lists all available Joy Vue3 components from the @maltjoy/core-vue library as a flat object keyed by category name. Each entry contains components with their name and description.',
8
8
  inputSchema: {
9
9
  type: 'object',
10
10
  properties: {},
@@ -16,9 +16,26 @@ export const listComponentsTool = {
16
16
  */
17
17
  export async function handleListComponents() {
18
18
  const components = parseComponentSummaries();
19
- return {
20
- components,
21
- count: components.length
22
- };
19
+ const categoriesByName = new Map();
20
+ for (const component of components) {
21
+ const categoryName = component.category || 'Uncategorized';
22
+ const bucket = categoriesByName.get(categoryName);
23
+ const componentSummary = {
24
+ name: component.name,
25
+ description: component.description
26
+ };
27
+ if (bucket) {
28
+ bucket.push(componentSummary);
29
+ }
30
+ else {
31
+ categoriesByName.set(categoryName, [componentSummary]);
32
+ }
33
+ }
34
+ return Object.fromEntries(Array.from(categoriesByName.entries())
35
+ .sort(([left], [right]) => left.localeCompare(right))
36
+ .map(([name, categoryComponents]) => [
37
+ name,
38
+ categoryComponents.sort((left, right) => left.name.localeCompare(right.name))
39
+ ]));
23
40
  }
24
41
  //# sourceMappingURL=list-components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,cAAc,CAAC;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,yKAAyK;IACtL,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAE7C,OAAO;QACL,UAAU;QACV,KAAK,EAAE,UAAU,CAAC,MAAM;KACzB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,cAAc,CAAC;AAE9E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,qLAAqL;IAClM,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAiE,CAAC;IAElG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,IAAI,eAAe,CAAC;QAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,WAAW,EAAE,SAAS,CAAC,WAAW;SACnC,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,WAAW,CACvB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;SACrC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,kBAAkB,CAAC,EAAE,EAAE,CAAC;QACnC,IAAI;QACJ,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KAC9E,CAAC,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maltjoy/mcp-server",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "MCP server for Joy Design System - exposes Vue3 components information",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,7 @@
14
14
  "build": "tsc && npm run generate:components-docs:json",
15
15
  "dev": "tsc --watch",
16
16
  "start": "node dist/index.js",
17
- "generate:components-docs:json": "node src/json-metadata-generator.mjs",
17
+ "generate:components-docs:json": "tsx src/json-metadata-generator.mjs",
18
18
  "inspector": "pnpx @modelcontextprotocol/inspector node ./dist/index.js"
19
19
  },
20
20
  "keywords": [
@@ -31,6 +31,7 @@
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "20.14.2",
34
+ "tsx": "^4.21.0",
34
35
  "typescript": "5.3.3",
35
36
  "vue-component-meta": "3.1.5"
36
37
  }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "JoyTemplateShape",
3
- "displayName": "VJoyTemplateShape",
4
- "description": "",
5
- "props": [],
6
- "events": [],
7
- "slots": [],
8
- "exposed": [],
9
- "hasVModel": false
10
- }