@synergy-design-system/mcp 2.14.1 → 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 +28 -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 -364
- 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-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 -2140
- 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 -949
- 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-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/utilities/config.js
CHANGED
|
@@ -1,81 +1,212 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/**
|
|
4
|
+
* Zod schema for the synergy-mcp.json configuration file.
|
|
5
|
+
* All fields are optional and fall back to built-in defaults when absent.
|
|
6
|
+
*/
|
|
7
|
+
export const McpRuntimeConfigSchema = z.object({
|
|
8
|
+
/**
|
|
9
|
+
* Compression mode for tool response payloads.
|
|
10
|
+
* 'none': No compression (default)
|
|
11
|
+
* 'toon': Use toon format encoding for structured data
|
|
12
|
+
* @default 'none'
|
|
13
|
+
*/
|
|
14
|
+
compression: z.enum(['none', 'toon']).default('none'),
|
|
15
|
+
/**
|
|
16
|
+
* HTTP server host/interface when interface is 'http'.
|
|
17
|
+
* Use 127.0.0.1 for local-only access or 0.0.0.0 to listen on all IPv4 interfaces.
|
|
18
|
+
* @default '127.0.0.1'
|
|
19
|
+
*/
|
|
20
|
+
host: z
|
|
21
|
+
.string()
|
|
22
|
+
.min(1)
|
|
23
|
+
.default('127.0.0.1'),
|
|
24
|
+
/**
|
|
25
|
+
* Whether to prepend AI guidance rules to tool responses.
|
|
26
|
+
* Set to false to strip the rules preface from all tool outputs.
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
includeAiRules: z.boolean().default(true),
|
|
30
|
+
/**
|
|
31
|
+
* Server interface/transport mode.
|
|
32
|
+
* 'stdio': Run over stdin/stdout (default, for editor/CLI integration)
|
|
33
|
+
* 'http': Run as HTTP/HTTPS server (requires --port or config.port)
|
|
34
|
+
* @default 'stdio'
|
|
35
|
+
*/
|
|
36
|
+
interface: z.enum(['stdio', 'http']).default('stdio'),
|
|
37
|
+
/**
|
|
38
|
+
* Logging configuration.
|
|
39
|
+
* Providers are opt-in; by default no provider is enabled.
|
|
40
|
+
*/
|
|
41
|
+
logging: z.object({
|
|
42
|
+
localFile: z.object({
|
|
43
|
+
/**
|
|
44
|
+
* Base directory for local tool call logs.
|
|
45
|
+
* If null, local file logging is disabled.
|
|
46
|
+
* @default null
|
|
47
|
+
*/
|
|
48
|
+
path: z.string().min(1).nullable().default(null),
|
|
49
|
+
}).default({ path: null }),
|
|
50
|
+
}).default({
|
|
51
|
+
localFile: { path: null },
|
|
52
|
+
}),
|
|
53
|
+
/**
|
|
54
|
+
* HTTP server port when interface is 'http'.
|
|
55
|
+
* Must be between 1 and 65535.
|
|
56
|
+
* @default 9119
|
|
57
|
+
*/
|
|
58
|
+
port: z
|
|
59
|
+
.number()
|
|
60
|
+
.int()
|
|
61
|
+
.min(1)
|
|
62
|
+
.max(65535)
|
|
63
|
+
.default(9119),
|
|
64
|
+
/**
|
|
65
|
+
* TLS configuration for HTTPS mode.
|
|
66
|
+
* Both keyPath and certPath must be provided together to enable HTTPS.
|
|
67
|
+
* If provided, the HTTP server will use HTTPS instead.
|
|
68
|
+
*/
|
|
69
|
+
tls: z.object({
|
|
70
|
+
/**
|
|
71
|
+
* Path to the TLS certificate file (PEM format).
|
|
72
|
+
*/
|
|
73
|
+
certPath: z.string().optional(),
|
|
74
|
+
/**
|
|
75
|
+
* Path to the TLS private key file (PEM format).
|
|
76
|
+
*/
|
|
77
|
+
keyPath: z.string().optional(),
|
|
78
|
+
}).default({}).refine(val => {
|
|
79
|
+
// Both must be present or both must be absent
|
|
80
|
+
const hasKey = val.keyPath !== undefined;
|
|
81
|
+
const hasCert = val.certPath !== undefined;
|
|
82
|
+
return hasKey === hasCert;
|
|
83
|
+
}, {
|
|
84
|
+
message: 'Both tls.keyPath and tls.certPath must be provided together',
|
|
85
|
+
path: ['tls'],
|
|
86
|
+
}),
|
|
87
|
+
/**
|
|
88
|
+
* Per-tool default overrides.
|
|
89
|
+
* Each key corresponds to a tool and contains the subset of that tool's
|
|
90
|
+
* parameters that have configurable defaults.
|
|
91
|
+
*/
|
|
92
|
+
tools: z.object({
|
|
93
|
+
assetInfo: z.object({
|
|
94
|
+
/**
|
|
95
|
+
* Default iconset used when no iconset is provided by the caller.
|
|
96
|
+
* @default 'current'
|
|
97
|
+
*/
|
|
98
|
+
iconset: z.enum([
|
|
99
|
+
'legacy', 'v2', 'synergy2018', 'brand2018', 'sick2018',
|
|
100
|
+
'current', 'default', 'brand2025', 'sick2025', 'synergy2025', 'new', 'next', 'v3',
|
|
101
|
+
]).default('current'),
|
|
102
|
+
}).default({ iconset: 'current' }),
|
|
103
|
+
componentInfo: z.object({
|
|
104
|
+
/**
|
|
105
|
+
* Default framework when no framework is provided by the caller.
|
|
106
|
+
* @default 'vanilla'
|
|
107
|
+
*/
|
|
108
|
+
framework: z.enum(['react', 'vue', 'angular', 'vanilla']).default('vanilla'),
|
|
109
|
+
/**
|
|
110
|
+
* Default metadata layer when no layer is provided by the caller.
|
|
111
|
+
* @default 'interface'
|
|
112
|
+
*/
|
|
113
|
+
layer: z.enum(['full', 'examples', 'interface']).default('interface'),
|
|
114
|
+
}).default({ framework: 'vanilla', layer: 'interface' }),
|
|
115
|
+
davinciMigrationInfo: z.object({
|
|
116
|
+
/**
|
|
117
|
+
* Default migration package when none is provided by the caller.
|
|
118
|
+
* @default 'basic-elements'
|
|
119
|
+
*/
|
|
120
|
+
package: z.enum(['basic-elements', 'dashboard-elements']).default('basic-elements'),
|
|
121
|
+
}).default({ package: 'basic-elements' }),
|
|
122
|
+
davinciMigrationList: z.object({
|
|
123
|
+
/**
|
|
124
|
+
* Default migration package when none is provided by the caller.
|
|
125
|
+
* @default 'basic-elements'
|
|
126
|
+
*/
|
|
127
|
+
package: z.enum(['basic-elements', 'dashboard-elements']).default('basic-elements'),
|
|
128
|
+
}).default({ package: 'basic-elements' }),
|
|
129
|
+
migrationInfo: z.object({
|
|
130
|
+
/**
|
|
131
|
+
* Default Synergy package when none is provided by the caller.
|
|
132
|
+
* @default 'components'
|
|
133
|
+
*/
|
|
134
|
+
synergyPackage: z.enum(['assets', 'components', 'styles', 'tokens']).default('components'),
|
|
135
|
+
}).default({ synergyPackage: 'components' }),
|
|
136
|
+
migrationList: z.object({
|
|
137
|
+
/**
|
|
138
|
+
* Default Synergy package when none is provided by the caller.
|
|
139
|
+
* @default 'components'
|
|
140
|
+
*/
|
|
141
|
+
synergyPackage: z.enum(['assets', 'components', 'styles', 'tokens']).default('components'),
|
|
142
|
+
}).default({ synergyPackage: 'components' }),
|
|
143
|
+
setup: z.object({
|
|
144
|
+
/**
|
|
145
|
+
* Whether to include limitations in setup output by default.
|
|
146
|
+
* @default true
|
|
147
|
+
*/
|
|
148
|
+
includeLimitations: z.boolean().default(true),
|
|
149
|
+
}).default({ includeLimitations: true }),
|
|
150
|
+
tokenInfo: z.object({
|
|
151
|
+
/**
|
|
152
|
+
* Default token output type when none is provided by the caller.
|
|
153
|
+
* @default 'css'
|
|
154
|
+
*/
|
|
155
|
+
type: z.enum(['javascript', 'css', 'sass']).default('css'),
|
|
156
|
+
}).default({ type: 'css' }),
|
|
157
|
+
}).default({
|
|
158
|
+
assetInfo: { iconset: 'current' },
|
|
159
|
+
componentInfo: { framework: 'vanilla', layer: 'full' },
|
|
160
|
+
davinciMigrationInfo: { package: 'basic-elements' },
|
|
161
|
+
davinciMigrationList: { package: 'basic-elements' },
|
|
162
|
+
migrationInfo: { synergyPackage: 'components' },
|
|
163
|
+
migrationList: { synergyPackage: 'components' },
|
|
164
|
+
setup: { includeLimitations: true },
|
|
165
|
+
tokenInfo: { type: 'css' },
|
|
166
|
+
}),
|
|
167
|
+
});
|
|
168
|
+
/**
|
|
169
|
+
* Built-in defaults — identical to parsing an empty object through the schema.
|
|
170
|
+
*/
|
|
171
|
+
const DEFAULT_CONFIG = McpRuntimeConfigSchema.parse({});
|
|
172
|
+
let resolvedConfig = DEFAULT_CONFIG;
|
|
173
|
+
/**
|
|
174
|
+
* Replaces the in-memory runtime configuration.
|
|
175
|
+
* Useful when startup code applies CLI overrides after file/default resolution.
|
|
176
|
+
*
|
|
177
|
+
* @param config The fully resolved runtime configuration to use globally.
|
|
178
|
+
*/
|
|
179
|
+
export const setRuntimeConfig = (config) => {
|
|
180
|
+
resolvedConfig = config;
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* Loads the runtime configuration from a JSON file at the given path, validates
|
|
184
|
+
* it against the schema, and caches the result. Each configured field is
|
|
185
|
+
* deep-merged with built-in defaults so partial configs are always safe.
|
|
186
|
+
*
|
|
187
|
+
* If no path is given, or if loading / validation fails, the built-in defaults
|
|
188
|
+
* are (re-)applied and a warning is written to stderr.
|
|
189
|
+
*
|
|
190
|
+
* @param configPath Optional absolute or relative path to a synergy-mcp.json file.
|
|
191
|
+
*/
|
|
192
|
+
export const initializeRuntimeConfig = async (configPath) => {
|
|
193
|
+
if (!configPath) {
|
|
194
|
+
resolvedConfig = DEFAULT_CONFIG;
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
const raw = await readFile(configPath, 'utf8');
|
|
199
|
+
const parsed = JSON.parse(raw);
|
|
200
|
+
resolvedConfig = McpRuntimeConfigSchema.parse(parsed);
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
process.stderr.write(`[synergy-mcp] Warning: Failed to load config from "${configPath}". Using built-in defaults.\n Reason: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
204
|
+
resolvedConfig = DEFAULT_CONFIG;
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
/**
|
|
208
|
+
* Returns the current runtime configuration.
|
|
209
|
+
* Falls back to built-in defaults if {@link initializeRuntimeConfig} has not
|
|
210
|
+
* been called yet.
|
|
211
|
+
*/
|
|
212
|
+
export const getRuntimeConfig = () => resolvedConfig;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const SUPPORTED_PACKAGES: readonly ["basic-elements", "dashboard-elements"];
|
|
2
|
+
export type DavinciMigrationPackage = (typeof SUPPORTED_PACKAGES)[number];
|
|
3
|
+
/**
|
|
4
|
+
* Resolves a package alias to its official DaVinci migration package name.
|
|
5
|
+
* @param alias The user-provided package alias or official name.
|
|
6
|
+
* @returns The resolved official package name.
|
|
7
|
+
* @throws Error if the alias is not recognized.
|
|
8
|
+
*/
|
|
9
|
+
export declare const resolveDavinciPackageAlias: (alias: string) => DavinciMigrationPackage;
|
|
10
|
+
export declare const getMigrationGuideContent: (packageName: DavinciMigrationPackage) => Promise<string>;
|
|
11
|
+
export declare const extractDavinciComponents: (content: string) => string[];
|
|
12
|
+
export declare const extractMigrationSection: (content: string, component: string) => string | undefined;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { getDataForSetup } from '@synergy-design-system/metadata';
|
|
2
|
+
export const SUPPORTED_PACKAGES = ['basic-elements', 'dashboard-elements'];
|
|
3
|
+
/**
|
|
4
|
+
* Alias mapping for DaVinci migration packages.
|
|
5
|
+
* Maps user-friendly names to official package names.
|
|
6
|
+
*/
|
|
7
|
+
const davinciPackageAliases = {
|
|
8
|
+
'basic-elements': [
|
|
9
|
+
'basic-elements',
|
|
10
|
+
'components',
|
|
11
|
+
],
|
|
12
|
+
'dashboard-elements': [
|
|
13
|
+
'dashboard-elements',
|
|
14
|
+
'charts',
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Resolves a package alias to its official DaVinci migration package name.
|
|
19
|
+
* @param alias The user-provided package alias or official name.
|
|
20
|
+
* @returns The resolved official package name.
|
|
21
|
+
* @throws Error if the alias is not recognized.
|
|
22
|
+
*/
|
|
23
|
+
export const resolveDavinciPackageAlias = (alias) => {
|
|
24
|
+
const resolved = Object
|
|
25
|
+
.entries(davinciPackageAliases)
|
|
26
|
+
.find(([, aliases]) => aliases.includes(alias.toLowerCase()))?.[0];
|
|
27
|
+
if (!resolved) {
|
|
28
|
+
const validOptions = Object.keys(davinciPackageAliases).join(', ');
|
|
29
|
+
throw new Error(`Unknown DaVinci package "${alias}". Valid options: ${validOptions}`);
|
|
30
|
+
}
|
|
31
|
+
return resolved;
|
|
32
|
+
};
|
|
33
|
+
const getGuidePathSuffix = (packageName) => `/davinci/${packageName}.md`;
|
|
34
|
+
export const getMigrationGuideContent = async (packageName) => {
|
|
35
|
+
const response = await getDataForSetup({
|
|
36
|
+
package: 'migrations',
|
|
37
|
+
});
|
|
38
|
+
if (!response.data) {
|
|
39
|
+
throw new Error(response.errors?.[0]?.message ?? 'No migration setup data found.');
|
|
40
|
+
}
|
|
41
|
+
const guide = response.data.setups
|
|
42
|
+
.flatMap((entry) => entry.text)
|
|
43
|
+
.find((entry) => entry.path.toLowerCase().endsWith(getGuidePathSuffix(packageName)));
|
|
44
|
+
if (!guide) {
|
|
45
|
+
throw new Error(`No DaVinci migration guide found for package "${packageName}".`);
|
|
46
|
+
}
|
|
47
|
+
return guide.content;
|
|
48
|
+
};
|
|
49
|
+
export const extractDavinciComponents = (content) => {
|
|
50
|
+
const matches = Array.from(content.matchAll(/^### (davinci-[\w-]+)/gm), match => match[1]);
|
|
51
|
+
return [...new Set(matches)].toSorted((a, b) => a.localeCompare(b));
|
|
52
|
+
};
|
|
53
|
+
export const extractMigrationSection = (content, component) => content
|
|
54
|
+
.split(/\n(?=###\s)/)
|
|
55
|
+
.find(section => section.startsWith(`### ${component}`));
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from './assets.js';
|
|
2
|
-
export * from './checksum.js';
|
|
3
|
-
export * from './components.js';
|
|
4
1
|
export * from './config.js';
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
2
|
+
export * from './davinci.js';
|
|
3
|
+
export * from './logger.js';
|
|
4
|
+
export * from './logging-context.js';
|
|
5
|
+
export * from './logging-service.js';
|
|
6
|
+
export * from './logging-types.js';
|
|
7
|
+
export * from './local-file-logger.js';
|
|
7
8
|
export * from './migration.js';
|
|
8
9
|
export * from './metadata.js';
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './version.js';
|
|
10
|
+
export * from './token-counter.js';
|
|
11
|
+
export * from './rules.js';
|
|
12
|
+
export * from './server.js';
|
|
13
|
+
export * from './cli.js';
|
package/dist/utilities/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from './assets.js';
|
|
2
|
-
export * from './checksum.js';
|
|
3
|
-
export * from './components.js';
|
|
4
1
|
export * from './config.js';
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
2
|
+
export * from './davinci.js';
|
|
3
|
+
export * from './logger.js';
|
|
4
|
+
export * from './logging-context.js';
|
|
5
|
+
export * from './logging-service.js';
|
|
6
|
+
export * from './logging-types.js';
|
|
7
|
+
export * from './local-file-logger.js';
|
|
7
8
|
export * from './migration.js';
|
|
8
9
|
export * from './metadata.js';
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
11
|
-
export * from './
|
|
12
|
-
export * from './
|
|
13
|
-
export * from './version.js';
|
|
10
|
+
export * from './token-counter.js';
|
|
11
|
+
export * from './rules.js';
|
|
12
|
+
export * from './server.js';
|
|
13
|
+
export * from './cli.js';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { appendFile, mkdir } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
const sanitizeSessionId = (sessionId) => sessionId
|
|
4
|
+
.trim()
|
|
5
|
+
.replace(/[^a-zA-Z0-9_.-]/g, '_') || 'unknown-session';
|
|
6
|
+
const toDateFolder = (isoTimestamp) => {
|
|
7
|
+
const date = new Date(isoTimestamp);
|
|
8
|
+
const year = String(date.getUTCFullYear()).slice(-2);
|
|
9
|
+
const month = String(date.getUTCMonth() + 1).padStart(2, '0');
|
|
10
|
+
const day = String(date.getUTCDate()).padStart(2, '0');
|
|
11
|
+
return `${year}-${month}-${day}`;
|
|
12
|
+
};
|
|
13
|
+
export const createLocalFileLoggerProvider = (baseDirectory) => ({
|
|
14
|
+
log: async (event) => {
|
|
15
|
+
const dateFolder = toDateFolder(event.timestamp);
|
|
16
|
+
const filename = `${sanitizeSessionId(event.sessionId)}.json`;
|
|
17
|
+
const directory = join(baseDirectory, dateFolder);
|
|
18
|
+
const filePath = join(directory, filename);
|
|
19
|
+
await mkdir(directory, { recursive: true });
|
|
20
|
+
await appendFile(filePath, `${JSON.stringify(event)}\n`, 'utf8');
|
|
21
|
+
},
|
|
22
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { McpRuntimeConfig } from './config.js';
|
|
2
|
+
export declare const initializeLogger: (config: McpRuntimeConfig) => void;
|
|
3
|
+
type LogToolCallInput = {
|
|
4
|
+
durationMs: number;
|
|
5
|
+
errorMessage?: string;
|
|
6
|
+
parameters: Record<string, unknown>;
|
|
7
|
+
success: boolean;
|
|
8
|
+
tokenCount?: number;
|
|
9
|
+
toolName: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const logToolCall: (input: LogToolCallInput) => Promise<void>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createLocalFileLoggerProvider } from './local-file-logger.js';
|
|
2
|
+
import { createLoggerService } from './logging-service.js';
|
|
3
|
+
import { getLoggingContext } from './logging-context.js';
|
|
4
|
+
let loggerService = createLoggerService([]);
|
|
5
|
+
export const initializeLogger = (config) => {
|
|
6
|
+
const providerFactories = [];
|
|
7
|
+
const localPath = config.logging.localFile.path;
|
|
8
|
+
if (localPath) {
|
|
9
|
+
providerFactories.push(createLocalFileLoggerProvider(localPath));
|
|
10
|
+
}
|
|
11
|
+
loggerService = createLoggerService(providerFactories);
|
|
12
|
+
};
|
|
13
|
+
export const logToolCall = async (input) => {
|
|
14
|
+
if (!loggerService.enabled) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const context = getLoggingContext();
|
|
18
|
+
const event = {
|
|
19
|
+
durationMs: input.durationMs,
|
|
20
|
+
errorMessage: input.errorMessage,
|
|
21
|
+
parameters: input.parameters,
|
|
22
|
+
sessionId: context.sessionId,
|
|
23
|
+
success: input.success,
|
|
24
|
+
timestamp: new Date().toISOString(),
|
|
25
|
+
tokenCount: input.tokenCount,
|
|
26
|
+
toolName: input.toolName,
|
|
27
|
+
transport: context.transport,
|
|
28
|
+
};
|
|
29
|
+
await loggerService.log(event);
|
|
30
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LoggingTransport } from './logging-types.js';
|
|
2
|
+
type LoggingContext = {
|
|
3
|
+
sessionId: string;
|
|
4
|
+
transport: LoggingTransport;
|
|
5
|
+
};
|
|
6
|
+
export declare const runWithLoggingContext: <T>(context: LoggingContext, fn: () => Promise<T>) => Promise<T>;
|
|
7
|
+
export declare const getLoggingContext: () => LoggingContext;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
const loggingContextStore = new AsyncLocalStorage();
|
|
3
|
+
export const runWithLoggingContext = async (context, fn) => loggingContextStore.run(context, fn);
|
|
4
|
+
export const getLoggingContext = () => (loggingContextStore.getStore() ?? {
|
|
5
|
+
sessionId: 'stdio',
|
|
6
|
+
transport: 'stdio',
|
|
7
|
+
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
const providerError = (index, error) => {
|
|
2
|
+
process.stderr.write(`[synergy-mcp] Warning: logger provider #${index + 1} failed: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
3
|
+
};
|
|
4
|
+
export const createLoggerService = (providers) => {
|
|
5
|
+
if (providers.length === 0) {
|
|
6
|
+
return {
|
|
7
|
+
enabled: false,
|
|
8
|
+
log: async () => {
|
|
9
|
+
// No-op logger keeps call sites simple.
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
enabled: true,
|
|
15
|
+
log: async (event) => {
|
|
16
|
+
const results = await Promise.allSettled(providers.map(provider => provider.log(event)));
|
|
17
|
+
results.forEach((result, index) => {
|
|
18
|
+
if (result.status === 'rejected') {
|
|
19
|
+
providerError(index, result.reason);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type LoggingTransport = 'http' | 'stdio';
|
|
2
|
+
export type ToolLogEvent = {
|
|
3
|
+
durationMs: number;
|
|
4
|
+
errorMessage?: string;
|
|
5
|
+
parameters: Record<string, unknown>;
|
|
6
|
+
sessionId: string;
|
|
7
|
+
success: boolean;
|
|
8
|
+
timestamp: string;
|
|
9
|
+
tokenCount?: number;
|
|
10
|
+
toolName: string;
|
|
11
|
+
transport: LoggingTransport;
|
|
12
|
+
};
|
|
13
|
+
export interface LoggerProvider {
|
|
14
|
+
log: (event: ToolLogEvent) => Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export interface LoggerService {
|
|
17
|
+
enabled: boolean;
|
|
18
|
+
log: (event: ToolLogEvent) => Promise<void>;
|
|
19
|
+
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/
|
|
4
|
-
export type Filter = (fileName: string) => boolean;
|
|
1
|
+
import type { ToolResponse } from '../types/tool-response.js';
|
|
2
|
+
import { type WithErrorHandlerOptions } from '../middleware/index.js';
|
|
5
3
|
/**
|
|
6
4
|
* MetadataFile type representing a structured metadata file.
|
|
7
5
|
*/
|
|
@@ -10,19 +8,14 @@ export type MetadataFile = {
|
|
|
10
8
|
filename: string;
|
|
11
9
|
};
|
|
12
10
|
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* @param
|
|
16
|
-
* @
|
|
17
|
-
* If provided, only files that pass the filter will be included in the result.
|
|
11
|
+
* Creates a content array from an array of unknown data.
|
|
12
|
+
* This is useful for converting raw data into a format that can be returned by MCP tools.
|
|
13
|
+
* @param data The original data to convert into a content array. Each entry will be converted to a string if it is not already a string.
|
|
14
|
+
* @returns Final content array
|
|
18
15
|
*/
|
|
19
|
-
export declare const
|
|
16
|
+
export declare const toContentArray: (data: unknown[]) => ToolResponse;
|
|
20
17
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* @param componentName - The name of the component to get metadata for.
|
|
24
|
-
* @param filter - Optional filter function to apply to the filenames.
|
|
25
|
-
* If provided, only files that pass the filter will be included in the result.
|
|
26
|
-
* @param source - The source of the metadata, either 'package' or 'static'.
|
|
18
|
+
* Creates a transparent tool handler that keeps tool bodies focused on
|
|
19
|
+
* business logic while applying logging and error handling consistently.
|
|
27
20
|
*/
|
|
28
|
-
export declare const
|
|
21
|
+
export declare const toolHandler: <TArgs extends Record<string, unknown>>(toolName: string, handler: (args: TArgs) => Promise<unknown[]>, options?: WithErrorHandlerOptions) => (args: TArgs) => Promise<ToolResponse>;
|