@maltjoy/mcp-server 0.1.2 → 0.3.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 (75) hide show
  1. package/README.md +34 -3
  2. package/dist/doc/VJoyAvailability/JoyAvailability.types.ts +1 -0
  3. package/dist/doc/VJoyAvatar/JoyAvatar.types.ts +6 -0
  4. package/dist/doc/VJoyAvatar/metadata.json +1 -1
  5. package/dist/doc/VJoyBadge/JoyBadge.types.ts +3 -0
  6. package/dist/doc/VJoyBadge/metadata.json +0 -14
  7. package/dist/doc/VJoyBadgeLevel/JoyBadgeLevel.types.ts +15 -0
  8. package/dist/doc/VJoyButton/JoyButton.types.ts +10 -0
  9. package/dist/doc/VJoyButton/metadata.json +1 -1
  10. package/dist/doc/VJoyCollapseItem/JoyCollapseItem.types.ts +8 -0
  11. package/dist/doc/VJoyCollapseItem/metadata.json +1 -1
  12. package/dist/doc/VJoyCompanyAvatar/JoyCompanyAvatar.types.ts +3 -0
  13. package/dist/doc/VJoyDialog/JoyDialog.types.ts +3 -0
  14. package/dist/doc/VJoyDot/VJoyDot.types.ts +1 -0
  15. package/dist/doc/VJoyDot/metadata.json +13 -14
  16. package/dist/doc/VJoyDrawer/JoyDrawer.types.ts +1 -0
  17. package/dist/doc/VJoyDropdown/JoyDropdown.types.ts +21 -0
  18. package/dist/doc/VJoyDropdownList/JoyDropdownList.types.ts +3 -0
  19. package/dist/doc/VJoyDropzone/metadata.json +11 -0
  20. package/dist/doc/VJoyFormError/metadata.json +16 -0
  21. package/dist/doc/VJoyFunnel/JoyFunnel.types.ts +5 -0
  22. package/dist/doc/VJoyHighlight/JoyHighlight.types.ts +4 -0
  23. package/dist/doc/VJoyHighlight/metadata.json +1 -1
  24. package/dist/doc/VJoyIcon/JoyIcon.types.ts +8 -0
  25. package/dist/doc/VJoyIcon/metadata.json +1 -1
  26. package/dist/doc/VJoyIndicators/JoyIndicators.types.ts +1 -0
  27. package/dist/doc/VJoyInput/JoyInput.types.ts +36 -0
  28. package/dist/doc/VJoyInput/metadata.json +7 -5
  29. package/dist/doc/VJoyLabel/JoyLabel.types.ts +3 -0
  30. package/dist/doc/VJoyLink/JoyLink.types.ts +2 -0
  31. package/dist/doc/VJoyLink/metadata.json +1 -1
  32. package/dist/doc/VJoyListItem/metadata.json +1 -1
  33. package/dist/doc/VJoyMenu/JoyMenu.types.ts +14 -0
  34. package/dist/doc/VJoyMenu/metadata.json +14 -4
  35. package/dist/doc/VJoyMenuItem/metadata.json +2 -2
  36. package/dist/doc/VJoyPanel/JoyPanel.types.ts +6 -0
  37. package/dist/doc/VJoyProductTour/JoyProductTour.types.ts +45 -0
  38. package/dist/doc/VJoyProductTour/metadata.json +1 -1
  39. package/dist/doc/VJoyProgressBar/JoyProgressBar.types.ts +3 -0
  40. package/dist/doc/VJoyRadio/JoyRadio.types.ts +1 -0
  41. package/dist/doc/VJoyRadio/metadata.json +16 -0
  42. package/dist/doc/VJoyRadioGroup/JoyRadioGroup.types.ts +1 -0
  43. package/dist/doc/VJoyRadioGroup/metadata.json +16 -0
  44. package/dist/doc/VJoyRatingStars/JoyRatingStars.types.ts +3 -0
  45. package/dist/doc/VJoyScreenLoader/VJoyScreenLoader.types.ts +1 -0
  46. package/dist/doc/VJoySelect/JoySelect.types.ts +3 -0
  47. package/dist/doc/VJoySelectableItem/VJoySelectableItem.types.ts +10 -0
  48. package/dist/doc/VJoySelectableItem/metadata.json +1 -1
  49. package/dist/doc/VJoySeparator/JoySeparator.types.ts +4 -0
  50. package/dist/doc/VJoySnackbar/JoySnackbar.types.ts +23 -0
  51. package/dist/doc/VJoySpinner/JoySpinner.types.ts +1 -0
  52. package/dist/doc/VJoyStep/TJoyStep.types.ts +1 -0
  53. package/dist/doc/VJoyTag/JoyTag.types.ts +19 -0
  54. package/dist/doc/VJoyTag/metadata.json +10 -9
  55. package/dist/doc/VJoyTagsInput/JoyTagsInput.types.ts +4 -0
  56. package/dist/doc/VJoyTagsInput/metadata.json +1 -0
  57. package/dist/doc/VJoyTagsList/JoyTagsList.types.ts +5 -0
  58. package/dist/doc/VJoyTagsList/metadata.json +112 -110
  59. package/dist/doc/VJoyTemplate/JoyTemplate.types.ts +1 -0
  60. package/dist/doc/VJoyText/JoyText.types.ts +14 -0
  61. package/dist/doc/VJoyWalkthrough/metadata.json +1 -1
  62. package/dist/doc/VJoyWalkthroughTrigger/metadata.json +1 -1
  63. package/dist/doc/VJoyWrapper/JoyWrapper.types.ts +9 -0
  64. package/dist/doc/css-classes.json +12 -0
  65. package/dist/doc/design-tokens.json +150 -148
  66. package/dist/doc/index.json +8 -8
  67. package/dist/index.js +15 -2
  68. package/dist/index.js.map +1 -1
  69. package/dist/tools/get-component-types.d.ts +31 -0
  70. package/dist/tools/get-component-types.d.ts.map +1 -0
  71. package/dist/tools/get-component-types.js +60 -0
  72. package/dist/tools/get-component-types.js.map +1 -0
  73. package/dist/tools/list-design-tokens.d.ts +8 -8
  74. package/dist/tools/list-design-tokens.d.ts.map +1 -1
  75. package/package.json +2 -2
@@ -1,150 +1,152 @@
1
1
  {
2
- "colors": [
3
- "--joy-color-primary-10",
4
- "--joy-color-primary-30",
5
- "--joy-color-primary-50",
6
- "--joy-color-primary-70",
7
- "--joy-color-primary-90",
8
- "--joy-color-secondary-10",
9
- "--joy-color-secondary-30",
10
- "--joy-color-secondary-50",
11
- "--joy-color-secondary-90",
12
- "--joy-color-tertiary-10",
13
- "--joy-color-tertiary-30",
14
- "--joy-color-tertiary-50",
15
- "--joy-color-tertiary-70",
16
- "--joy-color-quaternary-10",
17
- "--joy-color-quaternary-30",
18
- "--joy-color-quaternary-50",
19
- "--joy-color-quaternary-70",
20
- "--joy-color-quaternary-100",
21
- "--joy-color-brand-primary-10",
22
- "--joy-color-brand-primary-30",
23
- "--joy-color-brand-primary-50",
24
- "--joy-color-brand-primary-70",
25
- "--joy-color-brand-secondary-10",
26
- "--joy-color-brand-secondary-30",
27
- "--joy-color-brand-secondary-50",
28
- "--joy-color-brand-secondary-70",
29
- "--joy-color-neutral-10",
30
- "--joy-color-neutral-20",
31
- "--joy-color-neutral-30",
32
- "--joy-color-neutral-40",
33
- "--joy-color-neutral-50",
34
- "--joy-color-neutral-60",
35
- "--joy-color-neutral-70",
36
- "--joy-color-success-10",
37
- "--joy-color-success-50",
38
- "--joy-color-success-90",
39
- "--joy-color-information-10",
40
- "--joy-color-information-50",
41
- "--joy-color-information-90",
42
- "--joy-color-warning-10",
43
- "--joy-color-warning-50",
44
- "--joy-color-warning-90",
45
- "--joy-color-error-10",
46
- "--joy-color-error-50",
47
- "--joy-color-error-90",
48
- "--joy-color-ai-primary-10",
49
- "--joy-color-ai-primary-30",
50
- "--joy-color-ai-primary-70",
51
- "--joy-color-ai-primary-100",
52
- "--joy-color-ai-gradient-10",
53
- "--joy-color-ai-gradient-30",
54
- "--joy-color-ai-gradient-70",
55
- "--joy-color-ai-gradient-100",
56
- "--joy-color-text-body",
57
- "--joy-color-text-title",
58
- "--joy-color-text-disabled",
59
- "--joy-color-state-disabled-border",
60
- "--joy-color-state-disabled-background",
61
- "--joy-color-state-focus",
62
- "--joy-color-state-hover",
63
- "--joy-color-state-error",
64
- "--joy-color-state-hover-error",
65
- "--joy-color-overlay",
66
- "--joy-color-background-skeleton",
67
- "--joy-color-shadow-base"
68
- ],
69
- "spacing": [
70
- "--joy-core-spacing-1",
71
- "--joy-core-spacing-2",
72
- "--joy-core-spacing-3",
73
- "--joy-core-spacing-4",
74
- "--joy-core-spacing-5",
75
- "--joy-core-spacing-6",
76
- "--joy-core-spacing-7",
77
- "--joy-core-spacing-8",
78
- "--joy-core-spacing-9",
79
- "--joy-core-spacing-10",
80
- "--joy-core-spacing-11",
81
- "--joy-core-spacing-12",
82
- "--joy-core-spacing-base"
83
- ],
84
- "typography": [
85
- "--joy-line-height-small",
86
- "--joy-line-height-large",
87
- "--joy-font-weight-normal",
88
- "--joy-font-weight-bold",
89
- "--joy-font-family-base",
90
- "--joy-font-family-title",
91
- "--joy-font-size-primary-100",
92
- "--joy-font-size-primary-200",
93
- "--joy-font-size-primary-300",
94
- "--joy-font-size-primary-400",
95
- "--joy-font-size-primary-600",
96
- "--joy-font-size-primary-800",
97
- "--joy-font-size-secondary-200",
98
- "--joy-font-size-secondary-400",
99
- "--joy-font-size-secondary-600",
100
- "--joy-font-size-secondary-800"
101
- ],
102
- "radius": [
103
- "--joy-core-radius-0",
104
- "--joy-core-radius-1",
105
- "--joy-core-radius-2",
106
- "--joy-core-radius-3",
107
- "--joy-core-radius-4",
108
- "--joy-core-radius-5",
109
- "--joy-core-radius-6"
110
- ],
111
- "elevation": [
112
- "--joy-core-elevation-0",
113
- "--joy-core-elevation-1",
114
- "--joy-core-elevation-2",
115
- "--joy-core-elevation-3",
116
- "--joy-core-elevation-4"
117
- ],
118
- "zIndex": [
119
- "--joy-core-z-index-fixed-content",
120
- "--joy-core-z-index-dropdown",
121
- "--joy-core-z-index-backdrop",
122
- "--joy-core-z-index-product-tour",
123
- "--joy-core-z-index-walkthrough",
124
- "--joy-core-z-index-dialog",
125
- "--joy-core-z-index-tooltip",
126
- "--joy-core-z-index-snackbar"
127
- ],
128
- "transitions": [
129
- "--joy-transition-duration-short",
130
- "--joy-transition-duration-default",
131
- "--joy-transition-duration-long",
132
- "--joy-transition-timing-function"
133
- ],
134
- "forms": [
135
- "--joy-form-border-width",
136
- "--joy-form-field-height-xxsmall",
137
- "--joy-form-field-height-xsmall",
138
- "--joy-form-field-height-small",
139
- "--joy-form-field-height-medium",
140
- "--joy-form-field-height-large",
141
- "--joy-form-field-radius-xxsmall",
142
- "--joy-form-field-radius-xsmall",
143
- "--joy-form-field-radius-small",
144
- "--joy-form-field-radius-medium",
145
- "--joy-form-field-radius-large",
146
- "--joy-form-field-focus-color",
147
- "--joy-form-field-focus-width",
148
- "--joy-form-field-focus-shadow"
149
- ]
2
+ "colors": {
3
+ "--joy-color-primary-10": "#fff3f3",
4
+ "--joy-color-primary-30": "#ff7370",
5
+ "--joy-color-primary-50": "#fc5757",
6
+ "--joy-color-primary-70": "#d4524f",
7
+ "--joy-color-primary-90": "#a63633",
8
+ "--joy-color-secondary-10": "#ecf3f4",
9
+ "--joy-color-secondary-30": "#0f6378",
10
+ "--joy-color-secondary-50": "#035266",
11
+ "--joy-color-secondary-90": "#014554",
12
+ "--joy-color-tertiary-10": "#e3f8fb",
13
+ "--joy-color-tertiary-30": "#a8eaf3",
14
+ "--joy-color-tertiary-50": "#00c0db",
15
+ "--joy-color-tertiary-70": "#00aac1",
16
+ "--joy-color-quaternary-10": "#fffbed",
17
+ "--joy-color-quaternary-30": "#fccf5e",
18
+ "--joy-color-quaternary-50": "#ffc200",
19
+ "--joy-color-quaternary-70": "#f0b021",
20
+ "--joy-color-quaternary-100": "#d29614",
21
+ "--joy-color-brand-primary-10": "#ffe5fc",
22
+ "--joy-color-brand-primary-30": "#ffb0f7",
23
+ "--joy-color-brand-primary-50": "#ff91f0",
24
+ "--joy-color-brand-primary-70": "#eb73de",
25
+ "--joy-color-brand-secondary-10": "#e4eaff",
26
+ "--joy-color-brand-secondary-30": "#264ffa",
27
+ "--joy-color-brand-secondary-50": "#0529fc",
28
+ "--joy-color-brand-secondary-70": "#0833bd",
29
+ "--joy-color-neutral-0": "#ffffff",
30
+ "--joy-color-neutral-10": "#fcfcfc",
31
+ "--joy-color-neutral-20": "#f7f7f5",
32
+ "--joy-color-neutral-30": "#e0ded9",
33
+ "--joy-color-neutral-40": "#737370",
34
+ "--joy-color-neutral-50": "#4b4b4b",
35
+ "--joy-color-neutral-60": "#333330",
36
+ "--joy-color-neutral-70": "#181818",
37
+ "--joy-color-success-10": "#f2f8e9",
38
+ "--joy-color-success-50": "#81b928",
39
+ "--joy-color-success-90": "#659b1c",
40
+ "--joy-color-information-10": "#eaf5ff",
41
+ "--joy-color-information-50": "#2fa0fc",
42
+ "--joy-color-information-90": "#175db5",
43
+ "--joy-color-warning-10": "#fef6e7",
44
+ "--joy-color-warning-50": "#f2a10c",
45
+ "--joy-color-warning-90": "#ae6606",
46
+ "--joy-color-error-10": "#fceaea",
47
+ "--joy-color-error-50": "#e02d2d",
48
+ "--joy-color-error-90": "#a1162e",
49
+ "--joy-color-ai-primary-10": "#f2e0f5",
50
+ "--joy-color-ai-primary-30": "#9035a2",
51
+ "--joy-color-ai-primary-70": "#5f246a",
52
+ "--joy-color-ai-primary-100": "#3d1744",
53
+ "--joy-color-ai-gradient-10": "linear-gradient(90deg, rgba(144,53,162,0.3) 0%, rgba(252,87,87,0.3) 100%)",
54
+ "--joy-color-ai-gradient-30": "linear-gradient(90deg, rgba(144,53,162,1) 0%, rgba(252,87,87,0.85) 100%)",
55
+ "--joy-color-ai-gradient-70": "linear-gradient(90deg, rgba(109,40,123,1) 0%, rgba(251,35,35,0.85) 100%)",
56
+ "--joy-color-ai-gradient-100": "linear-gradient(90deg, rgba(75,28,85,1) 0%, rgba(230,4,4,0.85) 100%)",
57
+ "--joy-color-text-body": "var(--joy-color-neutral-50)",
58
+ "--joy-color-text-title": "var(--joy-color-neutral-60)",
59
+ "--joy-color-text-disabled": "var(--joy-color-neutral-30)",
60
+ "--joy-color-state-disabled-border": "var(--joy-color-neutral-30)",
61
+ "--joy-color-state-disabled-background": "var(--joy-color-neutral-30)",
62
+ "--joy-color-state-focus": "var(--joy-color-secondary-50)",
63
+ "--joy-color-state-hover": "var(--joy-color-secondary-50)",
64
+ "--joy-color-state-error": "var(--joy-color-error-50)",
65
+ "--joy-color-state-hover-error": "var(--joy-color-error-90)",
66
+ "--joy-color-overlay": "rgba(51, 51, 48, 0.4)",
67
+ "--joy-color-background-skeleton": "linear-gradient(110deg, var(--joy-color-neutral-20) 8%, var(--joy-color-neutral-10) 18%, var(--joy-color-neutral-20) 33%)",
68
+ "--joy-color-shadow-base": "rgba(24, 24, 24, 0.16)"
69
+ },
70
+ "spacing": {
71
+ "--joy-core-spacing-0": "calc(var(--joy-core-spacing-base) / 2)",
72
+ "--joy-core-spacing-1": "calc(var(--joy-core-spacing-base) * 1)",
73
+ "--joy-core-spacing-2": "calc(var(--joy-core-spacing-base) * 2)",
74
+ "--joy-core-spacing-3": "calc(var(--joy-core-spacing-base) * 3)",
75
+ "--joy-core-spacing-4": "calc(var(--joy-core-spacing-base) * 4)",
76
+ "--joy-core-spacing-5": "calc(var(--joy-core-spacing-base) * 5)",
77
+ "--joy-core-spacing-6": "calc(var(--joy-core-spacing-base) * 6)",
78
+ "--joy-core-spacing-7": "calc(var(--joy-core-spacing-base) * 7)",
79
+ "--joy-core-spacing-8": "calc(var(--joy-core-spacing-base) * 8)",
80
+ "--joy-core-spacing-9": "calc(var(--joy-core-spacing-base) * 10)",
81
+ "--joy-core-spacing-10": "calc(var(--joy-core-spacing-base) * 12)",
82
+ "--joy-core-spacing-11": "calc(var(--joy-core-spacing-base) * 14)",
83
+ "--joy-core-spacing-12": "calc(var(--joy-core-spacing-base) * 16)",
84
+ "--joy-core-spacing-base": "4px"
85
+ },
86
+ "typography": {
87
+ "--joy-line-height-small": "1.05",
88
+ "--joy-line-height-large": "1.25",
89
+ "--joy-font-weight-normal": "500",
90
+ "--joy-font-weight-bold": "700",
91
+ "--joy-font-family-base": "'Moderat', Arial, Helvetica, sans-serif",
92
+ "--joy-font-family-title": "'Agrandir Tight', Arial, Helvetica, sans-serif",
93
+ "--joy-font-size-primary-100": "11px",
94
+ "--joy-font-size-primary-200": "12px",
95
+ "--joy-font-size-primary-300": "14px",
96
+ "--joy-font-size-primary-400": "16px",
97
+ "--joy-font-size-primary-600": "20px",
98
+ "--joy-font-size-primary-800": "24px",
99
+ "--joy-font-size-secondary-200": "28px",
100
+ "--joy-font-size-secondary-400": "36px",
101
+ "--joy-font-size-secondary-600": "46px",
102
+ "--joy-font-size-secondary-800": "52px"
103
+ },
104
+ "radius": {
105
+ "--joy-core-radius-0": "0",
106
+ "--joy-core-radius-1": "2px",
107
+ "--joy-core-radius-2": "4px",
108
+ "--joy-core-radius-3": "8px",
109
+ "--joy-core-radius-4": "16px",
110
+ "--joy-core-radius-5": "32px",
111
+ "--joy-core-radius-6": "50%"
112
+ },
113
+ "elevation": {
114
+ "--joy-core-elevation-0": "0 0 0 0 rgba(24, 24, 24, 0.16)",
115
+ "--joy-core-elevation-1": "0 2px 4px 0 rgba(24, 24, 24, 0.16)",
116
+ "--joy-core-elevation-2": "0 4px 12px 0 rgba(24, 24, 24, 0.16)",
117
+ "--joy-core-elevation-3": "0 6px 24px 0 rgba(24, 24, 24, 0.16)",
118
+ "--joy-core-elevation-4": "0 8px 32px 0 rgba(24, 24, 24, 0.16)"
119
+ },
120
+ "zIndex": {
121
+ "--joy-core-z-index-fixed-content": "20",
122
+ "--joy-core-z-index-dropdown": "23",
123
+ "--joy-core-z-index-backdrop": "1050",
124
+ "--joy-core-z-index-product-tour": "1060",
125
+ "--joy-core-z-index-walkthrough": "1070",
126
+ "--joy-core-z-index-dialog": "1080",
127
+ "--joy-core-z-index-tooltip": "1090",
128
+ "--joy-core-z-index-snackbar": "1100"
129
+ },
130
+ "transitions": {
131
+ "--joy-transition-duration-short": "100ms",
132
+ "--joy-transition-duration-default": "200ms",
133
+ "--joy-transition-duration-long": "400ms",
134
+ "--joy-transition-timing-function": "ease-in-out"
135
+ },
136
+ "forms": {
137
+ "--joy-form-border-width": "2px",
138
+ "--joy-form-field-height-xxsmall": "var(--joy-core-spacing-6)",
139
+ "--joy-form-field-height-xsmall": "var(--joy-core-spacing-8)",
140
+ "--joy-form-field-height-small": "var(--joy-core-spacing-9)",
141
+ "--joy-form-field-height-medium": "var(--joy-core-spacing-10)",
142
+ "--joy-form-field-height-large": "var(--joy-core-spacing-12)",
143
+ "--joy-form-field-radius-xxsmall": "calc(var(--joy-form-field-height-xxsmall) / 2)",
144
+ "--joy-form-field-radius-xsmall": "calc(var(--joy-form-field-height-xsmall) / 2)",
145
+ "--joy-form-field-radius-small": "calc(var(--joy-form-field-height-small) / 2)",
146
+ "--joy-form-field-radius-medium": "calc(var(--joy-form-field-height-medium) / 2)",
147
+ "--joy-form-field-radius-large": "calc(var(--joy-form-field-height-large) / 2)",
148
+ "--joy-form-field-focus-color": "var(--joy-color-information-50)",
149
+ "--joy-form-field-focus-width": "2px",
150
+ "--joy-form-field-focus-shadow": "0 0 0 var(--joy-form-field-focus-width) var(--joy-form-field-focus-color)"
151
+ }
150
152
  }
@@ -1,9 +1,9 @@
1
1
  {
2
- "generated": "2025-11-28T12:33:59.793Z",
3
- "version": "0.1.2",
2
+ "generated": "2026-02-20T10:05:20.068Z",
3
+ "version": "1.0.0",
4
4
  "statistics": {
5
5
  "totalComponents": 74,
6
- "totalProps": 407,
6
+ "totalProps": 410,
7
7
  "totalEvents": 57,
8
8
  "totalSlots": 136,
9
9
  "componentsWithVModel": 18,
@@ -46,7 +46,7 @@
46
46
  {
47
47
  "name": "VJoyBadge",
48
48
  "path": "VJoyBadge/metadata.json",
49
- "propsCount": 4,
49
+ "propsCount": 3,
50
50
  "eventsCount": 0,
51
51
  "slotsCount": 1,
52
52
  "hasError": false
@@ -182,7 +182,7 @@
182
182
  {
183
183
  "name": "VJoyDropzone",
184
184
  "path": "VJoyDropzone/metadata.json",
185
- "propsCount": 10,
185
+ "propsCount": 11,
186
186
  "eventsCount": 0,
187
187
  "slotsCount": 4,
188
188
  "hasError": false
@@ -206,7 +206,7 @@
206
206
  {
207
207
  "name": "VJoyFormError",
208
208
  "path": "VJoyFormError/metadata.json",
209
- "propsCount": 3,
209
+ "propsCount": 4,
210
210
  "eventsCount": 0,
211
211
  "slotsCount": 1,
212
212
  "hasError": false
@@ -382,7 +382,7 @@
382
382
  {
383
383
  "name": "VJoyRadio",
384
384
  "path": "VJoyRadio/metadata.json",
385
- "propsCount": 7,
385
+ "propsCount": 8,
386
386
  "eventsCount": 1,
387
387
  "slotsCount": 5,
388
388
  "hasError": false
@@ -390,7 +390,7 @@
390
390
  {
391
391
  "name": "VJoyRadioGroup",
392
392
  "path": "VJoyRadioGroup/metadata.json",
393
- "propsCount": 3,
393
+ "propsCount": 4,
394
394
  "eventsCount": 0,
395
395
  "slotsCount": 2,
396
396
  "hasError": false
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { listComponentsTool, handleListComponents } from './tools/list-component
9
9
  import { getComponentInfoTool, handleGetComponentInfo } from './tools/get-component-info.js';
10
10
  import { listDesignTokensTool, handleListDesignTokens } from './tools/list-design-tokens.js';
11
11
  import { listCssClassesTool, handleListCssClasses } from './tools/list-css-classes.js';
12
+ import { getComponentTypesTool, handleGetComponentTypes } from './tools/get-component-types.js';
12
13
  const __filename = fileURLToPath(import.meta.url);
13
14
  const __dirname = dirname(__filename);
14
15
  /**
@@ -20,7 +21,7 @@ class JoyMcpServer {
20
21
  constructor() {
21
22
  this.server = new Server({
22
23
  name: 'joy-design-system',
23
- version: '0.1.2',
24
+ version: '0.3.0',
24
25
  }, {
25
26
  capabilities: {
26
27
  tools: {},
@@ -33,7 +34,7 @@ class JoyMcpServer {
33
34
  // List available tools
34
35
  this.server.setRequestHandler(ListToolsRequestSchema, async () => {
35
36
  return {
36
- tools: [listComponentsTool, getComponentInfoTool, listDesignTokensTool, listCssClassesTool],
37
+ tools: [listComponentsTool, getComponentInfoTool, getComponentTypesTool, listDesignTokensTool, listCssClassesTool],
37
38
  };
38
39
  });
39
40
  // Handle tool calls
@@ -64,6 +65,18 @@ class JoyMcpServer {
64
65
  ],
65
66
  };
66
67
  }
68
+ case 'joy_get_component_types': {
69
+ const componentName = args?.componentName;
70
+ const result = await handleGetComponentTypes(componentName);
71
+ return {
72
+ content: [
73
+ {
74
+ type: 'text',
75
+ text: JSON.stringify(result, null, 2),
76
+ },
77
+ ],
78
+ };
79
+ }
67
80
  case 'joy_list_design_tokens': {
68
81
  const result = handleListDesignTokens();
69
82
  return {
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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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Tool definition for getting TypeScript types associated with a Joy Vue component
3
+ */
4
+ export declare const getComponentTypesTool: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: string;
9
+ properties: {
10
+ componentName: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ };
15
+ required: string[];
16
+ };
17
+ };
18
+ export interface ComponentTypesResult {
19
+ componentName: string;
20
+ files: {
21
+ filename: string;
22
+ content: string;
23
+ }[];
24
+ }
25
+ /**
26
+ * Handler for the get component types tool
27
+ */
28
+ export declare function handleGetComponentTypes(componentName: string): Promise<ComponentTypesResult | {
29
+ error: string;
30
+ }>;
31
+ //# sourceMappingURL=get-component-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-component-types.d.ts","sourceRoot":"","sources":["../../src/tools/get-component-types.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAgBjC,CAAC;AAcF,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAChD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBnD"}
@@ -0,0 +1,60 @@
1
+ import { readFileSync, readdirSync } from 'fs';
2
+ import { fileURLToPath } from 'url';
3
+ import { dirname, join } from 'path';
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = dirname(__filename);
6
+ /**
7
+ * Tool definition for getting TypeScript types associated with a Joy Vue component
8
+ */
9
+ export const getComponentTypesTool = {
10
+ name: 'joy_get_component_types',
11
+ description: 'Retrieves the TypeScript types definition file associated with a specific Joy Vue3 component. ' +
12
+ 'These types define the allowed values for props (variants, sizes, etc.). ' +
13
+ 'Provide the exact component name (e.g., VJoyButton).',
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {
17
+ componentName: {
18
+ type: 'string',
19
+ description: 'The exact name of the component (e.g., VJoyButton, VJoyAvatar)',
20
+ },
21
+ },
22
+ required: ['componentName'],
23
+ },
24
+ };
25
+ /**
26
+ * Find all *.types.ts files in a component doc directory.
27
+ */
28
+ function findTypesFiles(componentDir) {
29
+ try {
30
+ const entries = readdirSync(componentDir);
31
+ return entries.filter((f) => f.endsWith('.types.ts'));
32
+ }
33
+ catch {
34
+ return [];
35
+ }
36
+ }
37
+ /**
38
+ * Handler for the get component types tool
39
+ */
40
+ export async function handleGetComponentTypes(componentName) {
41
+ if (!componentName || typeof componentName !== 'string') {
42
+ return {
43
+ error: 'Invalid component name. Please provide a valid component name (e.g., VJoyButton).',
44
+ };
45
+ }
46
+ const componentDir = join(__dirname, '..', 'doc', componentName);
47
+ const typesFiles = findTypesFiles(componentDir);
48
+ if (typesFiles.length === 0) {
49
+ return {
50
+ error: `No types file found for component "${componentName}". ` +
51
+ 'Use joy_list_components to get a list of available components.',
52
+ };
53
+ }
54
+ const files = typesFiles.map((filename) => ({
55
+ filename,
56
+ content: readFileSync(join(componentDir, filename), 'utf-8'),
57
+ }));
58
+ return { componentName, files };
59
+ }
60
+ //# sourceMappingURL=get-component-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-component-types.js","sourceRoot":"","sources":["../../src/tools/get-component-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAErC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,gGAAgG;QAChG,2EAA2E;QAC3E,sDAAsD;IACxD,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,SAAS,cAAc,CAAC,YAAoB;IAC1C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAOD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,aAAqB;IAErB,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACxD,OAAO;YACL,KAAK,EAAE,mFAAmF;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAEhD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EACH,sCAAsC,aAAa,KAAK;gBACxD,gEAAgE;SACnE,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC1C,QAAQ;QACR,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;KAC7D,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC"}
@@ -8,14 +8,14 @@ export declare const listDesignTokensTool: {
8
8
  };
9
9
  };
10
10
  export interface DesignTokensByDomain {
11
- colors: string[];
12
- spacing: string[];
13
- typography: string[];
14
- radius: string[];
15
- elevation: string[];
16
- zIndex: string[];
17
- transitions: string[];
18
- forms: string[];
11
+ colors: Record<string, string>;
12
+ spacing: Record<string, string>;
13
+ typography: Record<string, string>;
14
+ radius: Record<string, string>;
15
+ elevation: Record<string, string>;
16
+ zIndex: Record<string, string>;
17
+ transitions: Record<string, string>;
18
+ forms: Record<string, string>;
19
19
  }
20
20
  export declare function handleListDesignTokens(): DesignTokensByDomain;
21
21
  //# sourceMappingURL=list-design-tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-design-tokens.d.ts","sourceRoot":"","sources":["../../src/tools/list-design-tokens.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,sBAAsB,IAAI,oBAAoB,CAI7D"}
1
+ {"version":3,"file":"list-design-tokens.d.ts","sourceRoot":"","sources":["../../src/tools/list-design-tokens.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,oBAAoB;;;;;;;;CAQhC,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,wBAAgB,sBAAsB,IAAI,oBAAoB,CAI7D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maltjoy/mcp-server",
3
- "version": "0.1.2",
3
+ "version": "0.3.0",
4
4
  "description": "MCP server for Joy Design System - exposes Vue3 components information",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,7 +27,7 @@
27
27
  "author": "Maltjoy",
28
28
  "license": "MIT",
29
29
  "dependencies": {
30
- "@modelcontextprotocol/sdk": "^1.0.4"
30
+ "@modelcontextprotocol/sdk": "1.25.2"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/node": "20.14.2",