@synergy-design-system/mcp 2.15.0 → 3.0.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 (531) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +826 -303
  3. package/dist/bin/start.js +57 -6
  4. package/dist/middleware/compose.d.ts +15 -0
  5. package/dist/middleware/compose.js +10 -0
  6. package/dist/middleware/compression.d.ts +19 -0
  7. package/dist/middleware/compression.js +35 -0
  8. package/dist/middleware/error-handler.d.ts +13 -0
  9. package/dist/middleware/error-handler.js +42 -0
  10. package/dist/middleware/index.d.ts +9 -0
  11. package/dist/middleware/index.js +8 -0
  12. package/dist/middleware/logging.d.ts +14 -0
  13. package/dist/middleware/logging.js +64 -0
  14. package/dist/middleware/types.d.ts +20 -0
  15. package/dist/middleware/types.js +4 -0
  16. package/dist/resources/asset-list.d.ts +7 -0
  17. package/dist/resources/asset-list.js +34 -0
  18. package/dist/resources/component-cluster-list.d.ts +7 -0
  19. package/dist/resources/component-cluster-list.js +30 -0
  20. package/dist/resources/component-list.d.ts +7 -0
  21. package/dist/resources/component-list.js +31 -0
  22. package/dist/resources/index.d.ts +5 -0
  23. package/dist/resources/index.js +5 -0
  24. package/dist/resources/styles-list.d.ts +7 -0
  25. package/dist/resources/styles-list.js +31 -0
  26. package/dist/resources/templates-list.d.ts +7 -0
  27. package/dist/resources/templates-list.js +28 -0
  28. package/dist/server.js +5 -1
  29. package/dist/tools/asset-info.js +41 -85
  30. package/dist/tools/asset-list.js +22 -31
  31. package/dist/tools/component-cluster-list.d.ts +6 -0
  32. package/dist/tools/component-cluster-list.js +30 -0
  33. package/dist/tools/component-info.js +38 -21
  34. package/dist/tools/component-list.js +35 -30
  35. package/dist/tools/davinci-migration-info.d.ts +2 -0
  36. package/dist/tools/davinci-migration-info.js +21 -0
  37. package/dist/tools/davinci-migration-list.d.ts +2 -0
  38. package/dist/tools/davinci-migration-list.js +20 -0
  39. package/dist/tools/index.d.ts +6 -5
  40. package/dist/tools/index.js +6 -5
  41. package/dist/tools/migration-info.js +12 -37
  42. package/dist/tools/migration-list.js +7 -13
  43. package/dist/tools/setup.d.ts +6 -0
  44. package/dist/tools/setup.js +31 -0
  45. package/dist/tools/styles-info.d.ts +1 -2
  46. package/dist/tools/styles-info.js +24 -20
  47. package/dist/tools/styles-list.js +19 -33
  48. package/dist/tools/template-info.js +19 -20
  49. package/dist/tools/template-list.d.ts +1 -1
  50. package/dist/tools/template-list.js +17 -32
  51. package/dist/tools/{tokens.d.ts → token-info.d.ts} +2 -2
  52. package/dist/tools/token-info.js +31 -0
  53. package/dist/tools/tokens-list.d.ts +6 -0
  54. package/dist/tools/tokens-list.js +52 -0
  55. package/dist/transports/http.d.ts +14 -0
  56. package/dist/transports/http.js +157 -0
  57. package/dist/transports/index.d.ts +23 -0
  58. package/dist/transports/index.js +23 -0
  59. package/dist/transports/stdio.d.ts +10 -0
  60. package/dist/transports/stdio.js +21 -0
  61. package/dist/types/tool-response.d.ts +13 -0
  62. package/dist/types/tool-response.js +7 -0
  63. package/dist/utilities/cli.d.ts +27 -0
  64. package/dist/utilities/cli.js +170 -0
  65. package/dist/utilities/compression.d.ts +7 -0
  66. package/dist/utilities/compression.js +45 -0
  67. package/dist/utilities/config.d.ts +122 -80
  68. package/dist/utilities/config.js +212 -81
  69. package/dist/utilities/davinci.d.ts +12 -0
  70. package/dist/utilities/davinci.js +55 -0
  71. package/dist/utilities/index.d.ts +10 -10
  72. package/dist/utilities/index.js +10 -10
  73. package/dist/utilities/local-file-logger.d.ts +2 -0
  74. package/dist/utilities/local-file-logger.js +22 -0
  75. package/dist/utilities/logger.d.ts +12 -0
  76. package/dist/utilities/logger.js +30 -0
  77. package/dist/utilities/logging-context.d.ts +8 -0
  78. package/dist/utilities/logging-context.js +7 -0
  79. package/dist/utilities/logging-service.d.ts +2 -0
  80. package/dist/utilities/logging-service.js +24 -0
  81. package/dist/utilities/logging-types.d.ts +19 -0
  82. package/dist/utilities/metadata.d.ts +10 -17
  83. package/dist/utilities/metadata.js +34 -51
  84. package/dist/utilities/migration.d.ts +2 -1
  85. package/dist/utilities/migration.js +33 -30
  86. package/dist/utilities/rules.d.ts +8 -0
  87. package/dist/utilities/rules.js +37 -0
  88. package/dist/utilities/server.d.ts +7 -0
  89. package/dist/utilities/server.js +12 -0
  90. package/dist/utilities/token-counter.d.ts +14 -0
  91. package/dist/utilities/token-counter.js +53 -0
  92. package/package.json +18 -28
  93. package/rules/asset-info.md +10 -0
  94. package/rules/asset-list.md +10 -0
  95. package/rules/component-cluster-list.md +5 -0
  96. package/{metadata/static/angular/index.md → rules/component-info-angular.md} +2 -1
  97. package/{metadata/static/react/index.md → rules/component-info-react.md} +2 -1
  98. package/{metadata/static/vue/index.md → rules/component-info-vue.md} +4 -1
  99. package/{metadata/static/component-list/index.md → rules/component-list.md} +5 -7
  100. package/rules/styles-info.md +9 -0
  101. package/{metadata/static/styles/index.md → rules/styles-list.md} +0 -2
  102. package/{metadata/static/templates/index.md → rules/template-info.md} +0 -1
  103. package/rules/template-list.md +7 -0
  104. package/dist/bin/create-checksum.d.ts +0 -2
  105. package/dist/bin/create-checksum.js +0 -24
  106. package/dist/build/assets.d.ts +0 -4
  107. package/dist/build/assets.js +0 -57
  108. package/dist/build/build.js +0 -35
  109. package/dist/build/components.d.ts +0 -4
  110. package/dist/build/components.js +0 -133
  111. package/dist/build/fonts.d.ts +0 -4
  112. package/dist/build/fonts.js +0 -49
  113. package/dist/build/frameworks.d.ts +0 -4
  114. package/dist/build/frameworks.js +0 -61
  115. package/dist/build/static.d.ts +0 -4
  116. package/dist/build/static.js +0 -65
  117. package/dist/build/styles.d.ts +0 -4
  118. package/dist/build/styles.js +0 -58
  119. package/dist/build/tokens.d.ts +0 -4
  120. package/dist/build/tokens.js +0 -59
  121. package/dist/tools/davinci-migration.d.ts +0 -3
  122. package/dist/tools/davinci-migration.js +0 -66
  123. package/dist/tools/font-info.d.ts +0 -6
  124. package/dist/tools/font-info.js +0 -35
  125. package/dist/tools/framework-info.d.ts +0 -7
  126. package/dist/tools/framework-info.js +0 -58
  127. package/dist/tools/tokens.js +0 -24
  128. package/dist/tools/version.d.ts +0 -7
  129. package/dist/tools/version.js +0 -53
  130. package/dist/utilities/assets.d.ts +0 -2
  131. package/dist/utilities/assets.js +0 -3
  132. package/dist/utilities/checksum.d.ts +0 -36
  133. package/dist/utilities/checksum.js +0 -94
  134. package/dist/utilities/components.d.ts +0 -25
  135. package/dist/utilities/components.js +0 -86
  136. package/dist/utilities/file.d.ts +0 -12
  137. package/dist/utilities/file.js +0 -31
  138. package/dist/utilities/fonts.d.ts +0 -2
  139. package/dist/utilities/fonts.js +0 -3
  140. package/dist/utilities/stdio.d.ts +0 -14
  141. package/dist/utilities/stdio.js +0 -60
  142. package/dist/utilities/storybook/build-docs.d.ts +0 -2
  143. package/dist/utilities/storybook/build-docs.js +0 -43
  144. package/dist/utilities/storybook/configs.d.ts +0 -13
  145. package/dist/utilities/storybook/configs.js +0 -85
  146. package/dist/utilities/storybook/docs-scraper.d.ts +0 -26
  147. package/dist/utilities/storybook/docs-scraper.js +0 -96
  148. package/dist/utilities/storybook/index.d.ts +0 -5
  149. package/dist/utilities/storybook/index.js +0 -4
  150. package/dist/utilities/storybook/scraper.d.ts +0 -14
  151. package/dist/utilities/storybook/scraper.js +0 -243
  152. package/dist/utilities/storybook/storybook-manager.d.ts +0 -29
  153. package/dist/utilities/storybook/storybook-manager.js +0 -138
  154. package/dist/utilities/storybook/types.d.ts +0 -22
  155. package/dist/utilities/storybook/types.js +0 -1
  156. package/dist/utilities/styles.d.ts +0 -6
  157. package/dist/utilities/styles.js +0 -24
  158. package/dist/utilities/templates.d.ts +0 -12
  159. package/dist/utilities/templates.js +0 -28
  160. package/dist/utilities/tokens.d.ts +0 -1
  161. package/dist/utilities/tokens.js +0 -21
  162. package/dist/utilities/version.d.ts +0 -28
  163. package/dist/utilities/version.js +0 -21
  164. package/metadata/checksum.txt +0 -1
  165. package/metadata/davinci-migration/migration-guide.md +0 -1859
  166. package/metadata/packages/angular/LIMITATIONS.md +0 -32
  167. package/metadata/packages/angular/README.md +0 -393
  168. package/metadata/packages/assets/BREAKING_CHANGES.md +0 -305
  169. package/metadata/packages/assets/CHANGELOG.md +0 -374
  170. package/metadata/packages/assets/README.md +0 -103
  171. package/metadata/packages/components/components/syn-accordion/component.angular.ts +0 -80
  172. package/metadata/packages/components/components/syn-accordion/component.react.ts +0 -30
  173. package/metadata/packages/components/components/syn-accordion/component.styles.ts +0 -15
  174. package/metadata/packages/components/components/syn-accordion/component.ts +0 -111
  175. package/metadata/packages/components/components/syn-accordion/component.vue +0 -64
  176. package/metadata/packages/components/components/syn-alert/component.angular.ts +0 -169
  177. package/metadata/packages/components/components/syn-alert/component.react.ts +0 -60
  178. package/metadata/packages/components/components/syn-alert/component.styles.ts +0 -203
  179. package/metadata/packages/components/components/syn-alert/component.ts +0 -322
  180. package/metadata/packages/components/components/syn-alert/component.vue +0 -135
  181. package/metadata/packages/components/components/syn-badge/component.angular.ts +0 -53
  182. package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +0 -62
  183. package/metadata/packages/components/components/syn-badge/component.react.ts +0 -29
  184. package/metadata/packages/components/components/syn-badge/component.styles.ts +0 -52
  185. package/metadata/packages/components/components/syn-badge/component.ts +0 -58
  186. package/metadata/packages/components/components/syn-badge/component.vue +0 -53
  187. package/metadata/packages/components/components/syn-breadcrumb/component.angular.ts +0 -58
  188. package/metadata/packages/components/components/syn-breadcrumb/component.custom.styles.ts +0 -5
  189. package/metadata/packages/components/components/syn-breadcrumb/component.react.ts +0 -32
  190. package/metadata/packages/components/components/syn-breadcrumb/component.styles.ts +0 -11
  191. package/metadata/packages/components/components/syn-breadcrumb/component.ts +0 -103
  192. package/metadata/packages/components/components/syn-breadcrumb/component.vue +0 -58
  193. package/metadata/packages/components/components/syn-breadcrumb-item/component.angular.ts +0 -88
  194. package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +0 -78
  195. package/metadata/packages/components/components/syn-breadcrumb-item/component.react.ts +0 -37
  196. package/metadata/packages/components/components/syn-breadcrumb-item/component.styles.ts +0 -88
  197. package/metadata/packages/components/components/syn-breadcrumb-item/component.ts +0 -132
  198. package/metadata/packages/components/components/syn-breadcrumb-item/component.vue +0 -76
  199. package/metadata/packages/components/components/syn-button/component.angular.ts +0 -318
  200. package/metadata/packages/components/components/syn-button/component.custom.styles.ts +0 -245
  201. package/metadata/packages/components/components/syn-button/component.react.ts +0 -56
  202. package/metadata/packages/components/components/syn-button/component.styles.ts +0 -361
  203. package/metadata/packages/components/components/syn-button/component.ts +0 -315
  204. package/metadata/packages/components/components/syn-button/component.vue +0 -204
  205. package/metadata/packages/components/components/syn-button-group/component.angular.ts +0 -79
  206. package/metadata/packages/components/components/syn-button-group/component.custom.styles.ts +0 -5
  207. package/metadata/packages/components/components/syn-button-group/component.react.ts +0 -29
  208. package/metadata/packages/components/components/syn-button-group/component.styles.ts +0 -14
  209. package/metadata/packages/components/components/syn-button-group/component.ts +0 -171
  210. package/metadata/packages/components/components/syn-button-group/component.vue +0 -67
  211. package/metadata/packages/components/components/syn-card/component.angular.ts +0 -83
  212. package/metadata/packages/components/components/syn-card/component.custom.styles.ts +0 -60
  213. package/metadata/packages/components/components/syn-card/component.react.ts +0 -41
  214. package/metadata/packages/components/components/syn-card/component.styles.ts +0 -70
  215. package/metadata/packages/components/components/syn-card/component.ts +0 -65
  216. package/metadata/packages/components/components/syn-card/component.vue +0 -73
  217. package/metadata/packages/components/components/syn-checkbox/component.angular.ts +0 -273
  218. package/metadata/packages/components/components/syn-checkbox/component.react.ts +0 -64
  219. package/metadata/packages/components/components/syn-checkbox/component.styles.ts +0 -183
  220. package/metadata/packages/components/components/syn-checkbox/component.ts +0 -287
  221. package/metadata/packages/components/components/syn-checkbox/component.vue +0 -191
  222. package/metadata/packages/components/components/syn-combobox/component.angular.ts +0 -516
  223. package/metadata/packages/components/components/syn-combobox/component.react.ts +0 -118
  224. package/metadata/packages/components/components/syn-combobox/component.styles.ts +0 -393
  225. package/metadata/packages/components/components/syn-combobox/component.ts +0 -1684
  226. package/metadata/packages/components/components/syn-combobox/component.vue +0 -350
  227. package/metadata/packages/components/components/syn-details/component.angular.ts +0 -186
  228. package/metadata/packages/components/components/syn-details/component.react.ts +0 -65
  229. package/metadata/packages/components/components/syn-details/component.styles.ts +0 -181
  230. package/metadata/packages/components/components/syn-details/component.ts +0 -261
  231. package/metadata/packages/components/components/syn-details/component.vue +0 -136
  232. package/metadata/packages/components/components/syn-dialog/component.angular.ts +0 -201
  233. package/metadata/packages/components/components/syn-dialog/component.react.ts +0 -91
  234. package/metadata/packages/components/components/syn-dialog/component.styles.ts +0 -130
  235. package/metadata/packages/components/components/syn-dialog/component.ts +0 -367
  236. package/metadata/packages/components/components/syn-dialog/component.vue +0 -169
  237. package/metadata/packages/components/components/syn-divider/component.angular.ts +0 -55
  238. package/metadata/packages/components/components/syn-divider/component.react.ts +0 -29
  239. package/metadata/packages/components/components/syn-divider/component.styles.ts +0 -22
  240. package/metadata/packages/components/components/syn-divider/component.ts +0 -34
  241. package/metadata/packages/components/components/syn-divider/component.vue +0 -51
  242. package/metadata/packages/components/components/syn-drawer/component.angular.ts +0 -234
  243. package/metadata/packages/components/components/syn-drawer/component.custom.styles.ts +0 -78
  244. package/metadata/packages/components/components/syn-drawer/component.react.ts +0 -98
  245. package/metadata/packages/components/components/syn-drawer/component.styles.ts +0 -158
  246. package/metadata/packages/components/components/syn-drawer/component.ts +0 -489
  247. package/metadata/packages/components/components/syn-drawer/component.vue +0 -188
  248. package/metadata/packages/components/components/syn-dropdown/component.angular.ts +0 -208
  249. package/metadata/packages/components/components/syn-dropdown/component.react.ts +0 -59
  250. package/metadata/packages/components/components/syn-dropdown/component.styles.ts +0 -51
  251. package/metadata/packages/components/components/syn-dropdown/component.ts +0 -469
  252. package/metadata/packages/components/components/syn-dropdown/component.vue +0 -152
  253. package/metadata/packages/components/components/syn-file/component.angular.ts +0 -372
  254. package/metadata/packages/components/components/syn-file/component.react.ts +0 -85
  255. package/metadata/packages/components/components/syn-file/component.styles.ts +0 -197
  256. package/metadata/packages/components/components/syn-file/component.ts +0 -645
  257. package/metadata/packages/components/components/syn-file/component.vue +0 -256
  258. package/metadata/packages/components/components/syn-header/component.angular.ts +0 -149
  259. package/metadata/packages/components/components/syn-header/component.react.ts +0 -68
  260. package/metadata/packages/components/components/syn-header/component.styles.ts +0 -143
  261. package/metadata/packages/components/components/syn-header/component.ts +0 -310
  262. package/metadata/packages/components/components/syn-header/component.vue +0 -126
  263. package/metadata/packages/components/components/syn-icon/component.angular.ts +0 -115
  264. package/metadata/packages/components/components/syn-icon/component.custom.styles.ts +0 -5
  265. package/metadata/packages/components/components/syn-icon/component.react.ts +0 -41
  266. package/metadata/packages/components/components/syn-icon/component.styles.ts +0 -18
  267. package/metadata/packages/components/components/syn-icon/component.ts +0 -227
  268. package/metadata/packages/components/components/syn-icon/component.vue +0 -100
  269. package/metadata/packages/components/components/syn-icon-button/component.angular.ts +0 -185
  270. package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +0 -79
  271. package/metadata/packages/components/components/syn-icon-button/component.react.ts +0 -42
  272. package/metadata/packages/components/components/syn-icon-button/component.styles.ts +0 -52
  273. package/metadata/packages/components/components/syn-icon-button/component.ts +0 -147
  274. package/metadata/packages/components/components/syn-icon-button/component.vue +0 -132
  275. package/metadata/packages/components/components/syn-input/component.angular.ts +0 -608
  276. package/metadata/packages/components/components/syn-input/component.custom.styles.ts +0 -278
  277. package/metadata/packages/components/components/syn-input/component.react.ts +0 -91
  278. package/metadata/packages/components/components/syn-input/component.styles.ts +0 -280
  279. package/metadata/packages/components/components/syn-input/component.ts +0 -941
  280. package/metadata/packages/components/components/syn-input/component.vue +0 -370
  281. package/metadata/packages/components/components/syn-menu/component.angular.ts +0 -52
  282. package/metadata/packages/components/components/syn-menu/component.react.ts +0 -36
  283. package/metadata/packages/components/components/syn-menu/component.styles.ts +0 -37
  284. package/metadata/packages/components/components/syn-menu/component.ts +0 -191
  285. package/metadata/packages/components/components/syn-menu/component.vue +0 -48
  286. package/metadata/packages/components/components/syn-menu-item/component.angular.ts +0 -121
  287. package/metadata/packages/components/components/syn-menu-item/component.react.ts +0 -45
  288. package/metadata/packages/components/components/syn-menu-item/component.styles.ts +0 -285
  289. package/metadata/packages/components/components/syn-menu-item/component.ts +0 -201
  290. package/metadata/packages/components/components/syn-menu-item/component.vue +0 -91
  291. package/metadata/packages/components/components/syn-menu-label/component.angular.ts +0 -48
  292. package/metadata/packages/components/components/syn-menu-label/component.react.ts +0 -35
  293. package/metadata/packages/components/components/syn-menu-label/component.styles.ts +0 -31
  294. package/metadata/packages/components/components/syn-menu-label/component.ts +0 -46
  295. package/metadata/packages/components/components/syn-menu-label/component.vue +0 -41
  296. package/metadata/packages/components/components/syn-nav-item/component.angular.ts +0 -242
  297. package/metadata/packages/components/components/syn-nav-item/component.react.ts +0 -82
  298. package/metadata/packages/components/components/syn-nav-item/component.styles.ts +0 -333
  299. package/metadata/packages/components/components/syn-nav-item/component.ts +0 -491
  300. package/metadata/packages/components/components/syn-nav-item/component.vue +0 -182
  301. package/metadata/packages/components/components/syn-optgroup/component.angular.ts +0 -79
  302. package/metadata/packages/components/components/syn-optgroup/component.react.ts +0 -41
  303. package/metadata/packages/components/components/syn-optgroup/component.styles.ts +0 -61
  304. package/metadata/packages/components/components/syn-optgroup/component.ts +0 -176
  305. package/metadata/packages/components/components/syn-optgroup/component.vue +0 -71
  306. package/metadata/packages/components/components/syn-option/component.angular.ts +0 -79
  307. package/metadata/packages/components/components/syn-option/component.react.ts +0 -37
  308. package/metadata/packages/components/components/syn-option/component.styles.ts +0 -165
  309. package/metadata/packages/components/components/syn-option/component.ts +0 -191
  310. package/metadata/packages/components/components/syn-option/component.vue +0 -71
  311. package/metadata/packages/components/components/syn-pagination/component.angular.ts +0 -201
  312. package/metadata/packages/components/components/syn-pagination/component.react.ts +0 -56
  313. package/metadata/packages/components/components/syn-pagination/component.styles.ts +0 -128
  314. package/metadata/packages/components/components/syn-pagination/component.ts +0 -452
  315. package/metadata/packages/components/components/syn-pagination/component.vue +0 -144
  316. package/metadata/packages/components/components/syn-popup/component.angular.ts +0 -372
  317. package/metadata/packages/components/components/syn-popup/component.react.ts +0 -55
  318. package/metadata/packages/components/components/syn-popup/component.styles.ts +0 -70
  319. package/metadata/packages/components/components/syn-popup/component.ts +0 -582
  320. package/metadata/packages/components/components/syn-popup/component.vue +0 -233
  321. package/metadata/packages/components/components/syn-prio-nav/component.angular.ts +0 -67
  322. package/metadata/packages/components/components/syn-prio-nav/component.react.ts +0 -54
  323. package/metadata/packages/components/components/syn-prio-nav/component.styles.ts +0 -48
  324. package/metadata/packages/components/components/syn-prio-nav/component.ts +0 -288
  325. package/metadata/packages/components/components/syn-prio-nav/component.vue +0 -60
  326. package/metadata/packages/components/components/syn-progress-bar/component.angular.ts +0 -85
  327. package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +0 -24
  328. package/metadata/packages/components/components/syn-progress-bar/component.react.ts +0 -37
  329. package/metadata/packages/components/components/syn-progress-bar/component.styles.ts +0 -87
  330. package/metadata/packages/components/components/syn-progress-bar/component.ts +0 -67
  331. package/metadata/packages/components/components/syn-progress-bar/component.vue +0 -71
  332. package/metadata/packages/components/components/syn-progress-ring/component.angular.ts +0 -72
  333. package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +0 -19
  334. package/metadata/packages/components/components/syn-progress-ring/component.react.ts +0 -37
  335. package/metadata/packages/components/components/syn-progress-ring/component.styles.ts +0 -70
  336. package/metadata/packages/components/components/syn-progress-ring/component.ts +0 -83
  337. package/metadata/packages/components/components/syn-progress-ring/component.vue +0 -66
  338. package/metadata/packages/components/components/syn-radio/component.angular.ts +0 -122
  339. package/metadata/packages/components/components/syn-radio/component.react.ts +0 -48
  340. package/metadata/packages/components/components/syn-radio/component.styles.ts +0 -179
  341. package/metadata/packages/components/components/syn-radio/component.ts +0 -131
  342. package/metadata/packages/components/components/syn-radio/component.vue +0 -104
  343. package/metadata/packages/components/components/syn-radio-button/component.angular.ts +0 -123
  344. package/metadata/packages/components/components/syn-radio-button/component.react.ts +0 -49
  345. package/metadata/packages/components/components/syn-radio-button/component.styles.ts +0 -30
  346. package/metadata/packages/components/components/syn-radio-button/component.ts +0 -142
  347. package/metadata/packages/components/components/syn-radio-button/component.vue +0 -105
  348. package/metadata/packages/components/components/syn-radio-group/component.angular.ts +0 -204
  349. package/metadata/packages/components/components/syn-radio-group/component.react.ts +0 -56
  350. package/metadata/packages/components/components/syn-radio-group/component.styles.ts +0 -58
  351. package/metadata/packages/components/components/syn-radio-group/component.ts +0 -440
  352. package/metadata/packages/components/components/syn-radio-group/component.vue +0 -158
  353. package/metadata/packages/components/components/syn-range/component.angular.ts +0 -347
  354. package/metadata/packages/components/components/syn-range/component.react.ts +0 -92
  355. package/metadata/packages/components/components/syn-range/component.styles.ts +0 -310
  356. package/metadata/packages/components/components/syn-range/component.ts +0 -933
  357. package/metadata/packages/components/components/syn-range/component.vue +0 -245
  358. package/metadata/packages/components/components/syn-range-tick/component.angular.ts +0 -59
  359. package/metadata/packages/components/components/syn-range-tick/component.react.ts +0 -33
  360. package/metadata/packages/components/components/syn-range-tick/component.styles.ts +0 -34
  361. package/metadata/packages/components/components/syn-range-tick/component.ts +0 -50
  362. package/metadata/packages/components/components/syn-range-tick/component.vue +0 -57
  363. package/metadata/packages/components/components/syn-resize-observer/component.styles.ts +0 -9
  364. package/metadata/packages/components/components/syn-resize-observer/component.ts +0 -91
  365. package/metadata/packages/components/components/syn-select/component.angular.ts +0 -439
  366. package/metadata/packages/components/components/syn-select/component.react.ts +0 -101
  367. package/metadata/packages/components/components/syn-select/component.styles.ts +0 -380
  368. package/metadata/packages/components/components/syn-select/component.ts +0 -1056
  369. package/metadata/packages/components/components/syn-select/component.vue +0 -301
  370. package/metadata/packages/components/components/syn-side-nav/component.angular.ts +0 -210
  371. package/metadata/packages/components/components/syn-side-nav/component.react.ts +0 -95
  372. package/metadata/packages/components/components/syn-side-nav/component.styles.ts +0 -142
  373. package/metadata/packages/components/components/syn-side-nav/component.ts +0 -458
  374. package/metadata/packages/components/components/syn-side-nav/component.vue +0 -188
  375. package/metadata/packages/components/components/syn-spinner/component.angular.ts +0 -44
  376. package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +0 -32
  377. package/metadata/packages/components/components/syn-spinner/component.react.ts +0 -31
  378. package/metadata/packages/components/components/syn-spinner/component.styles.ts +0 -48
  379. package/metadata/packages/components/components/syn-spinner/component.ts +0 -35
  380. package/metadata/packages/components/components/syn-spinner/component.vue +0 -35
  381. package/metadata/packages/components/components/syn-switch/component.angular.ts +0 -257
  382. package/metadata/packages/components/components/syn-switch/component.react.ts +0 -63
  383. package/metadata/packages/components/components/syn-switch/component.styles.ts +0 -252
  384. package/metadata/packages/components/components/syn-switch/component.ts +0 -279
  385. package/metadata/packages/components/components/syn-switch/component.vue +0 -183
  386. package/metadata/packages/components/components/syn-tab/component.angular.ts +0 -109
  387. package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +0 -94
  388. package/metadata/packages/components/components/syn-tab/component.react.ts +0 -42
  389. package/metadata/packages/components/components/syn-tab/component.styles.ts +0 -70
  390. package/metadata/packages/components/components/syn-tab/component.ts +0 -125
  391. package/metadata/packages/components/components/syn-tab/component.vue +0 -91
  392. package/metadata/packages/components/components/syn-tab-group/component.angular.ts +0 -166
  393. package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +0 -218
  394. package/metadata/packages/components/components/syn-tab-group/component.react.ts +0 -58
  395. package/metadata/packages/components/components/syn-tab-group/component.styles.ts +0 -193
  396. package/metadata/packages/components/components/syn-tab-group/component.ts +0 -551
  397. package/metadata/packages/components/components/syn-tab-group/component.vue +0 -126
  398. package/metadata/packages/components/components/syn-tab-panel/component.angular.ts +0 -68
  399. package/metadata/packages/components/components/syn-tab-panel/component.custom.styles.ts +0 -8
  400. package/metadata/packages/components/components/syn-tab-panel/component.react.ts +0 -31
  401. package/metadata/packages/components/components/syn-tab-panel/component.styles.ts +0 -20
  402. package/metadata/packages/components/components/syn-tab-panel/component.ts +0 -60
  403. package/metadata/packages/components/components/syn-tab-panel/component.vue +0 -60
  404. package/metadata/packages/components/components/syn-tag/component.angular.ts +0 -83
  405. package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +0 -121
  406. package/metadata/packages/components/components/syn-tag/component.react.ts +0 -43
  407. package/metadata/packages/components/components/syn-tag/component.styles.ts +0 -58
  408. package/metadata/packages/components/components/syn-tag/component.ts +0 -83
  409. package/metadata/packages/components/components/syn-tag/component.vue +0 -81
  410. package/metadata/packages/components/components/syn-tag-group/component.angular.ts +0 -83
  411. package/metadata/packages/components/components/syn-tag-group/component.react.ts +0 -33
  412. package/metadata/packages/components/components/syn-tag-group/component.styles.ts +0 -49
  413. package/metadata/packages/components/components/syn-tag-group/component.ts +0 -95
  414. package/metadata/packages/components/components/syn-tag-group/component.vue +0 -69
  415. package/metadata/packages/components/components/syn-textarea/component.angular.ts +0 -396
  416. package/metadata/packages/components/components/syn-textarea/component.react.ts +0 -60
  417. package/metadata/packages/components/components/syn-textarea/component.styles.ts +0 -208
  418. package/metadata/packages/components/components/syn-textarea/component.ts +0 -400
  419. package/metadata/packages/components/components/syn-textarea/component.vue +0 -244
  420. package/metadata/packages/components/components/syn-tooltip/component.angular.ts +0 -196
  421. package/metadata/packages/components/components/syn-tooltip/component.react.ts +0 -63
  422. package/metadata/packages/components/components/syn-tooltip/component.styles.ts +0 -62
  423. package/metadata/packages/components/components/syn-tooltip/component.ts +0 -312
  424. package/metadata/packages/components/components/syn-tooltip/component.vue +0 -150
  425. package/metadata/packages/components/components/syn-validate/component.angular.ts +0 -137
  426. package/metadata/packages/components/components/syn-validate/component.react.ts +0 -44
  427. package/metadata/packages/components/components/syn-validate/component.styles.ts +0 -9
  428. package/metadata/packages/components/components/syn-validate/component.ts +0 -590
  429. package/metadata/packages/components/components/syn-validate/component.vue +0 -107
  430. package/metadata/packages/components/migration/BREAKING_CHANGES.md +0 -908
  431. package/metadata/packages/components/static/CHANGELOG.md +0 -2155
  432. package/metadata/packages/components/static/LIMITATIONS.md +0 -433
  433. package/metadata/packages/components/static/README.md +0 -231
  434. package/metadata/packages/fonts/CHANGELOG.md +0 -57
  435. package/metadata/packages/fonts/README.md +0 -164
  436. package/metadata/packages/fonts/package.json +0 -72
  437. package/metadata/packages/react/LIMITATIONS.md +0 -31
  438. package/metadata/packages/react/README.md +0 -262
  439. package/metadata/packages/styles/BREAKING_CHANGES.md +0 -105
  440. package/metadata/packages/styles/CHANGELOG.md +0 -188
  441. package/metadata/packages/styles/README.md +0 -132
  442. package/metadata/packages/styles/index.css +0 -300
  443. package/metadata/packages/styles/link-list.css +0 -47
  444. package/metadata/packages/styles/link.css +0 -81
  445. package/metadata/packages/styles/tables.css +0 -132
  446. package/metadata/packages/styles/typography.css +0 -52
  447. package/metadata/packages/tokens/BREAKING_CHANGES.md +0 -180
  448. package/metadata/packages/tokens/CHANGELOG.md +0 -959
  449. package/metadata/packages/tokens/README.md +0 -435
  450. package/metadata/packages/tokens/dark.css +0 -454
  451. package/metadata/packages/tokens/index.js +0 -2224
  452. package/metadata/packages/tokens/light.css +0 -454
  453. package/metadata/packages/tokens/sick2018_dark.css +0 -454
  454. package/metadata/packages/tokens/sick2018_light.css +0 -454
  455. package/metadata/packages/tokens/sick2025_dark.css +0 -454
  456. package/metadata/packages/tokens/sick2025_light.css +0 -454
  457. package/metadata/packages/vue/LIMITATIONS.md +0 -53
  458. package/metadata/packages/vue/README.md +0 -252
  459. package/metadata/static/assets/index.md +0 -10
  460. package/metadata/static/components/index.md +0 -10
  461. package/metadata/static/components/syn-accordion/docs.md +0 -449
  462. package/metadata/static/components/syn-alert/docs.md +0 -282
  463. package/metadata/static/components/syn-badge/docs.md +0 -106
  464. package/metadata/static/components/syn-breadcrumb/docs.md +0 -265
  465. package/metadata/static/components/syn-breadcrumb-item/docs.md +0 -49
  466. package/metadata/static/components/syn-button/docs.md +0 -472
  467. package/metadata/static/components/syn-button-group/docs.md +0 -259
  468. package/metadata/static/components/syn-card/docs.md +0 -314
  469. package/metadata/static/components/syn-checkbox/docs.md +0 -176
  470. package/metadata/static/components/syn-combobox/docs.md +0 -2633
  471. package/metadata/static/components/syn-details/docs.md +0 -227
  472. package/metadata/static/components/syn-dialog/docs.md +0 -220
  473. package/metadata/static/components/syn-divider/docs.md +0 -77
  474. package/metadata/static/components/syn-drawer/docs.md +0 -269
  475. package/metadata/static/components/syn-dropdown/docs.md +0 -316
  476. package/metadata/static/components/syn-file/docs.md +0 -239
  477. package/metadata/static/components/syn-header/docs.md +0 -209
  478. package/metadata/static/components/syn-icon/docs.md +0 -177
  479. package/metadata/static/components/syn-icon-button/docs.md +0 -142
  480. package/metadata/static/components/syn-input/docs.md +0 -462
  481. package/metadata/static/components/syn-menu/docs.md +0 -162
  482. package/metadata/static/components/syn-menu-item/docs.md +0 -216
  483. package/metadata/static/components/syn-menu-label/docs.md +0 -29
  484. package/metadata/static/components/syn-nav-item/docs.md +0 -166
  485. package/metadata/static/components/syn-optgroup/docs.md +0 -167
  486. package/metadata/static/components/syn-option/docs.md +0 -137
  487. package/metadata/static/components/syn-pagination/docs.md +0 -102
  488. package/metadata/static/components/syn-popup/docs.md +0 -812
  489. package/metadata/static/components/syn-prio-nav/docs.md +0 -54
  490. package/metadata/static/components/syn-progress-bar/docs.md +0 -77
  491. package/metadata/static/components/syn-progress-ring/docs.md +0 -89
  492. package/metadata/static/components/syn-radio/docs.md +0 -178
  493. package/metadata/static/components/syn-radio-group/docs.md +0 -484
  494. package/metadata/static/components/syn-range/docs.md +0 -438
  495. package/metadata/static/components/syn-range-tick/docs.md +0 -110
  496. package/metadata/static/components/syn-select/docs.md +0 -811
  497. package/metadata/static/components/syn-side-nav/docs.md +0 -593
  498. package/metadata/static/components/syn-spinner/docs.md +0 -45
  499. package/metadata/static/components/syn-switch/docs.md +0 -121
  500. package/metadata/static/components/syn-tab/docs.md +0 -47
  501. package/metadata/static/components/syn-tab-group/docs.md +0 -1094
  502. package/metadata/static/components/syn-tab-panel/docs.md +0 -91
  503. package/metadata/static/components/syn-tag/docs.md +0 -50
  504. package/metadata/static/components/syn-tag-group/docs.md +0 -269
  505. package/metadata/static/components/syn-textarea/docs.md +0 -215
  506. package/metadata/static/components/syn-tooltip/docs.md +0 -217
  507. package/metadata/static/components/syn-validate/docs.md +0 -305
  508. package/metadata/static/fonts/index.md +0 -4
  509. package/metadata/static/migration/index.md +0 -57
  510. package/metadata/static/migration/v2-2018-to-v2-2025.md +0 -481
  511. package/metadata/static/migration/v2-2018-to-v3-2018.md +0 -147
  512. package/metadata/static/migration/v2-2018-to-v3-2025.md +0 -150
  513. package/metadata/static/migration/v2-2025-to-v3-2025.md +0 -133
  514. package/metadata/static/setup/icon-usage.md +0 -411
  515. package/metadata/static/setup/prerequisites.md +0 -319
  516. package/metadata/static/styles/syn-body.md +0 -5
  517. package/metadata/static/styles/syn-heading.md +0 -5
  518. package/metadata/static/styles/syn-link-list.md +0 -325
  519. package/metadata/static/styles/syn-link.md +0 -156
  520. package/metadata/static/styles/syn-table-cell.md +0 -127
  521. package/metadata/static/styles/syn-table.md +0 -201
  522. package/metadata/static/styles/syn-weight.md +0 -5
  523. package/metadata/static/templates/appshell.md +0 -2053
  524. package/metadata/static/templates/breadcrumb.md +0 -379
  525. package/metadata/static/templates/footer.md +0 -340
  526. package/metadata/static/templates/forms.md +0 -558
  527. package/metadata/static/templates/localization.md +0 -279
  528. package/metadata/static/templates/table.md +0 -1425
  529. package/metadata/static/templates/tag-group.md +0 -833
  530. /package/dist/{build/build.d.ts → utilities/logging-types.js} +0 -0
  531. /package/{metadata/static/component-info/index.md → rules/component-info.md} +0 -0
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Creates and returns a transport instance based on the runtime configuration.
3
+ *
4
+ * For stdio mode, a single server instance is used.
5
+ * For HTTP mode, the factory is called once per client session so each client
6
+ * gets an isolated server with its own tool registrations.
7
+ *
8
+ * @param serverFactory A factory function that creates a new MCP server instance
9
+ * @param config The runtime configuration
10
+ * @returns A transport instance ready to start
11
+ */
12
+ export async function createTransport(serverFactory, config) {
13
+ // Determine transport type based on config.interface
14
+ // Note we have to use dynamic imports here to avoid importing all transport modules upfront,
15
+ // which can cause issues in certain environments (like when using stdio transport in a CLI tool)
16
+ if (config.interface === 'http') {
17
+ const { createHttpTransport } = await import('./http.js');
18
+ return createHttpTransport(serverFactory, config);
19
+ }
20
+ // Default to stdio — create the single server instance here
21
+ const { createStdioTransport } = await import('./stdio.js');
22
+ return createStdioTransport(serverFactory());
23
+ }
@@ -0,0 +1,10 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { TransportInstance } from './index.js';
3
+ /**
4
+ * Creates a stdio transport for the MCP server.
5
+ * Communicates via stdin/stdout with the parent process.
6
+ *
7
+ * @param server The MCP server instance
8
+ * @returns A transport instance
9
+ */
10
+ export declare function createStdioTransport(server: McpServer): Promise<TransportInstance>;
@@ -0,0 +1,21 @@
1
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
+ import { runWithLoggingContext } from '../utilities/logging-context.js';
3
+ /**
4
+ * Creates a stdio transport for the MCP server.
5
+ * Communicates via stdin/stdout with the parent process.
6
+ *
7
+ * @param server The MCP server instance
8
+ * @returns A transport instance
9
+ */
10
+ // eslint-disable-next-line @typescript-eslint/require-await
11
+ export async function createStdioTransport(server) {
12
+ const transport = new StdioServerTransport();
13
+ return {
14
+ start: async () => {
15
+ await runWithLoggingContext({
16
+ sessionId: 'stdio',
17
+ transport: 'stdio',
18
+ }, async () => server.connect(transport));
19
+ },
20
+ };
21
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Shared types for MCP tool responses.
3
+ * These are intentionally separated from middleware/metadata utilities to avoid
4
+ * circular dependencies as different domains (logging, token-counting, response
5
+ * formatting) need to work with the same response shape.
6
+ */
7
+ export type ToolResponseContentEntry = {
8
+ text: string;
9
+ type: 'text';
10
+ };
11
+ export type ToolResponse = {
12
+ content: ToolResponseContentEntry[];
13
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared types for MCP tool responses.
3
+ * These are intentionally separated from middleware/metadata utilities to avoid
4
+ * circular dependencies as different domains (logging, token-counting, response
5
+ * formatting) need to work with the same response shape.
6
+ */
7
+ export {};
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Gets the current version of the MCP server.
3
+ * @returns The version string from package.json
4
+ */
5
+ export declare const getVersion: () => string;
6
+ /**
7
+ * Parsed command line arguments
8
+ */
9
+ export interface ParsedArgs {
10
+ action: 'version' | 'help' | 'continue';
11
+ compression?: 'none' | 'toon';
12
+ configPath?: string;
13
+ host?: string;
14
+ interface?: 'stdio' | 'http';
15
+ logPath?: string | null;
16
+ port?: number;
17
+ tlsKeyPath?: string;
18
+ tlsCertPath?: string;
19
+ }
20
+ /**
21
+ * Parses command line arguments and returns the action to take
22
+ */
23
+ export declare const parseCommandLineArgs: (args?: string[]) => ParsedArgs;
24
+ /**
25
+ * Handles command line arguments and exits if necessary
26
+ */
27
+ export declare const handleCommandLineArgs: () => void;
@@ -0,0 +1,170 @@
1
+ import { dirname, join } from 'path';
2
+ import { readFileSync } from 'fs';
3
+ import { fileURLToPath } from 'url';
4
+ /**
5
+ * Gets the current version of the MCP server.
6
+ * @returns The version string from package.json
7
+ */
8
+ export const getVersion = () => {
9
+ const filename = fileURLToPath(import.meta.url);
10
+ const directoryName = dirname(filename);
11
+ const packageJsonPath = join(directoryName, '..', '..', 'package.json');
12
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
13
+ return packageJson.version;
14
+ };
15
+ /**
16
+ * Parses command line arguments and returns the action to take
17
+ */
18
+ // eslint-disable-next-line complexity
19
+ export const parseCommandLineArgs = (args = process.argv.slice(2)) => {
20
+ if (args.includes('--version') || args.includes('-v')) {
21
+ return { action: 'version' };
22
+ }
23
+ if (args.includes('--help') || args.includes('-h')) {
24
+ return { action: 'help' };
25
+ }
26
+ const result = { action: 'continue' };
27
+ const configIndex = args.indexOf('--config');
28
+ if (configIndex >= 0 && configIndex + 1 < args.length) {
29
+ result.configPath = args[configIndex + 1];
30
+ }
31
+ const interfaceIndex = args.indexOf('--interface');
32
+ if (interfaceIndex >= 0 && interfaceIndex + 1 < args.length) {
33
+ const value = args[interfaceIndex + 1];
34
+ if (value === 'stdio' || value === 'http') {
35
+ result.interface = value;
36
+ }
37
+ else {
38
+ throw new Error(`Invalid --interface value: "${value}". Must be "stdio" or "http".`);
39
+ }
40
+ }
41
+ const portIndex = args.indexOf('--port');
42
+ if (portIndex >= 0 && portIndex + 1 < args.length) {
43
+ const portValue = args[portIndex + 1];
44
+ const port = parseInt(portValue, 10);
45
+ if (Number.isNaN(port) || port < 1 || port > 65535) {
46
+ throw new Error(`Invalid --port value: "${portValue}". Must be an integer between 1 and 65535.`);
47
+ }
48
+ result.port = port;
49
+ }
50
+ const hostIndex = args.indexOf('--host');
51
+ if (hostIndex >= 0 && hostIndex + 1 < args.length) {
52
+ const hostValue = args[hostIndex + 1]?.trim();
53
+ if (!hostValue) {
54
+ throw new Error('Invalid --host value. Must be a non-empty host or IP address.');
55
+ }
56
+ result.host = hostValue;
57
+ }
58
+ const logIndex = args.indexOf('--log');
59
+ if (logIndex >= 0 && logIndex + 1 < args.length) {
60
+ const rawValue = args[logIndex + 1]?.trim();
61
+ if (!rawValue) {
62
+ throw new Error('Invalid --log value. Must be a non-empty directory path, "false" or "null".');
63
+ }
64
+ const normalized = rawValue.toLowerCase();
65
+ result.logPath = normalized === 'false' || normalized === 'null'
66
+ ? null
67
+ : rawValue;
68
+ }
69
+ const tlsKeyIndex = args.indexOf('--tls-key');
70
+ if (tlsKeyIndex >= 0 && tlsKeyIndex + 1 < args.length) {
71
+ result.tlsKeyPath = args[tlsKeyIndex + 1];
72
+ }
73
+ const tlsCertIndex = args.indexOf('--tls-cert');
74
+ if (tlsCertIndex >= 0 && tlsCertIndex + 1 < args.length) {
75
+ result.tlsCertPath = args[tlsCertIndex + 1];
76
+ }
77
+ const compressionIndex = args.indexOf('--compression');
78
+ if (compressionIndex >= 0 && compressionIndex + 1 < args.length) {
79
+ const value = args[compressionIndex + 1];
80
+ if (value === 'none' || value === 'toon') {
81
+ result.compression = value;
82
+ }
83
+ else {
84
+ throw new Error(`Invalid --compression value: "${value}". Must be "none" or "toon".`);
85
+ }
86
+ }
87
+ return result;
88
+ };
89
+ /**
90
+ * Handles command line arguments and exits if necessary
91
+ */
92
+ export const handleCommandLineArgs = () => {
93
+ const result = parseCommandLineArgs();
94
+ if (result.action === 'version') {
95
+ const version = getVersion();
96
+ process.stdout.write(`Synergy Design System MCP Server v${version}\n`);
97
+ process.exit(0);
98
+ }
99
+ if (result.action === 'help') {
100
+ const version = getVersion();
101
+ process.stdout.write(`Synergy Design System MCP Server v${version}
102
+
103
+ USAGE:
104
+ syn-mcp [OPTIONS]
105
+
106
+ DESCRIPTION:
107
+ Model Context Protocol (MCP) server for the Synergy Design System.
108
+ Provides tools for LLMs to interact with Synergy components, design tokens,
109
+ styles, and framework-specific guidance.
110
+
111
+ OPTIONS:
112
+ -h, --help Show this help message and exit
113
+ -v, --version Show version information and exit
114
+ --config <path> Path to a synergy-mcp.json configuration file
115
+ --interface <type> Server interface: stdio (default) or http
116
+ --host <address> HTTP bind address (default: 127.0.0.1)
117
+ --port <number> HTTP server port (default: 9119, used with --interface http)
118
+ --log <value> Tool-call logs directory path, or "false"/"null" to disable
119
+ --tls-key <path> Path to TLS private key file (enables HTTPS)
120
+ --tls-cert <path> Path to TLS certificate file (enables HTTPS)
121
+ --compression <mode> Response compression: none (default) or toon
122
+
123
+ EXAMPLES:
124
+ syn-mcp # Start the MCP server via stdio (default)
125
+ syn-mcp --version # Show version
126
+ syn-mcp --help # Show this help
127
+ syn-mcp --config ./synergy-mcp.json # Start with a custom config
128
+ syn-mcp --interface http # Start HTTP server on port 9119
129
+ syn-mcp --interface http --port 3000 # Start HTTP server on port 3000
130
+ syn-mcp --interface http --host 0.0.0.0 # Listen on all IPv4 interfaces
131
+ syn-mcp --log ./logs # Write tool-call logs to ./logs
132
+ syn-mcp --log false # Disable tool-call logging
133
+ syn-mcp --interface http --tls-key ./key.pem --tls-cert ./cert.pem # Start HTTPS server
134
+
135
+ CONFIGURATION FILE:
136
+ A synergy-mcp.json file can specify interface, port, host, and TLS settings:
137
+
138
+ {
139
+ "interface": "http",
140
+ "port": 3000,
141
+ "host": "0.0.0.0",
142
+ "logging": {
143
+ "localFile": {
144
+ "path": "./logs"
145
+ }
146
+ },
147
+ "tls": {
148
+ "keyPath": "./key.pem",
149
+ "certPath": "./cert.pem"
150
+ }
151
+ }
152
+
153
+ CLI flags override config file values.
154
+
155
+ ABOUT:
156
+ This server provides the following tools for LLMs:
157
+ • Component information and documentation
158
+ • Framework-specific guidance (React, Vue, Angular, Vanilla)
159
+ • Design tokens and styling information
160
+ • Asset and icon information
161
+ • Migration guides from DaVinci to Synergy
162
+ • Template and pattern information
163
+
164
+ For more information, visit:
165
+ https://github.com/synergy-design-system/synergy-design-system
166
+
167
+ `);
168
+ process.exit(0);
169
+ }
170
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Encodes an unknown value using toon format.
3
+ * Returns the original value as JSON string if toon is unavailable.
4
+ * @param value The value to encode
5
+ * @returns The encoded toon format string, or JSON stringified value if encoder unavailable
6
+ */
7
+ export declare const encodeToToon: (value: unknown) => Promise<string>;
@@ -0,0 +1,45 @@
1
+ const hasToonEncode = (module) => {
2
+ if (typeof module !== 'object' || module === null) {
3
+ return false;
4
+ }
5
+ return ('encode' in module
6
+ && typeof module.encode === 'function');
7
+ };
8
+ let encoderPromise;
9
+ /**
10
+ * Loads the toon encoder from the optional @toon-format/toon dependency.
11
+ * If the package is not available, returns null.
12
+ * @returns The toon.encode function, or null if unavailable
13
+ */
14
+ const loadEncoder = async () => {
15
+ if (!encoderPromise) {
16
+ encoderPromise = (async () => {
17
+ try {
18
+ const module = await import('@toon-format/toon');
19
+ if (!hasToonEncode(module)) {
20
+ return null;
21
+ }
22
+ return module.encode;
23
+ }
24
+ catch {
25
+ // Package not installed or import failed
26
+ return null;
27
+ }
28
+ })();
29
+ }
30
+ return encoderPromise;
31
+ };
32
+ /**
33
+ * Encodes an unknown value using toon format.
34
+ * Returns the original value as JSON string if toon is unavailable.
35
+ * @param value The value to encode
36
+ * @returns The encoded toon format string, or JSON stringified value if encoder unavailable
37
+ */
38
+ export const encodeToToon = async (value) => {
39
+ const encoder = await loadEncoder();
40
+ if (!encoder) {
41
+ // Graceful fallback: return as JSON
42
+ return JSON.stringify(value);
43
+ }
44
+ return encoder(value);
45
+ };
@@ -1,80 +1,122 @@
1
- /**
2
- * Path where metadata is stored, relative to the MCP directory.
3
- */
4
- export declare const metaDataPath: string;
5
- /**
6
- * Path to the assets directory, relative to the MCP directory.
7
- */
8
- export declare const assetsPath: string;
9
- /**
10
- * Path to the components base directory, relative to the MCP directory.
11
- */
12
- export declare const componentBasePath: string;
13
- /**
14
- * Path to the components code directory, relative to the MCP directory.
15
- */
16
- export declare const componentPath: string;
17
- /**
18
- * Path to the components static directory, relative to the MCP directory.
19
- */
20
- export declare const componentStaticPath: string;
21
- /**
22
- * Path to the components migration directory, relative to the MCP directory.
23
- */
24
- export declare const componentMigrationPath: string;
25
- /**
26
- * The path where static information about components is stored, relative to the MCP directory.
27
- */
28
- export declare const staticComponentPath: string;
29
- /**
30
- * The path where setup related information is stored.
31
- */
32
- export declare const setupPath: string;
33
- /**
34
- * Path to the styles directory, relative to the MCP directory.
35
- */
36
- export declare const stylesPath: string;
37
- /**
38
- * Path to the angular directory, relative to the MCP directory.
39
- */
40
- export declare const angularPath: string;
41
- /**
42
- * Path to the react directory, relative to the MCP directory.
43
- */
44
- export declare const reactPath: string;
45
- /**
46
- * Path to the vue directory, relative to the MCP directory.
47
- */
48
- export declare const vuePath: string;
49
- /**
50
- * The path where static information about styles is stored, relative to the MCP directory.
51
- */
52
- export declare const staticStylesPath: string;
53
- /**
54
- * Path to the templates directory, relative to the MCP directory.
55
- */
56
- export declare const templatesPath: string;
57
- /**
58
- * Path to the tokens directory, relative to the MCP directory.
59
- */
60
- export declare const tokensPath: string;
61
- /**
62
- * Path to the davinci migration directory, relative to the MCP directory.
63
- */
64
- export declare const davinciMigrationPath: string;
65
- /**
66
- * Path to the static files directory, relative to the MCP directory.
67
- */
68
- export declare const staticPath: string;
69
- /**
70
- * Path to the migration directory, relative to the MCP directory.
71
- */
72
- export declare const staticMigrationPath: string;
73
- /**
74
- * Path to the fonts directory, relative to the MCP directory.
75
- */
76
- export declare const fontsPath: string;
77
- /**
78
- * List of supported frameworks.
79
- */
80
- export type Framework = 'react' | 'vue' | 'angular' | 'vanilla';
1
+ import { z } from 'zod';
2
+ /**
3
+ * Zod schema for the synergy-mcp.json configuration file.
4
+ * All fields are optional and fall back to built-in defaults when absent.
5
+ */
6
+ export declare const McpRuntimeConfigSchema: z.ZodObject<{
7
+ compression: z.ZodDefault<z.ZodEnum<{
8
+ none: "none";
9
+ toon: "toon";
10
+ }>>;
11
+ host: z.ZodDefault<z.ZodString>;
12
+ includeAiRules: z.ZodDefault<z.ZodBoolean>;
13
+ interface: z.ZodDefault<z.ZodEnum<{
14
+ stdio: "stdio";
15
+ http: "http";
16
+ }>>;
17
+ logging: z.ZodDefault<z.ZodObject<{
18
+ localFile: z.ZodDefault<z.ZodObject<{
19
+ path: z.ZodDefault<z.ZodNullable<z.ZodString>>;
20
+ }, z.core.$strip>>;
21
+ }, z.core.$strip>>;
22
+ port: z.ZodDefault<z.ZodNumber>;
23
+ tls: z.ZodDefault<z.ZodObject<{
24
+ certPath: z.ZodOptional<z.ZodString>;
25
+ keyPath: z.ZodOptional<z.ZodString>;
26
+ }, z.core.$strip>>;
27
+ tools: z.ZodDefault<z.ZodObject<{
28
+ assetInfo: z.ZodDefault<z.ZodObject<{
29
+ iconset: z.ZodDefault<z.ZodEnum<{
30
+ default: "default";
31
+ new: "new";
32
+ next: "next";
33
+ v2: "v2";
34
+ v3: "v3";
35
+ legacy: "legacy";
36
+ synergy2018: "synergy2018";
37
+ brand2018: "brand2018";
38
+ sick2018: "sick2018";
39
+ current: "current";
40
+ brand2025: "brand2025";
41
+ sick2025: "sick2025";
42
+ synergy2025: "synergy2025";
43
+ }>>;
44
+ }, z.core.$strip>>;
45
+ componentInfo: z.ZodDefault<z.ZodObject<{
46
+ framework: z.ZodDefault<z.ZodEnum<{
47
+ angular: "angular";
48
+ react: "react";
49
+ vue: "vue";
50
+ vanilla: "vanilla";
51
+ }>>;
52
+ layer: z.ZodDefault<z.ZodEnum<{
53
+ full: "full";
54
+ examples: "examples";
55
+ interface: "interface";
56
+ }>>;
57
+ }, z.core.$strip>>;
58
+ davinciMigrationInfo: z.ZodDefault<z.ZodObject<{
59
+ package: z.ZodDefault<z.ZodEnum<{
60
+ "basic-elements": "basic-elements";
61
+ "dashboard-elements": "dashboard-elements";
62
+ }>>;
63
+ }, z.core.$strip>>;
64
+ davinciMigrationList: z.ZodDefault<z.ZodObject<{
65
+ package: z.ZodDefault<z.ZodEnum<{
66
+ "basic-elements": "basic-elements";
67
+ "dashboard-elements": "dashboard-elements";
68
+ }>>;
69
+ }, z.core.$strip>>;
70
+ migrationInfo: z.ZodDefault<z.ZodObject<{
71
+ synergyPackage: z.ZodDefault<z.ZodEnum<{
72
+ components: "components";
73
+ assets: "assets";
74
+ styles: "styles";
75
+ tokens: "tokens";
76
+ }>>;
77
+ }, z.core.$strip>>;
78
+ migrationList: z.ZodDefault<z.ZodObject<{
79
+ synergyPackage: z.ZodDefault<z.ZodEnum<{
80
+ components: "components";
81
+ assets: "assets";
82
+ styles: "styles";
83
+ tokens: "tokens";
84
+ }>>;
85
+ }, z.core.$strip>>;
86
+ setup: z.ZodDefault<z.ZodObject<{
87
+ includeLimitations: z.ZodDefault<z.ZodBoolean>;
88
+ }, z.core.$strip>>;
89
+ tokenInfo: z.ZodDefault<z.ZodObject<{
90
+ type: z.ZodDefault<z.ZodEnum<{
91
+ css: "css";
92
+ javascript: "javascript";
93
+ sass: "sass";
94
+ }>>;
95
+ }, z.core.$strip>>;
96
+ }, z.core.$strip>>;
97
+ }, z.core.$strip>;
98
+ export type McpRuntimeConfig = z.infer<typeof McpRuntimeConfigSchema>;
99
+ /**
100
+ * Replaces the in-memory runtime configuration.
101
+ * Useful when startup code applies CLI overrides after file/default resolution.
102
+ *
103
+ * @param config The fully resolved runtime configuration to use globally.
104
+ */
105
+ export declare const setRuntimeConfig: (config: McpRuntimeConfig) => void;
106
+ /**
107
+ * Loads the runtime configuration from a JSON file at the given path, validates
108
+ * it against the schema, and caches the result. Each configured field is
109
+ * deep-merged with built-in defaults so partial configs are always safe.
110
+ *
111
+ * If no path is given, or if loading / validation fails, the built-in defaults
112
+ * are (re-)applied and a warning is written to stderr.
113
+ *
114
+ * @param configPath Optional absolute or relative path to a synergy-mcp.json file.
115
+ */
116
+ export declare const initializeRuntimeConfig: (configPath?: string) => Promise<void>;
117
+ /**
118
+ * Returns the current runtime configuration.
119
+ * Falls back to built-in defaults if {@link initializeRuntimeConfig} has not
120
+ * been called yet.
121
+ */
122
+ export declare const getRuntimeConfig: () => McpRuntimeConfig;