@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.
- package/CHANGELOG.md +13 -0
- package/README.md +826 -303
- package/dist/bin/start.js +57 -6
- package/dist/middleware/compose.d.ts +15 -0
- package/dist/middleware/compose.js +10 -0
- package/dist/middleware/compression.d.ts +19 -0
- package/dist/middleware/compression.js +35 -0
- package/dist/middleware/error-handler.d.ts +13 -0
- package/dist/middleware/error-handler.js +42 -0
- package/dist/middleware/index.d.ts +9 -0
- package/dist/middleware/index.js +8 -0
- package/dist/middleware/logging.d.ts +14 -0
- package/dist/middleware/logging.js +64 -0
- package/dist/middleware/types.d.ts +20 -0
- package/dist/middleware/types.js +4 -0
- package/dist/resources/asset-list.d.ts +7 -0
- package/dist/resources/asset-list.js +34 -0
- package/dist/resources/component-cluster-list.d.ts +7 -0
- package/dist/resources/component-cluster-list.js +30 -0
- package/dist/resources/component-list.d.ts +7 -0
- package/dist/resources/component-list.js +31 -0
- package/dist/resources/index.d.ts +5 -0
- package/dist/resources/index.js +5 -0
- package/dist/resources/styles-list.d.ts +7 -0
- package/dist/resources/styles-list.js +31 -0
- package/dist/resources/templates-list.d.ts +7 -0
- package/dist/resources/templates-list.js +28 -0
- package/dist/server.js +5 -1
- package/dist/tools/asset-info.js +41 -85
- package/dist/tools/asset-list.js +22 -31
- package/dist/tools/component-cluster-list.d.ts +6 -0
- package/dist/tools/component-cluster-list.js +30 -0
- package/dist/tools/component-info.js +38 -21
- package/dist/tools/component-list.js +35 -30
- package/dist/tools/davinci-migration-info.d.ts +2 -0
- package/dist/tools/davinci-migration-info.js +21 -0
- package/dist/tools/davinci-migration-list.d.ts +2 -0
- package/dist/tools/davinci-migration-list.js +20 -0
- package/dist/tools/index.d.ts +6 -5
- package/dist/tools/index.js +6 -5
- package/dist/tools/migration-info.js +12 -37
- package/dist/tools/migration-list.js +7 -13
- package/dist/tools/setup.d.ts +6 -0
- package/dist/tools/setup.js +31 -0
- package/dist/tools/styles-info.d.ts +1 -2
- package/dist/tools/styles-info.js +24 -20
- package/dist/tools/styles-list.js +19 -33
- package/dist/tools/template-info.js +19 -20
- package/dist/tools/template-list.d.ts +1 -1
- package/dist/tools/template-list.js +17 -32
- package/dist/tools/{tokens.d.ts → token-info.d.ts} +2 -2
- package/dist/tools/token-info.js +31 -0
- package/dist/tools/tokens-list.d.ts +6 -0
- package/dist/tools/tokens-list.js +52 -0
- package/dist/transports/http.d.ts +14 -0
- package/dist/transports/http.js +157 -0
- package/dist/transports/index.d.ts +23 -0
- package/dist/transports/index.js +23 -0
- package/dist/transports/stdio.d.ts +10 -0
- package/dist/transports/stdio.js +21 -0
- package/dist/types/tool-response.d.ts +13 -0
- package/dist/types/tool-response.js +7 -0
- package/dist/utilities/cli.d.ts +27 -0
- package/dist/utilities/cli.js +170 -0
- package/dist/utilities/compression.d.ts +7 -0
- package/dist/utilities/compression.js +45 -0
- package/dist/utilities/config.d.ts +122 -80
- package/dist/utilities/config.js +212 -81
- package/dist/utilities/davinci.d.ts +12 -0
- package/dist/utilities/davinci.js +55 -0
- package/dist/utilities/index.d.ts +10 -10
- package/dist/utilities/index.js +10 -10
- package/dist/utilities/local-file-logger.d.ts +2 -0
- package/dist/utilities/local-file-logger.js +22 -0
- package/dist/utilities/logger.d.ts +12 -0
- package/dist/utilities/logger.js +30 -0
- package/dist/utilities/logging-context.d.ts +8 -0
- package/dist/utilities/logging-context.js +7 -0
- package/dist/utilities/logging-service.d.ts +2 -0
- package/dist/utilities/logging-service.js +24 -0
- package/dist/utilities/logging-types.d.ts +19 -0
- package/dist/utilities/metadata.d.ts +10 -17
- package/dist/utilities/metadata.js +34 -51
- package/dist/utilities/migration.d.ts +2 -1
- package/dist/utilities/migration.js +33 -30
- package/dist/utilities/rules.d.ts +8 -0
- package/dist/utilities/rules.js +37 -0
- package/dist/utilities/server.d.ts +7 -0
- package/dist/utilities/server.js +12 -0
- package/dist/utilities/token-counter.d.ts +14 -0
- package/dist/utilities/token-counter.js +53 -0
- package/package.json +18 -28
- package/rules/asset-info.md +10 -0
- package/rules/asset-list.md +10 -0
- package/rules/component-cluster-list.md +5 -0
- package/{metadata/static/angular/index.md → rules/component-info-angular.md} +2 -1
- package/{metadata/static/react/index.md → rules/component-info-react.md} +2 -1
- package/{metadata/static/vue/index.md → rules/component-info-vue.md} +4 -1
- package/{metadata/static/component-list/index.md → rules/component-list.md} +5 -7
- package/rules/styles-info.md +9 -0
- package/{metadata/static/styles/index.md → rules/styles-list.md} +0 -2
- package/{metadata/static/templates/index.md → rules/template-info.md} +0 -1
- package/rules/template-list.md +7 -0
- package/dist/bin/create-checksum.d.ts +0 -2
- package/dist/bin/create-checksum.js +0 -24
- package/dist/build/assets.d.ts +0 -4
- package/dist/build/assets.js +0 -57
- package/dist/build/build.js +0 -35
- package/dist/build/components.d.ts +0 -4
- package/dist/build/components.js +0 -133
- package/dist/build/fonts.d.ts +0 -4
- package/dist/build/fonts.js +0 -49
- package/dist/build/frameworks.d.ts +0 -4
- package/dist/build/frameworks.js +0 -61
- package/dist/build/static.d.ts +0 -4
- package/dist/build/static.js +0 -65
- package/dist/build/styles.d.ts +0 -4
- package/dist/build/styles.js +0 -58
- package/dist/build/tokens.d.ts +0 -4
- package/dist/build/tokens.js +0 -59
- package/dist/tools/davinci-migration.d.ts +0 -3
- package/dist/tools/davinci-migration.js +0 -66
- package/dist/tools/font-info.d.ts +0 -6
- package/dist/tools/font-info.js +0 -35
- package/dist/tools/framework-info.d.ts +0 -7
- package/dist/tools/framework-info.js +0 -58
- package/dist/tools/tokens.js +0 -24
- package/dist/tools/version.d.ts +0 -7
- package/dist/tools/version.js +0 -53
- package/dist/utilities/assets.d.ts +0 -2
- package/dist/utilities/assets.js +0 -3
- package/dist/utilities/checksum.d.ts +0 -36
- package/dist/utilities/checksum.js +0 -94
- package/dist/utilities/components.d.ts +0 -25
- package/dist/utilities/components.js +0 -86
- package/dist/utilities/file.d.ts +0 -12
- package/dist/utilities/file.js +0 -31
- package/dist/utilities/fonts.d.ts +0 -2
- package/dist/utilities/fonts.js +0 -3
- package/dist/utilities/stdio.d.ts +0 -14
- package/dist/utilities/stdio.js +0 -60
- package/dist/utilities/storybook/build-docs.d.ts +0 -2
- package/dist/utilities/storybook/build-docs.js +0 -43
- package/dist/utilities/storybook/configs.d.ts +0 -13
- package/dist/utilities/storybook/configs.js +0 -85
- package/dist/utilities/storybook/docs-scraper.d.ts +0 -26
- package/dist/utilities/storybook/docs-scraper.js +0 -96
- package/dist/utilities/storybook/index.d.ts +0 -5
- package/dist/utilities/storybook/index.js +0 -4
- package/dist/utilities/storybook/scraper.d.ts +0 -14
- package/dist/utilities/storybook/scraper.js +0 -243
- package/dist/utilities/storybook/storybook-manager.d.ts +0 -29
- package/dist/utilities/storybook/storybook-manager.js +0 -138
- package/dist/utilities/storybook/types.d.ts +0 -22
- package/dist/utilities/storybook/types.js +0 -1
- package/dist/utilities/styles.d.ts +0 -6
- package/dist/utilities/styles.js +0 -24
- package/dist/utilities/templates.d.ts +0 -12
- package/dist/utilities/templates.js +0 -28
- package/dist/utilities/tokens.d.ts +0 -1
- package/dist/utilities/tokens.js +0 -21
- package/dist/utilities/version.d.ts +0 -28
- package/dist/utilities/version.js +0 -21
- package/metadata/checksum.txt +0 -1
- package/metadata/davinci-migration/migration-guide.md +0 -1859
- package/metadata/packages/angular/LIMITATIONS.md +0 -32
- package/metadata/packages/angular/README.md +0 -393
- package/metadata/packages/assets/BREAKING_CHANGES.md +0 -305
- package/metadata/packages/assets/CHANGELOG.md +0 -374
- package/metadata/packages/assets/README.md +0 -103
- package/metadata/packages/components/components/syn-accordion/component.angular.ts +0 -80
- package/metadata/packages/components/components/syn-accordion/component.react.ts +0 -30
- package/metadata/packages/components/components/syn-accordion/component.styles.ts +0 -15
- package/metadata/packages/components/components/syn-accordion/component.ts +0 -111
- package/metadata/packages/components/components/syn-accordion/component.vue +0 -64
- package/metadata/packages/components/components/syn-alert/component.angular.ts +0 -169
- package/metadata/packages/components/components/syn-alert/component.react.ts +0 -60
- package/metadata/packages/components/components/syn-alert/component.styles.ts +0 -203
- package/metadata/packages/components/components/syn-alert/component.ts +0 -322
- package/metadata/packages/components/components/syn-alert/component.vue +0 -135
- package/metadata/packages/components/components/syn-badge/component.angular.ts +0 -53
- package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +0 -62
- package/metadata/packages/components/components/syn-badge/component.react.ts +0 -29
- package/metadata/packages/components/components/syn-badge/component.styles.ts +0 -52
- package/metadata/packages/components/components/syn-badge/component.ts +0 -58
- package/metadata/packages/components/components/syn-badge/component.vue +0 -53
- package/metadata/packages/components/components/syn-breadcrumb/component.angular.ts +0 -58
- package/metadata/packages/components/components/syn-breadcrumb/component.custom.styles.ts +0 -5
- package/metadata/packages/components/components/syn-breadcrumb/component.react.ts +0 -32
- package/metadata/packages/components/components/syn-breadcrumb/component.styles.ts +0 -11
- package/metadata/packages/components/components/syn-breadcrumb/component.ts +0 -103
- package/metadata/packages/components/components/syn-breadcrumb/component.vue +0 -58
- package/metadata/packages/components/components/syn-breadcrumb-item/component.angular.ts +0 -88
- package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +0 -78
- package/metadata/packages/components/components/syn-breadcrumb-item/component.react.ts +0 -37
- package/metadata/packages/components/components/syn-breadcrumb-item/component.styles.ts +0 -88
- package/metadata/packages/components/components/syn-breadcrumb-item/component.ts +0 -132
- package/metadata/packages/components/components/syn-breadcrumb-item/component.vue +0 -76
- package/metadata/packages/components/components/syn-button/component.angular.ts +0 -318
- package/metadata/packages/components/components/syn-button/component.custom.styles.ts +0 -245
- package/metadata/packages/components/components/syn-button/component.react.ts +0 -56
- package/metadata/packages/components/components/syn-button/component.styles.ts +0 -361
- package/metadata/packages/components/components/syn-button/component.ts +0 -315
- package/metadata/packages/components/components/syn-button/component.vue +0 -204
- package/metadata/packages/components/components/syn-button-group/component.angular.ts +0 -79
- package/metadata/packages/components/components/syn-button-group/component.custom.styles.ts +0 -5
- package/metadata/packages/components/components/syn-button-group/component.react.ts +0 -29
- package/metadata/packages/components/components/syn-button-group/component.styles.ts +0 -14
- package/metadata/packages/components/components/syn-button-group/component.ts +0 -171
- package/metadata/packages/components/components/syn-button-group/component.vue +0 -67
- package/metadata/packages/components/components/syn-card/component.angular.ts +0 -83
- package/metadata/packages/components/components/syn-card/component.custom.styles.ts +0 -60
- package/metadata/packages/components/components/syn-card/component.react.ts +0 -41
- package/metadata/packages/components/components/syn-card/component.styles.ts +0 -70
- package/metadata/packages/components/components/syn-card/component.ts +0 -65
- package/metadata/packages/components/components/syn-card/component.vue +0 -73
- package/metadata/packages/components/components/syn-checkbox/component.angular.ts +0 -273
- package/metadata/packages/components/components/syn-checkbox/component.react.ts +0 -64
- package/metadata/packages/components/components/syn-checkbox/component.styles.ts +0 -183
- package/metadata/packages/components/components/syn-checkbox/component.ts +0 -287
- package/metadata/packages/components/components/syn-checkbox/component.vue +0 -191
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +0 -516
- package/metadata/packages/components/components/syn-combobox/component.react.ts +0 -118
- package/metadata/packages/components/components/syn-combobox/component.styles.ts +0 -393
- package/metadata/packages/components/components/syn-combobox/component.ts +0 -1684
- package/metadata/packages/components/components/syn-combobox/component.vue +0 -350
- package/metadata/packages/components/components/syn-details/component.angular.ts +0 -186
- package/metadata/packages/components/components/syn-details/component.react.ts +0 -65
- package/metadata/packages/components/components/syn-details/component.styles.ts +0 -181
- package/metadata/packages/components/components/syn-details/component.ts +0 -261
- package/metadata/packages/components/components/syn-details/component.vue +0 -136
- package/metadata/packages/components/components/syn-dialog/component.angular.ts +0 -201
- package/metadata/packages/components/components/syn-dialog/component.react.ts +0 -91
- package/metadata/packages/components/components/syn-dialog/component.styles.ts +0 -130
- package/metadata/packages/components/components/syn-dialog/component.ts +0 -367
- package/metadata/packages/components/components/syn-dialog/component.vue +0 -169
- package/metadata/packages/components/components/syn-divider/component.angular.ts +0 -55
- package/metadata/packages/components/components/syn-divider/component.react.ts +0 -29
- package/metadata/packages/components/components/syn-divider/component.styles.ts +0 -22
- package/metadata/packages/components/components/syn-divider/component.ts +0 -34
- package/metadata/packages/components/components/syn-divider/component.vue +0 -51
- package/metadata/packages/components/components/syn-drawer/component.angular.ts +0 -234
- package/metadata/packages/components/components/syn-drawer/component.custom.styles.ts +0 -78
- package/metadata/packages/components/components/syn-drawer/component.react.ts +0 -98
- package/metadata/packages/components/components/syn-drawer/component.styles.ts +0 -158
- package/metadata/packages/components/components/syn-drawer/component.ts +0 -489
- package/metadata/packages/components/components/syn-drawer/component.vue +0 -188
- package/metadata/packages/components/components/syn-dropdown/component.angular.ts +0 -208
- package/metadata/packages/components/components/syn-dropdown/component.react.ts +0 -59
- package/metadata/packages/components/components/syn-dropdown/component.styles.ts +0 -51
- package/metadata/packages/components/components/syn-dropdown/component.ts +0 -469
- package/metadata/packages/components/components/syn-dropdown/component.vue +0 -152
- package/metadata/packages/components/components/syn-file/component.angular.ts +0 -372
- package/metadata/packages/components/components/syn-file/component.react.ts +0 -85
- package/metadata/packages/components/components/syn-file/component.styles.ts +0 -197
- package/metadata/packages/components/components/syn-file/component.ts +0 -645
- package/metadata/packages/components/components/syn-file/component.vue +0 -256
- package/metadata/packages/components/components/syn-header/component.angular.ts +0 -149
- package/metadata/packages/components/components/syn-header/component.react.ts +0 -68
- package/metadata/packages/components/components/syn-header/component.styles.ts +0 -143
- package/metadata/packages/components/components/syn-header/component.ts +0 -310
- package/metadata/packages/components/components/syn-header/component.vue +0 -126
- package/metadata/packages/components/components/syn-icon/component.angular.ts +0 -115
- package/metadata/packages/components/components/syn-icon/component.custom.styles.ts +0 -5
- package/metadata/packages/components/components/syn-icon/component.react.ts +0 -41
- package/metadata/packages/components/components/syn-icon/component.styles.ts +0 -18
- package/metadata/packages/components/components/syn-icon/component.ts +0 -227
- package/metadata/packages/components/components/syn-icon/component.vue +0 -100
- package/metadata/packages/components/components/syn-icon-button/component.angular.ts +0 -185
- package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +0 -79
- package/metadata/packages/components/components/syn-icon-button/component.react.ts +0 -42
- package/metadata/packages/components/components/syn-icon-button/component.styles.ts +0 -52
- package/metadata/packages/components/components/syn-icon-button/component.ts +0 -147
- package/metadata/packages/components/components/syn-icon-button/component.vue +0 -132
- package/metadata/packages/components/components/syn-input/component.angular.ts +0 -608
- package/metadata/packages/components/components/syn-input/component.custom.styles.ts +0 -278
- package/metadata/packages/components/components/syn-input/component.react.ts +0 -91
- package/metadata/packages/components/components/syn-input/component.styles.ts +0 -280
- package/metadata/packages/components/components/syn-input/component.ts +0 -941
- package/metadata/packages/components/components/syn-input/component.vue +0 -370
- package/metadata/packages/components/components/syn-menu/component.angular.ts +0 -52
- package/metadata/packages/components/components/syn-menu/component.react.ts +0 -36
- package/metadata/packages/components/components/syn-menu/component.styles.ts +0 -37
- package/metadata/packages/components/components/syn-menu/component.ts +0 -191
- package/metadata/packages/components/components/syn-menu/component.vue +0 -48
- package/metadata/packages/components/components/syn-menu-item/component.angular.ts +0 -121
- package/metadata/packages/components/components/syn-menu-item/component.react.ts +0 -45
- package/metadata/packages/components/components/syn-menu-item/component.styles.ts +0 -285
- package/metadata/packages/components/components/syn-menu-item/component.ts +0 -201
- package/metadata/packages/components/components/syn-menu-item/component.vue +0 -91
- package/metadata/packages/components/components/syn-menu-label/component.angular.ts +0 -48
- package/metadata/packages/components/components/syn-menu-label/component.react.ts +0 -35
- package/metadata/packages/components/components/syn-menu-label/component.styles.ts +0 -31
- package/metadata/packages/components/components/syn-menu-label/component.ts +0 -46
- package/metadata/packages/components/components/syn-menu-label/component.vue +0 -41
- package/metadata/packages/components/components/syn-nav-item/component.angular.ts +0 -242
- package/metadata/packages/components/components/syn-nav-item/component.react.ts +0 -82
- package/metadata/packages/components/components/syn-nav-item/component.styles.ts +0 -333
- package/metadata/packages/components/components/syn-nav-item/component.ts +0 -491
- package/metadata/packages/components/components/syn-nav-item/component.vue +0 -182
- package/metadata/packages/components/components/syn-optgroup/component.angular.ts +0 -79
- package/metadata/packages/components/components/syn-optgroup/component.react.ts +0 -41
- package/metadata/packages/components/components/syn-optgroup/component.styles.ts +0 -61
- package/metadata/packages/components/components/syn-optgroup/component.ts +0 -176
- package/metadata/packages/components/components/syn-optgroup/component.vue +0 -71
- package/metadata/packages/components/components/syn-option/component.angular.ts +0 -79
- package/metadata/packages/components/components/syn-option/component.react.ts +0 -37
- package/metadata/packages/components/components/syn-option/component.styles.ts +0 -165
- package/metadata/packages/components/components/syn-option/component.ts +0 -191
- package/metadata/packages/components/components/syn-option/component.vue +0 -71
- package/metadata/packages/components/components/syn-pagination/component.angular.ts +0 -201
- package/metadata/packages/components/components/syn-pagination/component.react.ts +0 -56
- package/metadata/packages/components/components/syn-pagination/component.styles.ts +0 -128
- package/metadata/packages/components/components/syn-pagination/component.ts +0 -452
- package/metadata/packages/components/components/syn-pagination/component.vue +0 -144
- package/metadata/packages/components/components/syn-popup/component.angular.ts +0 -372
- package/metadata/packages/components/components/syn-popup/component.react.ts +0 -55
- package/metadata/packages/components/components/syn-popup/component.styles.ts +0 -70
- package/metadata/packages/components/components/syn-popup/component.ts +0 -582
- package/metadata/packages/components/components/syn-popup/component.vue +0 -233
- package/metadata/packages/components/components/syn-prio-nav/component.angular.ts +0 -67
- package/metadata/packages/components/components/syn-prio-nav/component.react.ts +0 -54
- package/metadata/packages/components/components/syn-prio-nav/component.styles.ts +0 -48
- package/metadata/packages/components/components/syn-prio-nav/component.ts +0 -288
- package/metadata/packages/components/components/syn-prio-nav/component.vue +0 -60
- package/metadata/packages/components/components/syn-progress-bar/component.angular.ts +0 -85
- package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +0 -24
- package/metadata/packages/components/components/syn-progress-bar/component.react.ts +0 -37
- package/metadata/packages/components/components/syn-progress-bar/component.styles.ts +0 -87
- package/metadata/packages/components/components/syn-progress-bar/component.ts +0 -67
- package/metadata/packages/components/components/syn-progress-bar/component.vue +0 -71
- package/metadata/packages/components/components/syn-progress-ring/component.angular.ts +0 -72
- package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +0 -19
- package/metadata/packages/components/components/syn-progress-ring/component.react.ts +0 -37
- package/metadata/packages/components/components/syn-progress-ring/component.styles.ts +0 -70
- package/metadata/packages/components/components/syn-progress-ring/component.ts +0 -83
- package/metadata/packages/components/components/syn-progress-ring/component.vue +0 -66
- package/metadata/packages/components/components/syn-radio/component.angular.ts +0 -122
- package/metadata/packages/components/components/syn-radio/component.react.ts +0 -48
- package/metadata/packages/components/components/syn-radio/component.styles.ts +0 -179
- package/metadata/packages/components/components/syn-radio/component.ts +0 -131
- package/metadata/packages/components/components/syn-radio/component.vue +0 -104
- package/metadata/packages/components/components/syn-radio-button/component.angular.ts +0 -123
- package/metadata/packages/components/components/syn-radio-button/component.react.ts +0 -49
- package/metadata/packages/components/components/syn-radio-button/component.styles.ts +0 -30
- package/metadata/packages/components/components/syn-radio-button/component.ts +0 -142
- package/metadata/packages/components/components/syn-radio-button/component.vue +0 -105
- package/metadata/packages/components/components/syn-radio-group/component.angular.ts +0 -204
- package/metadata/packages/components/components/syn-radio-group/component.react.ts +0 -56
- package/metadata/packages/components/components/syn-radio-group/component.styles.ts +0 -58
- package/metadata/packages/components/components/syn-radio-group/component.ts +0 -440
- package/metadata/packages/components/components/syn-radio-group/component.vue +0 -158
- package/metadata/packages/components/components/syn-range/component.angular.ts +0 -347
- package/metadata/packages/components/components/syn-range/component.react.ts +0 -92
- package/metadata/packages/components/components/syn-range/component.styles.ts +0 -310
- package/metadata/packages/components/components/syn-range/component.ts +0 -933
- package/metadata/packages/components/components/syn-range/component.vue +0 -245
- package/metadata/packages/components/components/syn-range-tick/component.angular.ts +0 -59
- package/metadata/packages/components/components/syn-range-tick/component.react.ts +0 -33
- package/metadata/packages/components/components/syn-range-tick/component.styles.ts +0 -34
- package/metadata/packages/components/components/syn-range-tick/component.ts +0 -50
- package/metadata/packages/components/components/syn-range-tick/component.vue +0 -57
- package/metadata/packages/components/components/syn-resize-observer/component.styles.ts +0 -9
- package/metadata/packages/components/components/syn-resize-observer/component.ts +0 -91
- package/metadata/packages/components/components/syn-select/component.angular.ts +0 -439
- package/metadata/packages/components/components/syn-select/component.react.ts +0 -101
- package/metadata/packages/components/components/syn-select/component.styles.ts +0 -380
- package/metadata/packages/components/components/syn-select/component.ts +0 -1056
- package/metadata/packages/components/components/syn-select/component.vue +0 -301
- package/metadata/packages/components/components/syn-side-nav/component.angular.ts +0 -210
- package/metadata/packages/components/components/syn-side-nav/component.react.ts +0 -95
- package/metadata/packages/components/components/syn-side-nav/component.styles.ts +0 -142
- package/metadata/packages/components/components/syn-side-nav/component.ts +0 -458
- package/metadata/packages/components/components/syn-side-nav/component.vue +0 -188
- package/metadata/packages/components/components/syn-spinner/component.angular.ts +0 -44
- package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +0 -32
- package/metadata/packages/components/components/syn-spinner/component.react.ts +0 -31
- package/metadata/packages/components/components/syn-spinner/component.styles.ts +0 -48
- package/metadata/packages/components/components/syn-spinner/component.ts +0 -35
- package/metadata/packages/components/components/syn-spinner/component.vue +0 -35
- package/metadata/packages/components/components/syn-switch/component.angular.ts +0 -257
- package/metadata/packages/components/components/syn-switch/component.react.ts +0 -63
- package/metadata/packages/components/components/syn-switch/component.styles.ts +0 -252
- package/metadata/packages/components/components/syn-switch/component.ts +0 -279
- package/metadata/packages/components/components/syn-switch/component.vue +0 -183
- package/metadata/packages/components/components/syn-tab/component.angular.ts +0 -109
- package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +0 -94
- package/metadata/packages/components/components/syn-tab/component.react.ts +0 -42
- package/metadata/packages/components/components/syn-tab/component.styles.ts +0 -70
- package/metadata/packages/components/components/syn-tab/component.ts +0 -125
- package/metadata/packages/components/components/syn-tab/component.vue +0 -91
- package/metadata/packages/components/components/syn-tab-group/component.angular.ts +0 -166
- package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +0 -218
- package/metadata/packages/components/components/syn-tab-group/component.react.ts +0 -58
- package/metadata/packages/components/components/syn-tab-group/component.styles.ts +0 -193
- package/metadata/packages/components/components/syn-tab-group/component.ts +0 -551
- package/metadata/packages/components/components/syn-tab-group/component.vue +0 -126
- package/metadata/packages/components/components/syn-tab-panel/component.angular.ts +0 -68
- package/metadata/packages/components/components/syn-tab-panel/component.custom.styles.ts +0 -8
- package/metadata/packages/components/components/syn-tab-panel/component.react.ts +0 -31
- package/metadata/packages/components/components/syn-tab-panel/component.styles.ts +0 -20
- package/metadata/packages/components/components/syn-tab-panel/component.ts +0 -60
- package/metadata/packages/components/components/syn-tab-panel/component.vue +0 -60
- package/metadata/packages/components/components/syn-tag/component.angular.ts +0 -83
- package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +0 -121
- package/metadata/packages/components/components/syn-tag/component.react.ts +0 -43
- package/metadata/packages/components/components/syn-tag/component.styles.ts +0 -58
- package/metadata/packages/components/components/syn-tag/component.ts +0 -83
- package/metadata/packages/components/components/syn-tag/component.vue +0 -81
- package/metadata/packages/components/components/syn-tag-group/component.angular.ts +0 -83
- package/metadata/packages/components/components/syn-tag-group/component.react.ts +0 -33
- package/metadata/packages/components/components/syn-tag-group/component.styles.ts +0 -49
- package/metadata/packages/components/components/syn-tag-group/component.ts +0 -95
- package/metadata/packages/components/components/syn-tag-group/component.vue +0 -69
- package/metadata/packages/components/components/syn-textarea/component.angular.ts +0 -396
- package/metadata/packages/components/components/syn-textarea/component.react.ts +0 -60
- package/metadata/packages/components/components/syn-textarea/component.styles.ts +0 -208
- package/metadata/packages/components/components/syn-textarea/component.ts +0 -400
- package/metadata/packages/components/components/syn-textarea/component.vue +0 -244
- package/metadata/packages/components/components/syn-tooltip/component.angular.ts +0 -196
- package/metadata/packages/components/components/syn-tooltip/component.react.ts +0 -63
- package/metadata/packages/components/components/syn-tooltip/component.styles.ts +0 -62
- package/metadata/packages/components/components/syn-tooltip/component.ts +0 -312
- package/metadata/packages/components/components/syn-tooltip/component.vue +0 -150
- package/metadata/packages/components/components/syn-validate/component.angular.ts +0 -137
- package/metadata/packages/components/components/syn-validate/component.react.ts +0 -44
- package/metadata/packages/components/components/syn-validate/component.styles.ts +0 -9
- package/metadata/packages/components/components/syn-validate/component.ts +0 -590
- package/metadata/packages/components/components/syn-validate/component.vue +0 -107
- package/metadata/packages/components/migration/BREAKING_CHANGES.md +0 -908
- package/metadata/packages/components/static/CHANGELOG.md +0 -2155
- package/metadata/packages/components/static/LIMITATIONS.md +0 -433
- package/metadata/packages/components/static/README.md +0 -231
- package/metadata/packages/fonts/CHANGELOG.md +0 -57
- package/metadata/packages/fonts/README.md +0 -164
- package/metadata/packages/fonts/package.json +0 -72
- package/metadata/packages/react/LIMITATIONS.md +0 -31
- package/metadata/packages/react/README.md +0 -262
- package/metadata/packages/styles/BREAKING_CHANGES.md +0 -105
- package/metadata/packages/styles/CHANGELOG.md +0 -188
- package/metadata/packages/styles/README.md +0 -132
- package/metadata/packages/styles/index.css +0 -300
- package/metadata/packages/styles/link-list.css +0 -47
- package/metadata/packages/styles/link.css +0 -81
- package/metadata/packages/styles/tables.css +0 -132
- package/metadata/packages/styles/typography.css +0 -52
- package/metadata/packages/tokens/BREAKING_CHANGES.md +0 -180
- package/metadata/packages/tokens/CHANGELOG.md +0 -959
- package/metadata/packages/tokens/README.md +0 -435
- package/metadata/packages/tokens/dark.css +0 -454
- package/metadata/packages/tokens/index.js +0 -2224
- package/metadata/packages/tokens/light.css +0 -454
- package/metadata/packages/tokens/sick2018_dark.css +0 -454
- package/metadata/packages/tokens/sick2018_light.css +0 -454
- package/metadata/packages/tokens/sick2025_dark.css +0 -454
- package/metadata/packages/tokens/sick2025_light.css +0 -454
- package/metadata/packages/vue/LIMITATIONS.md +0 -53
- package/metadata/packages/vue/README.md +0 -252
- package/metadata/static/assets/index.md +0 -10
- package/metadata/static/components/index.md +0 -10
- package/metadata/static/components/syn-accordion/docs.md +0 -449
- package/metadata/static/components/syn-alert/docs.md +0 -282
- package/metadata/static/components/syn-badge/docs.md +0 -106
- package/metadata/static/components/syn-breadcrumb/docs.md +0 -265
- package/metadata/static/components/syn-breadcrumb-item/docs.md +0 -49
- package/metadata/static/components/syn-button/docs.md +0 -472
- package/metadata/static/components/syn-button-group/docs.md +0 -259
- package/metadata/static/components/syn-card/docs.md +0 -314
- package/metadata/static/components/syn-checkbox/docs.md +0 -176
- package/metadata/static/components/syn-combobox/docs.md +0 -2633
- package/metadata/static/components/syn-details/docs.md +0 -227
- package/metadata/static/components/syn-dialog/docs.md +0 -220
- package/metadata/static/components/syn-divider/docs.md +0 -77
- package/metadata/static/components/syn-drawer/docs.md +0 -269
- package/metadata/static/components/syn-dropdown/docs.md +0 -316
- package/metadata/static/components/syn-file/docs.md +0 -239
- package/metadata/static/components/syn-header/docs.md +0 -209
- package/metadata/static/components/syn-icon/docs.md +0 -177
- package/metadata/static/components/syn-icon-button/docs.md +0 -142
- package/metadata/static/components/syn-input/docs.md +0 -462
- package/metadata/static/components/syn-menu/docs.md +0 -162
- package/metadata/static/components/syn-menu-item/docs.md +0 -216
- package/metadata/static/components/syn-menu-label/docs.md +0 -29
- package/metadata/static/components/syn-nav-item/docs.md +0 -166
- package/metadata/static/components/syn-optgroup/docs.md +0 -167
- package/metadata/static/components/syn-option/docs.md +0 -137
- package/metadata/static/components/syn-pagination/docs.md +0 -102
- package/metadata/static/components/syn-popup/docs.md +0 -812
- package/metadata/static/components/syn-prio-nav/docs.md +0 -54
- package/metadata/static/components/syn-progress-bar/docs.md +0 -77
- package/metadata/static/components/syn-progress-ring/docs.md +0 -89
- package/metadata/static/components/syn-radio/docs.md +0 -178
- package/metadata/static/components/syn-radio-group/docs.md +0 -484
- package/metadata/static/components/syn-range/docs.md +0 -438
- package/metadata/static/components/syn-range-tick/docs.md +0 -110
- package/metadata/static/components/syn-select/docs.md +0 -811
- package/metadata/static/components/syn-side-nav/docs.md +0 -593
- package/metadata/static/components/syn-spinner/docs.md +0 -45
- package/metadata/static/components/syn-switch/docs.md +0 -121
- package/metadata/static/components/syn-tab/docs.md +0 -47
- package/metadata/static/components/syn-tab-group/docs.md +0 -1094
- package/metadata/static/components/syn-tab-panel/docs.md +0 -91
- package/metadata/static/components/syn-tag/docs.md +0 -50
- package/metadata/static/components/syn-tag-group/docs.md +0 -269
- package/metadata/static/components/syn-textarea/docs.md +0 -215
- package/metadata/static/components/syn-tooltip/docs.md +0 -217
- package/metadata/static/components/syn-validate/docs.md +0 -305
- package/metadata/static/fonts/index.md +0 -4
- package/metadata/static/migration/index.md +0 -57
- package/metadata/static/migration/v2-2018-to-v2-2025.md +0 -481
- package/metadata/static/migration/v2-2018-to-v3-2018.md +0 -147
- package/metadata/static/migration/v2-2018-to-v3-2025.md +0 -150
- package/metadata/static/migration/v2-2025-to-v3-2025.md +0 -133
- package/metadata/static/setup/icon-usage.md +0 -411
- package/metadata/static/setup/prerequisites.md +0 -319
- package/metadata/static/styles/syn-body.md +0 -5
- package/metadata/static/styles/syn-heading.md +0 -5
- package/metadata/static/styles/syn-link-list.md +0 -325
- package/metadata/static/styles/syn-link.md +0 -156
- package/metadata/static/styles/syn-table-cell.md +0 -127
- package/metadata/static/styles/syn-table.md +0 -201
- package/metadata/static/styles/syn-weight.md +0 -5
- package/metadata/static/templates/appshell.md +0 -2053
- package/metadata/static/templates/breadcrumb.md +0 -379
- package/metadata/static/templates/footer.md +0 -340
- package/metadata/static/templates/forms.md +0 -558
- package/metadata/static/templates/localization.md +0 -279
- package/metadata/static/templates/table.md +0 -1425
- package/metadata/static/templates/tag-group.md +0 -833
- /package/dist/{build/build.d.ts → utilities/logging-types.js} +0 -0
- /package/{metadata/static/component-info/index.md → rules/component-info.md} +0 -0
package/dist/tools/asset-info.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { searchIcons, } from '@synergy-design-system/metadata';
|
|
3
|
+
import { createToolAnnotations, getRuntimeConfig, getToolRule, toolHandler, } from '../utilities/index.js';
|
|
4
4
|
const iconsetListAliases = {
|
|
5
5
|
sick2018Icons: [
|
|
6
6
|
'legacy',
|
|
@@ -20,7 +20,6 @@ const iconsetListAliases = {
|
|
|
20
20
|
'v3',
|
|
21
21
|
],
|
|
22
22
|
};
|
|
23
|
-
const DEFAULT_LIMIT = 5;
|
|
24
23
|
/**
|
|
25
24
|
* Simple tool to list all available assets in the Synergy Design System.
|
|
26
25
|
* This tool fetches the asset data from the Synergy package and formats it for display.
|
|
@@ -29,21 +28,22 @@ const DEFAULT_LIMIT = 5;
|
|
|
29
28
|
*/
|
|
30
29
|
export const assetInfoTool = (server) => {
|
|
31
30
|
server.registerTool('asset-info', {
|
|
31
|
+
annotations: createToolAnnotations(),
|
|
32
32
|
description: 'Get information about available icons in the Synergy Design System. Will return the full list of icons in a set or just a subset',
|
|
33
33
|
inputSchema: {
|
|
34
34
|
filter: z
|
|
35
35
|
.string()
|
|
36
36
|
.optional()
|
|
37
|
-
.describe('A filter to apply to the icon names. If provided, only icons matching this filter will be returned. Supports multiple filters separated by "
|
|
37
|
+
.describe('A filter to apply to the icon names. If provided, only icons matching this filter will be returned. Supports multiple filters separated by "," (e.g., "home,search,menu" to find icons containing any of these terms).'),
|
|
38
38
|
iconset: z
|
|
39
39
|
.enum([
|
|
40
|
-
'current', // Special key, maps to 2018 currently, should map to 2025 in the next major version
|
|
41
|
-
'default', // Alias for current
|
|
42
40
|
'legacy', // Fallback to 2018
|
|
43
41
|
'v2', // Fallback to 2018
|
|
44
42
|
'synergy2018', // Fallback name of the set for 2018
|
|
45
43
|
'brand2018', // Alternative name of the set for 2018
|
|
46
44
|
'sick2018', // Official name for 2018 (Synergy V2)
|
|
45
|
+
'current', // Special key, maps to 2025.
|
|
46
|
+
'default', // Alias for current
|
|
47
47
|
'brand2025', // Alternative name of the set for 2025
|
|
48
48
|
'sick2025', // Official name for 2025 (Synergy V3)
|
|
49
49
|
'synergy2025', // Alias for sick2025
|
|
@@ -51,92 +51,48 @@ export const assetInfoTool = (server) => {
|
|
|
51
51
|
'next', // Alias for sick2025
|
|
52
52
|
'v3', // Done for completeness, maps to 2025
|
|
53
53
|
])
|
|
54
|
-
.default('current')
|
|
55
54
|
.optional()
|
|
56
55
|
.describe('The name of the icon set to retrieve icons from.'),
|
|
57
56
|
limit: z
|
|
58
57
|
.number()
|
|
59
|
-
.default(DEFAULT_LIMIT)
|
|
60
58
|
.optional()
|
|
61
|
-
.describe(
|
|
59
|
+
.describe('The maximum number of icons to return. Defaults to unlimited. When using multiple filters (comma-separated), this limit applies per filter term.'),
|
|
62
60
|
},
|
|
63
61
|
title: 'Available Icons',
|
|
64
|
-
}, async ({ filter, iconset, limit,
|
|
65
|
-
|
|
66
|
-
}) => {
|
|
62
|
+
}, toolHandler('asset-info', async ({ filter, iconset, limit, }) => {
|
|
63
|
+
const resolvedIconset = iconset ?? getRuntimeConfig().tools.assetInfo.iconset;
|
|
67
64
|
// Get the iconset that should be used by key/value of iconsetListAliases
|
|
68
|
-
const setToUse =
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
//
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
// Original single filter behavior
|
|
102
|
-
availableIcons = Object
|
|
103
|
-
.keys(foundIconSet)
|
|
104
|
-
.filter(iconName => iconName.toLowerCase().includes(lowerFilter));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// For single filters or no filter, apply the limit normally
|
|
108
|
-
const limitedIcons = (!filter || !filter.includes('|')) && (limit ?? DEFAULT_LIMIT) > 0
|
|
109
|
-
? availableIcons.slice(0, limit ?? DEFAULT_LIMIT)
|
|
110
|
-
: availableIcons;
|
|
111
|
-
const icons = limitedIcons.map(icon => `- ${icon}`).join('\n');
|
|
112
|
-
const content = [
|
|
113
|
-
{
|
|
114
|
-
text: `Available icons in iconset "${setToUse}":`,
|
|
115
|
-
type: 'text',
|
|
116
|
-
},
|
|
117
|
-
{
|
|
118
|
-
text: `Showing ${limitedIcons.length} of ${availableIcons.length} icons`,
|
|
119
|
-
type: 'text',
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
text: icons,
|
|
123
|
-
type: 'text',
|
|
124
|
-
},
|
|
65
|
+
const setToUse = Object
|
|
66
|
+
.entries(iconsetListAliases)
|
|
67
|
+
.find(([, aliases]) => aliases.includes(resolvedIconset))?.[0] || 'sick2025Icons';
|
|
68
|
+
// Decide which icon sets to use based on the provided iconset key, if no key is provided use the default which is currently sick2025Icons
|
|
69
|
+
const assetId = setToUse === 'sick2025Icons'
|
|
70
|
+
? ['sick2025-icons-fill', 'sick2025-icons-outline']
|
|
71
|
+
: 'sick2018-icons';
|
|
72
|
+
// Create the tags filter
|
|
73
|
+
const tags = filter ? filter.toLowerCase().split(',').map(term => term.trim()) : [];
|
|
74
|
+
const newAvailableIcons = await searchIcons({ assetId, tags }, { limit });
|
|
75
|
+
// Final stripped down version of the icons to return, we only want to return the name, categories and variant for simplicity
|
|
76
|
+
const icons = newAvailableIcons.data.map(icon => ({
|
|
77
|
+
categories: icon.categories.length > 0 ? icon.categories : ['uncategorized'],
|
|
78
|
+
icon: icon.iconName,
|
|
79
|
+
variant: icon.variant,
|
|
80
|
+
}));
|
|
81
|
+
// Group the icons by the first category found
|
|
82
|
+
const iconsByCategory = Object.groupBy(icons, icon => icon.categories.at(0) ?? 'uncategorized');
|
|
83
|
+
// Remove the categories from the icons, we only want to return the name and variant at this point since we are grouping by category already
|
|
84
|
+
const finalIcons = Object.fromEntries(Object.entries(iconsByCategory).map(([category, iconsInCategory]) => [
|
|
85
|
+
category,
|
|
86
|
+
iconsInCategory?.map(({ icon, variant }) => ({
|
|
87
|
+
icon,
|
|
88
|
+
variant,
|
|
89
|
+
})),
|
|
90
|
+
]));
|
|
91
|
+
// Get the AI rules for this tool, used as a preface for LLM output quality.
|
|
92
|
+
const aiRules = await getToolRule('asset-info');
|
|
93
|
+
return [
|
|
94
|
+
aiRules,
|
|
95
|
+
finalIcons,
|
|
125
96
|
];
|
|
126
|
-
|
|
127
|
-
const assetData = await getAssetsMetaData((fileName) => !fileName.toLowerCase().startsWith('changelog'));
|
|
128
|
-
return {
|
|
129
|
-
content: [
|
|
130
|
-
{
|
|
131
|
-
text: JSON.stringify(aiRules, null, 2),
|
|
132
|
-
type: 'text',
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
text: JSON.stringify(assetData, null, 2),
|
|
136
|
-
type: 'text',
|
|
137
|
-
},
|
|
138
|
-
...content,
|
|
139
|
-
],
|
|
140
|
-
};
|
|
141
|
-
});
|
|
97
|
+
}));
|
|
142
98
|
};
|
package/dist/tools/asset-list.js
CHANGED
|
@@ -1,40 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { listAssets } from '@synergy-design-system/metadata';
|
|
2
|
+
import { createToolAnnotations, getToolRule, toolHandler, } from '../utilities/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* Simple tool to list all available iconsets in the Synergy Design System.
|
|
4
5
|
* @param server - The MCP server instance to register the tool on.
|
|
5
6
|
*/
|
|
6
7
|
export const assetListTool = (server) => {
|
|
7
8
|
server.registerTool('asset-list', {
|
|
9
|
+
annotations: createToolAnnotations(),
|
|
8
10
|
description: 'Get the available iconsets in the Synergy Design System.',
|
|
11
|
+
inputSchema: {},
|
|
9
12
|
title: 'Available iconsets',
|
|
10
|
-
}, async () => {
|
|
11
|
-
const aiRules = await
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
description: 'New icon set for the brand 2025 refresh. Use this for projects using Synergy Major Version 3.0.',
|
|
31
|
-
iconset: 'sick2025Icons',
|
|
32
|
-
title: 'Synergy 2025 Icons',
|
|
33
|
-
},
|
|
34
|
-
], null, 2),
|
|
35
|
-
type: 'text',
|
|
36
|
-
},
|
|
37
|
-
],
|
|
38
|
-
};
|
|
39
|
-
});
|
|
13
|
+
}, toolHandler('asset-list', async () => {
|
|
14
|
+
const aiRules = await getToolRule('asset-list');
|
|
15
|
+
const allAssets = await listAssets();
|
|
16
|
+
const assets = allAssets.data
|
|
17
|
+
.map(asset => ({
|
|
18
|
+
iconCount: asset.custom?.iconCount,
|
|
19
|
+
id: asset.id,
|
|
20
|
+
name: asset.name,
|
|
21
|
+
since: asset.since,
|
|
22
|
+
theme: asset.custom?.theme ?? 'default',
|
|
23
|
+
}))
|
|
24
|
+
.toSorted((a, b) => a.name.localeCompare(b.name));
|
|
25
|
+
const groupedAssets = Object.groupBy(assets, asset => asset.theme);
|
|
26
|
+
return [
|
|
27
|
+
aiRules,
|
|
28
|
+
groupedAssets,
|
|
29
|
+
];
|
|
30
|
+
}));
|
|
40
31
|
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
/**
|
|
3
|
+
* Lists available component clusters so callers can use them as filters
|
|
4
|
+
* in tools like `component-list`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const componentClusterListTool: (server: McpServer) => void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { listComponentClusters } from '@synergy-design-system/metadata';
|
|
2
|
+
import { createToolAnnotations, getToolRule, toolHandler, } from '../utilities/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Lists available component clusters so callers can use them as filters
|
|
5
|
+
* in tools like `component-list`.
|
|
6
|
+
*/
|
|
7
|
+
export const componentClusterListTool = (server) => {
|
|
8
|
+
server.registerTool('component-cluster-list', {
|
|
9
|
+
annotations: createToolAnnotations(),
|
|
10
|
+
description: 'Outputs all available component clusters in the Synergy Design System',
|
|
11
|
+
inputSchema: {},
|
|
12
|
+
title: 'Components by cluster',
|
|
13
|
+
}, toolHandler('component-cluster-list', async () => {
|
|
14
|
+
const aiRules = await getToolRule('component-cluster-list');
|
|
15
|
+
const clusters = await listComponentClusters();
|
|
16
|
+
// Adjust the clusters data so it just outputs the relevant information:
|
|
17
|
+
// - Cluster information (name, description, etc.)
|
|
18
|
+
// - Component names within each cluster (instead of full metadata entities)
|
|
19
|
+
const output = clusters.data.map(cluster => ({
|
|
20
|
+
components: cluster.componentIds.map(id => id.split(':').at(-1)),
|
|
21
|
+
description: cluster.description,
|
|
22
|
+
id: cluster.id,
|
|
23
|
+
name: cluster.name,
|
|
24
|
+
}));
|
|
25
|
+
return [
|
|
26
|
+
aiRules,
|
|
27
|
+
output,
|
|
28
|
+
];
|
|
29
|
+
}));
|
|
30
|
+
};
|
|
@@ -1,34 +1,51 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { getDataForComponent, } from '@synergy-design-system/metadata';
|
|
3
|
+
import { createToolAnnotations, getRuntimeConfig, getToolRule, toolHandler, } from '../utilities/index.js';
|
|
3
4
|
/**
|
|
4
5
|
* Simple tool to retrieve information about a given component in the Synergy Design System.
|
|
5
6
|
* @param server - The MCP server instance to register the tool on.
|
|
6
7
|
*/
|
|
7
8
|
export const componentInfoTool = (server) => {
|
|
8
9
|
server.registerTool('component-info', {
|
|
10
|
+
annotations: createToolAnnotations(),
|
|
9
11
|
description: 'Get information about the usage of a specific component in the Synergy Design System',
|
|
10
12
|
inputSchema: {
|
|
11
13
|
component: z.string().startsWith('syn-').describe('The name of the component to get information about.'),
|
|
12
|
-
framework: z.enum(['react', 'vue', 'angular', 'vanilla']).
|
|
14
|
+
framework: z.enum(['react', 'vue', 'angular', 'vanilla']).optional().describe('The framework of the component, e.g., "react", "vue", etc.'),
|
|
15
|
+
layer: z.enum(['full', 'examples', 'interface'])
|
|
16
|
+
.optional()
|
|
17
|
+
.describe('Defines which type of information to return. full = filtered source files (useful for debugging), examples = markdown examples, interface = markdown API overview. Examples and interface are only available for vanilla components at the moment.'),
|
|
13
18
|
},
|
|
14
19
|
title: 'Component info',
|
|
15
|
-
}, async ({ component, framework, }) => {
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
}, toolHandler('component-info', async ({ component, framework, layer, }) => {
|
|
21
|
+
const { tools } = getRuntimeConfig();
|
|
22
|
+
const resolvedFramework = framework ?? tools.componentInfo.framework;
|
|
23
|
+
const resolvedLayer = layer ?? tools.componentInfo.layer;
|
|
24
|
+
const metadata = await getDataForComponent(component, {
|
|
25
|
+
framework: resolvedFramework,
|
|
26
|
+
layer: resolvedLayer,
|
|
27
|
+
});
|
|
28
|
+
const aiRules = await getToolRule('component-info');
|
|
29
|
+
const frameworkRules = resolvedFramework !== 'vanilla' ? await getToolRule(`component-info-${resolvedFramework}`) : undefined;
|
|
30
|
+
if (!metadata.data) {
|
|
31
|
+
const notFoundMessage = metadata.errors?.[0]?.message ?? `No metadata found for component ${component}`;
|
|
32
|
+
return [notFoundMessage];
|
|
33
|
+
}
|
|
34
|
+
let finalContent = [];
|
|
35
|
+
switch (metadata.data.layer) {
|
|
36
|
+
case 'interface':
|
|
37
|
+
finalContent = metadata.data.interface?.map((entry) => entry.content) ?? [];
|
|
38
|
+
break;
|
|
39
|
+
case 'examples':
|
|
40
|
+
finalContent = metadata.data.examples?.map((entry) => entry.content) ?? [];
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
finalContent = [metadata.data];
|
|
44
|
+
}
|
|
45
|
+
const rules = [aiRules, frameworkRules].filter(Boolean);
|
|
46
|
+
const withRules = [...rules, ...finalContent];
|
|
47
|
+
return finalContent.length > 0
|
|
48
|
+
? withRules
|
|
49
|
+
: [`No metadata content found for component ${component} in layer ${resolvedLayer}`];
|
|
50
|
+
}));
|
|
34
51
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { listComponentClusters, listComponents, } from '@synergy-design-system/metadata';
|
|
3
|
+
import { createToolAnnotations, getToolRule, toolHandler, } from '../utilities/index.js';
|
|
2
4
|
/**
|
|
3
5
|
* Simple tool to list all available components in the Synergy Design System.
|
|
4
6
|
* This tool fetches the component data from the Synergy package and formats it for display.
|
|
@@ -6,37 +8,40 @@ import { getAvailableComponents, getStructuredMetaData, } from '../utilities/ind
|
|
|
6
8
|
*/
|
|
7
9
|
export const componentListTool = (server) => {
|
|
8
10
|
server.registerTool('component-list', {
|
|
11
|
+
annotations: createToolAnnotations(),
|
|
9
12
|
description: 'Outputs a list of all available components in the Synergy Design System',
|
|
10
|
-
inputSchema: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
inputSchema: {
|
|
14
|
+
cluster: z.string().optional().describe('Optional component cluster id to filter by, e.g. "components-by-tag/structure".'),
|
|
15
|
+
},
|
|
16
|
+
title: 'Component list',
|
|
17
|
+
}, toolHandler('component-list', async ({ cluster, }) => {
|
|
18
|
+
const aiRules = await getToolRule('component-list');
|
|
19
|
+
const clusters = await listComponentClusters();
|
|
20
|
+
const clusterIds = clusters.data.map((entry) => entry.id);
|
|
21
|
+
if (cluster) {
|
|
22
|
+
const requestedCluster = cluster.trim().toLowerCase();
|
|
23
|
+
const clusterExists = clusterIds.some((id) => id.toLowerCase() === requestedCluster);
|
|
24
|
+
if (!clusterExists) {
|
|
25
|
+
return [
|
|
26
|
+
aiRules,
|
|
20
27
|
{
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
availableClusters: clusterIds,
|
|
29
|
+
error: `Unknown cluster '${cluster}'.`,
|
|
23
30
|
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
type: 'text',
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
return {
|
|
33
|
-
content: [
|
|
34
|
-
{
|
|
35
|
-
text: `Error fetching components: ${error.message}`,
|
|
36
|
-
type: 'text',
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
};
|
|
31
|
+
];
|
|
32
|
+
}
|
|
40
33
|
}
|
|
41
|
-
|
|
34
|
+
const components = await listComponents({
|
|
35
|
+
cluster,
|
|
36
|
+
includeLayerRefs: false,
|
|
37
|
+
includeSources: false,
|
|
38
|
+
});
|
|
39
|
+
const componentNames = components.data
|
|
40
|
+
.map(c => c.name)
|
|
41
|
+
.toSorted();
|
|
42
|
+
return [
|
|
43
|
+
aiRules,
|
|
44
|
+
componentNames,
|
|
45
|
+
];
|
|
46
|
+
}));
|
|
42
47
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createToolAnnotations, extractMigrationSection, getMigrationGuideContent, getRuntimeConfig, resolveDavinciPackageAlias, toolHandler, } from '../utilities/index.js';
|
|
3
|
+
export const davinciMigrationInfoTool = (server) => {
|
|
4
|
+
server.registerTool('davinci-migration-info', {
|
|
5
|
+
annotations: createToolAnnotations(),
|
|
6
|
+
description: 'Get information about the migration of a specific component from DaVinci to Synergy.',
|
|
7
|
+
inputSchema: {
|
|
8
|
+
component: z.string().startsWith('davinci-').describe('The name of the davinci component to get migration information for.'),
|
|
9
|
+
package: z.string().optional().describe('Migration package to inspect. Can be "basic-elements", "components", "dashboard-elements", or "charts".'),
|
|
10
|
+
},
|
|
11
|
+
title: 'DaVinci Migration Info',
|
|
12
|
+
}, toolHandler('davinci-migration-info', async ({ component, package: packageName, }) => {
|
|
13
|
+
const packageInput = packageName ?? getRuntimeConfig().tools.davinciMigrationInfo.package;
|
|
14
|
+
const resolvedPackage = resolveDavinciPackageAlias(packageInput);
|
|
15
|
+
const migrationGuide = await getMigrationGuideContent(resolvedPackage);
|
|
16
|
+
const section = extractMigrationSection(migrationGuide, component);
|
|
17
|
+
return section
|
|
18
|
+
? [section]
|
|
19
|
+
: [`No migration information found for component "${component}" in package "${resolvedPackage}".`];
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createToolAnnotations, extractDavinciComponents, getMigrationGuideContent, getRuntimeConfig, resolveDavinciPackageAlias, toolHandler, } from '../utilities/index.js';
|
|
3
|
+
export const davinciMigrationListTool = (server) => {
|
|
4
|
+
server.registerTool('davinci-migration-list', {
|
|
5
|
+
annotations: createToolAnnotations(),
|
|
6
|
+
description: 'Get a list of all components that have migration information from DaVinci to Synergy.',
|
|
7
|
+
inputSchema: {
|
|
8
|
+
package: z.string().optional().describe('Migration package to inspect. Can be "basic-elements", "components", "dashboard-elements", or "charts".'),
|
|
9
|
+
},
|
|
10
|
+
title: 'DaVinci Migration List',
|
|
11
|
+
}, toolHandler('davinci-migration-list', async ({ package: packageName, }) => {
|
|
12
|
+
const packageInput = packageName ?? getRuntimeConfig().tools.davinciMigrationList.package;
|
|
13
|
+
const resolvedPackage = resolveDavinciPackageAlias(packageInput);
|
|
14
|
+
const migrationGuide = await getMigrationGuideContent(resolvedPackage);
|
|
15
|
+
const components = extractDavinciComponents(migrationGuide);
|
|
16
|
+
return components.length > 0
|
|
17
|
+
? [components]
|
|
18
|
+
: [`No DaVinci component migrations found for package "${resolvedPackage}".`];
|
|
19
|
+
}));
|
|
20
|
+
};
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export * from './asset-info.js';
|
|
2
2
|
export * from './asset-list.js';
|
|
3
|
+
export * from './component-cluster-list.js';
|
|
3
4
|
export * from './component-info.js';
|
|
4
5
|
export * from './component-list.js';
|
|
5
|
-
export * from './davinci-migration.js';
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './framework-info.js';
|
|
6
|
+
export * from './davinci-migration-info.js';
|
|
7
|
+
export * from './davinci-migration-list.js';
|
|
8
8
|
export * from './migration-info.js';
|
|
9
9
|
export * from './migration-list.js';
|
|
10
|
+
export * from './setup.js';
|
|
10
11
|
export * from './styles-info.js';
|
|
11
12
|
export * from './styles-list.js';
|
|
12
13
|
export * from './template-list.js';
|
|
13
14
|
export * from './template-info.js';
|
|
14
|
-
export * from './tokens.js';
|
|
15
|
-
export * from './
|
|
15
|
+
export * from './tokens-list.js';
|
|
16
|
+
export * from './token-info.js';
|
package/dist/tools/index.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export * from './asset-info.js';
|
|
2
2
|
export * from './asset-list.js';
|
|
3
|
+
export * from './component-cluster-list.js';
|
|
3
4
|
export * from './component-info.js';
|
|
4
5
|
export * from './component-list.js';
|
|
5
|
-
export * from './davinci-migration.js';
|
|
6
|
-
export * from './
|
|
7
|
-
export * from './framework-info.js';
|
|
6
|
+
export * from './davinci-migration-info.js';
|
|
7
|
+
export * from './davinci-migration-list.js';
|
|
8
8
|
export * from './migration-info.js';
|
|
9
9
|
export * from './migration-list.js';
|
|
10
|
+
export * from './setup.js';
|
|
10
11
|
export * from './styles-info.js';
|
|
11
12
|
export * from './styles-list.js';
|
|
12
13
|
export * from './template-list.js';
|
|
13
14
|
export * from './template-info.js';
|
|
14
|
-
export * from './tokens.js';
|
|
15
|
-
export * from './
|
|
15
|
+
export * from './tokens-list.js';
|
|
16
|
+
export * from './token-info.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { getMigrationMetaData } from '../utilities/index.js';
|
|
2
|
+
import { createToolAnnotations, getMigrationMetaData, getRuntimeConfig, toolHandler, } from '../utilities/index.js';
|
|
3
3
|
/**
|
|
4
4
|
* Tool to retrieve concrete migration documentation for a given package.
|
|
5
5
|
*
|
|
@@ -15,6 +15,7 @@ import { getMigrationMetaData } from '../utilities/index.js';
|
|
|
15
15
|
*/
|
|
16
16
|
export const migrationInfoTool = (server) => {
|
|
17
17
|
server.registerTool('migration-info', {
|
|
18
|
+
annotations: createToolAnnotations(),
|
|
18
19
|
description: 'Get detailed migration documentation for a Synergy package. Use together with `migration-list` to fetch only the documents you need.',
|
|
19
20
|
inputSchema: {
|
|
20
21
|
filename: z.string().optional().describe('Optional filename of the migration document to return. Especially recommended for the components package to avoid fetching all guides at once.'),
|
|
@@ -23,34 +24,22 @@ export const migrationInfoTool = (server) => {
|
|
|
23
24
|
'components',
|
|
24
25
|
'styles',
|
|
25
26
|
'tokens',
|
|
26
|
-
]).
|
|
27
|
+
]).optional().describe('The package to get migration information about.'),
|
|
27
28
|
},
|
|
28
29
|
title: 'Package Migration Information',
|
|
29
|
-
}, async ({ filename, synergyPackage, }) => {
|
|
30
|
-
const selectedPackage = (synergyPackage ??
|
|
30
|
+
}, toolHandler('migration-info', async ({ filename, synergyPackage, }) => {
|
|
31
|
+
const selectedPackage = (synergyPackage ?? getRuntimeConfig().tools.migrationInfo.synergyPackage);
|
|
31
32
|
const metadata = await getMigrationMetaData(selectedPackage);
|
|
32
33
|
// For components, strongly prefer a specific filename so we do not
|
|
33
34
|
// send all path guides at once.
|
|
34
35
|
if (selectedPackage === 'components' && filename) {
|
|
35
36
|
const match = metadata.find(file => file && file.filename === filename);
|
|
36
37
|
if (!match) {
|
|
37
|
-
return
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
text: `No migration document named "${filename}" found for package "${selectedPackage}". Call the 'migration-list' tool first to see the available filenames.",`,
|
|
41
|
-
type: 'text',
|
|
42
|
-
},
|
|
43
|
-
],
|
|
44
|
-
};
|
|
38
|
+
return [
|
|
39
|
+
`No migration document named "${filename}" found for package "${selectedPackage}". Call the 'migration-list' tool first to see the available filenames.`,
|
|
40
|
+
];
|
|
45
41
|
}
|
|
46
|
-
return
|
|
47
|
-
content: [
|
|
48
|
-
{
|
|
49
|
-
text: JSON.stringify(match, null, 2),
|
|
50
|
-
type: 'text',
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
};
|
|
42
|
+
return [JSON.stringify(match, null, 2)];
|
|
54
43
|
}
|
|
55
44
|
// If no filename is given for components, return only the overview
|
|
56
45
|
// index and the high‑level package docs (BREAKING_CHANGES / CHANGELOG)
|
|
@@ -65,25 +54,11 @@ export const migrationInfoTool = (server) => {
|
|
|
65
54
|
// Keep overview and any non path‑guide docs
|
|
66
55
|
return isOverview || !isPathGuide;
|
|
67
56
|
});
|
|
68
|
-
return
|
|
69
|
-
content: [
|
|
70
|
-
{
|
|
71
|
-
text: JSON.stringify(filtered, null, 2),
|
|
72
|
-
type: 'text',
|
|
73
|
-
},
|
|
74
|
-
],
|
|
75
|
-
};
|
|
57
|
+
return [JSON.stringify(filtered, null, 2)];
|
|
76
58
|
}
|
|
77
59
|
// For non‑components packages, or when a filename is not used,
|
|
78
60
|
// fall back to returning all documents. These sets are small
|
|
79
61
|
// (typically CHANGELOG + BREAKING_CHANGES).
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
{
|
|
83
|
-
text: JSON.stringify(metadata, null, 2),
|
|
84
|
-
type: 'text',
|
|
85
|
-
},
|
|
86
|
-
],
|
|
87
|
-
};
|
|
88
|
-
});
|
|
62
|
+
return [JSON.stringify(metadata, null, 2)];
|
|
63
|
+
}));
|
|
89
64
|
};
|