@loop_ouroboros/mcp-hub-lite 1.0.2 → 1.1.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 +32 -0
- package/dist/client/assets/{HomeView-7rMg9C6t.js → HomeView-Bu2joUvW.js} +1 -1
- package/dist/client/assets/ResourceDetailView-BvrhDCD1.js +1 -0
- package/dist/client/assets/ResourceDetailView-DUJZbegl.css +1 -0
- package/dist/client/assets/ResourcesView-Cc8RHtia.css +1 -0
- package/dist/client/assets/ResourcesView-LjqioF_s.js +1 -0
- package/dist/client/assets/ServerDashboard-BfLeFDGw.css +1 -0
- package/dist/client/assets/ServerDashboard-FhHJFvUi.js +1 -0
- package/dist/client/assets/ServerDetail-BKV-M4qT.js +2 -0
- package/dist/client/assets/ServerDetail-CtnNKJGx.css +1 -0
- package/dist/client/assets/{ServerListView-Bws09jNR.css → ServerListView-B-bPljsO.css} +1 -1
- package/dist/client/assets/ServerListView-BXgtDyt3.js +36 -0
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-D-ooYNdN.js +1 -0
- package/dist/client/assets/SettingsView-CMFG91Z4.js +1 -0
- package/dist/client/assets/SettingsView-GkBOKL0V.css +1 -0
- package/dist/client/assets/ToolCallDialog-Bf4Xe4gH.js +1 -0
- package/dist/client/assets/ToolsView-DFpha1z0.js +1 -0
- package/dist/client/assets/{_baseClone-5q1b0P3O.js → _baseClone-Bp9Rjwd7.js} +1 -1
- package/dist/client/assets/el-form-item-B4LbJ6OO.css +1 -0
- package/dist/client/assets/el-form-item-DdSUWYsl.js +12 -0
- package/dist/client/assets/el-input-99gMrutP.js +1 -0
- package/dist/client/assets/el-input-BH4BZKnG.css +1 -0
- package/dist/client/assets/{el-loading-H85n3BUC.js → el-loading-CIQ5pD5u.js} +1 -1
- package/dist/client/assets/el-overlay-BVM6msGX.js +1 -0
- package/dist/client/assets/{el-select-C0U_l4IZ.css → el-overlay-CBvdpA69.css} +1 -1
- package/dist/client/assets/{ResourceDetailView-BdOaL_-o.css → el-radio-group-B0bauIRR.css} +1 -1
- package/dist/client/assets/el-radio-group-DhXWy7ry.js +1 -0
- package/dist/client/assets/el-skeleton-item-BLY1jEuR.css +1 -0
- package/dist/client/assets/el-skeleton-item-DJz-Us12.js +1 -0
- package/dist/client/assets/el-switch-BBrS-_6y.css +1 -0
- package/dist/client/assets/el-switch-Bu8AQ5uM.js +1 -0
- package/dist/client/assets/el-tab-pane-BnGMaV56.js +1 -0
- package/dist/client/assets/el-table-column-BMWOaLS_.js +1 -0
- package/dist/client/assets/el-table-column-BdvRS9Y2.css +1 -0
- package/dist/client/assets/index-C2V-ZGji.js +1 -0
- package/dist/client/assets/{index-BsDWtoIl.css → index-DpH6ZSbs.css} +1 -1
- package/dist/client/assets/index-vhkqgpmN.js +2 -0
- package/dist/client/assets/{omit-DPsOVNIJ.js → omit-CqPQN3XP.js} +1 -1
- package/dist/client/assets/{raf-DY5mgbuB.js → raf-C2wXzaVU.js} +1 -1
- package/dist/client/assets/{vue-vendor-6ny5zj9i.js → vue-vendor-BLHLXXJK.js} +1 -1
- package/dist/client/index.html +3 -3
- package/dist/server/shared/models/resource.model.d.ts +2 -1
- package/dist/server/shared/models/resource.model.d.ts.map +1 -1
- package/dist/server/shared/models/server.model.d.ts +362 -5
- package/dist/server/shared/models/server.model.d.ts.map +1 -1
- package/dist/server/shared/models/server.model.js +220 -1
- package/dist/server/shared/models/session.model.d.ts +1 -57
- package/dist/server/shared/models/session.model.d.ts.map +1 -1
- package/dist/server/shared/models/session.model.js +1 -55
- package/dist/server/shared/models/tool.model.d.ts +4 -2
- package/dist/server/shared/models/tool.model.d.ts.map +1 -1
- package/dist/server/shared/types/session-context.types.d.ts +0 -2
- package/dist/server/shared/types/session-context.types.d.ts.map +1 -1
- package/dist/server/shared/types/websocket.types.d.ts +17 -10
- package/dist/server/shared/types/websocket.types.d.ts.map +1 -1
- package/dist/server/src/api/mcp/gateway.d.ts +1 -3
- package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
- package/dist/server/src/api/mcp/gateway.js +19 -50
- package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -1
- package/dist/server/src/api/mcp/session-context-extractor.js +5 -14
- package/dist/server/src/api/web/hub-tools.d.ts +2 -2
- package/dist/server/src/api/web/hub-tools.d.ts.map +1 -1
- package/dist/server/src/api/web/hub-tools.js +3 -54
- package/dist/server/src/api/web/mcp-status.d.ts +1 -1
- package/dist/server/src/api/web/mcp-status.d.ts.map +1 -1
- package/dist/server/src/api/web/mcp-status.js +71 -30
- package/dist/server/src/api/web/resources.d.ts.map +1 -1
- package/dist/server/src/api/web/resources.js +28 -22
- package/dist/server/src/api/web/search.d.ts +2 -16
- package/dist/server/src/api/web/search.d.ts.map +1 -1
- package/dist/server/src/api/web/search.js +24 -45
- package/dist/server/src/api/web/servers.d.ts +3 -3
- package/dist/server/src/api/web/servers.d.ts.map +1 -1
- package/dist/server/src/api/web/servers.js +70 -25
- package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -1
- package/dist/server/src/api/ws/ws-handler.js +4 -2
- package/dist/server/src/app.d.ts.map +1 -1
- package/dist/server/src/app.js +0 -2
- package/dist/server/src/cli/commands/list.js +2 -2
- package/dist/server/src/cli/commands/status.d.ts.map +1 -1
- package/dist/server/src/cli/commands/status.js +41 -30
- package/dist/server/src/cli/index.d.ts.map +1 -1
- package/dist/server/src/cli/index.js +2 -1
- package/dist/server/src/cli/server.d.ts +11 -2
- package/dist/server/src/cli/server.d.ts.map +1 -1
- package/dist/server/src/config/config-change-logger.d.ts +22 -0
- package/dist/server/src/config/config-change-logger.d.ts.map +1 -1
- package/dist/server/src/config/config-change-logger.js +135 -11
- package/dist/server/src/config/config-loader.d.ts +6 -5
- package/dist/server/src/config/config-loader.d.ts.map +1 -1
- package/dist/server/src/config/config-loader.js +54 -16
- package/dist/server/src/config/config-manager.d.ts +51 -43
- package/dist/server/src/config/config-manager.d.ts.map +1 -1
- package/dist/server/src/config/config-manager.js +84 -66
- package/dist/server/src/config/config-migrator.d.ts +82 -0
- package/dist/server/src/config/config-migrator.d.ts.map +1 -0
- package/dist/server/src/config/config-migrator.js +348 -0
- package/dist/server/src/config/config-saver.d.ts +2 -0
- package/dist/server/src/config/config-saver.d.ts.map +1 -1
- package/dist/server/src/config/config-saver.js +8 -2
- package/dist/server/src/config/config.schema.d.ts +10 -104
- package/dist/server/src/config/config.schema.d.ts.map +1 -1
- package/dist/server/src/config/config.schema.js +15 -99
- package/dist/server/src/config/path-validator.d.ts +27 -0
- package/dist/server/src/config/path-validator.d.ts.map +1 -0
- package/dist/server/src/config/path-validator.js +53 -0
- package/dist/server/src/config/server-config-manager.d.ts +37 -31
- package/dist/server/src/config/server-config-manager.d.ts.map +1 -1
- package/dist/server/src/config/server-config-manager.js +222 -66
- package/dist/server/src/config/type-converter.d.ts.map +1 -1
- package/dist/server/src/config/type-converter.js +3 -2
- package/dist/server/src/models/event.model.d.ts +17 -10
- package/dist/server/src/models/event.model.d.ts.map +1 -1
- package/dist/server/src/models/server.model.d.ts +17 -3
- package/dist/server/src/models/server.model.d.ts.map +1 -1
- package/dist/server/src/models/server.model.js +2 -1
- package/dist/server/src/models/system-tools.constants.d.ts +10 -27
- package/dist/server/src/models/system-tools.constants.d.ts.map +1 -1
- package/dist/server/src/models/system-tools.constants.js +4 -8
- package/dist/server/src/pid/manager.d.ts.map +1 -1
- package/dist/server/src/pid/manager.js +2 -1
- package/dist/server/src/server/dev-server.js +34 -20
- package/dist/server/src/server/runner.d.ts.map +1 -1
- package/dist/server/src/server/runner.js +41 -26
- package/dist/server/src/services/connection/connection-manager.d.ts +85 -103
- package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -1
- package/dist/server/src/services/connection/connection-manager.js +286 -241
- package/dist/server/src/services/connection/tool-cache.d.ts +27 -25
- package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -1
- package/dist/server/src/services/connection/tool-cache.js +50 -55
- package/dist/server/src/services/gateway/gateway.service.d.ts +2 -0
- package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -1
- package/dist/server/src/services/gateway/gateway.service.js +15 -19
- package/dist/server/src/services/gateway/global-transport.d.ts +10 -0
- package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -0
- package/dist/server/src/services/gateway/global-transport.js +42 -0
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +67 -65
- package/dist/server/src/services/gateway/request-handlers/index.d.ts +1 -1
- package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/index.js +1 -1
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +1 -4
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +10 -81
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts +35 -0
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.js +44 -0
- package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/resources-handler.js +5 -4
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +32 -77
- package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/tools-handler.js +4 -3
- package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -1
- package/dist/server/src/services/gateway/tool-list-generator.js +37 -16
- package/dist/server/src/services/gateway/types.d.ts +2 -1
- package/dist/server/src/services/gateway/types.d.ts.map +1 -1
- package/dist/server/src/services/hub-manager.service.d.ts +32 -238
- package/dist/server/src/services/hub-manager.service.d.ts.map +1 -1
- package/dist/server/src/services/hub-manager.service.js +89 -267
- package/dist/server/src/services/hub-tools/index.d.ts +1 -3
- package/dist/server/src/services/hub-tools/index.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/index.js +1 -2
- package/dist/server/src/services/hub-tools/instance-matcher.d.ts +62 -0
- package/dist/server/src/services/hub-tools/instance-matcher.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/instance-matcher.js +132 -0
- package/dist/server/src/services/hub-tools/instance-selector.d.ts +29 -0
- package/dist/server/src/services/hub-tools/instance-selector.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/instance-selector.js +103 -0
- package/dist/server/src/services/hub-tools/resource-generator.d.ts +24 -1
- package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/resource-generator.js +259 -39
- package/dist/server/src/services/hub-tools/server-selector.d.ts +26 -13
- package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/server-selector.js +44 -37
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +1 -4
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/system-tool-definitions.js +17 -80
- package/dist/server/src/services/hub-tools/tool-search.d.ts +7 -7
- package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/tool-search.js +10 -4
- package/dist/server/src/services/hub-tools/types.d.ts +2 -2
- package/dist/server/src/services/hub-tools/types.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools.service.d.ts +43 -72
- package/dist/server/src/services/hub-tools.service.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools.service.js +185 -110
- package/dist/server/src/services/search/search-core.service.d.ts +5 -5
- package/dist/server/src/services/search/search-core.service.js +11 -11
- package/dist/server/src/services/session/session-manager.d.ts +12 -256
- package/dist/server/src/services/session/session-manager.d.ts.map +1 -1
- package/dist/server/src/services/session/session-manager.js +23 -585
- package/dist/server/src/services/session-tracker.service.d.ts +2 -10
- package/dist/server/src/services/session-tracker.service.d.ts.map +1 -1
- package/dist/server/src/services/session-tracker.service.js +2 -53
- package/dist/server/src/services/system-tool-handler.d.ts.map +1 -1
- package/dist/server/src/services/system-tool-handler.js +7 -17
- package/dist/server/src/utils/composite-key.d.ts +29 -0
- package/dist/server/src/utils/composite-key.d.ts.map +1 -0
- package/dist/server/src/utils/composite-key.js +39 -0
- package/dist/server/src/utils/error-handler.d.ts.map +1 -1
- package/dist/server/src/utils/error-handler.js +3 -2
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/src/utils/index.js +2 -0
- package/dist/server/src/utils/instance-id.d.ts +22 -0
- package/dist/server/src/utils/instance-id.d.ts.map +1 -0
- package/dist/server/src/utils/instance-id.js +59 -0
- package/dist/server/src/utils/json-utils.d.ts +4 -4
- package/dist/server/src/utils/json-utils.d.ts.map +1 -1
- package/dist/server/src/utils/json-utils.js +4 -4
- package/dist/server/src/utils/logger/dev-logger.d.ts +2 -1
- package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-formatter.js +82 -5
- package/dist/server/src/utils/logger/log-modules.d.ts +15 -9
- package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-modules.js +8 -6
- package/dist/server/src/utils/parameter-validator.d.ts +10 -0
- package/dist/server/src/utils/parameter-validator.d.ts.map +1 -0
- package/dist/server/src/utils/parameter-validator.js +53 -0
- package/dist/server/src/utils/process-tree.d.ts +49 -0
- package/dist/server/src/utils/process-tree.d.ts.map +1 -0
- package/dist/server/src/utils/process-tree.js +285 -0
- package/dist/server/src/utils/request-context.d.ts +0 -18
- package/dist/server/src/utils/request-context.d.ts.map +1 -1
- package/dist/server/src/utils/request-context.js +0 -20
- package/dist/server/src/utils/sort-utils.d.ts +40 -0
- package/dist/server/src/utils/sort-utils.d.ts.map +1 -0
- package/dist/server/src/utils/sort-utils.js +131 -0
- package/dist/server/src/utils/transports/sse-transport.d.ts +16 -1
- package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/sse-transport.js +55 -9
- package/dist/server/src/utils/transports/stdio-transport.d.ts +24 -53
- package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/stdio-transport.js +66 -247
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts +24 -1
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/streamable-http-transport.js +68 -8
- package/dist/server/src/utils/transports/transport-factory.d.ts +9 -4
- package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -1
- package/dist/server/src/utils/transports/transport-factory.js +31 -11
- package/dist/server/src/utils/transports/transport.interface.d.ts +6 -0
- package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -1
- package/dist/server/src/utils/version.d.ts +11 -0
- package/dist/server/src/utils/version.d.ts.map +1 -0
- package/dist/server/src/utils/version.js +57 -0
- package/dist/server/tests/contract/mcp-protocol/initialize.test.js +24 -24
- package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +49 -45
- package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +35 -36
- package/dist/server/tests/evaluation/evaluation.test.js +10 -9
- package/dist/server/tests/integration/api/gateway.test.js +2 -2
- package/dist/server/tests/integration/gateway/fault-tolerance.test.js +65 -25
- package/dist/server/tests/integration/gateway/mcp-connection.test.js +53 -61
- package/dist/server/tests/server.test.js +27 -16
- package/dist/server/tests/temp/temp-run-docling.d.ts +2 -0
- package/dist/server/tests/temp/temp-run-docling.d.ts.map +1 -0
- package/dist/server/tests/temp/temp-run-docling.js +53 -0
- package/dist/server/tests/types/test-helpers.d.ts +1 -2
- package/dist/server/tests/types/test-helpers.d.ts.map +1 -1
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.js +199 -0
- package/dist/server/tests/unit/config/config-migrator.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-migrator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-migrator.test.js +316 -0
- package/dist/server/tests/unit/config/config-saver.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-saver.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-saver.test.js +200 -0
- package/dist/server/tests/unit/config/config.schema.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config.schema.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config.schema.test.js +347 -0
- package/dist/server/tests/unit/server/runner.test.js +86 -62
- package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts +2 -0
- package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/connection/connection-manager.test.js +112 -0
- package/dist/server/tests/unit/services/hub-manager-service.test.js +112 -46
- package/dist/server/tests/unit/services/hub-manager.test.js +25 -15
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.js +195 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.js +190 -0
- package/dist/server/tests/unit/services/hub-tools.service.test.js +560 -320
- package/dist/server/tests/unit/services/instance-matcher.test.d.ts +2 -0
- package/dist/server/tests/unit/services/instance-matcher.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/instance-matcher.test.js +256 -0
- package/dist/server/tests/unit/services/session-manager.test.js +26 -436
- package/dist/server/tests/unit/utils/config.test.js +88 -186
- package/dist/server/tests/unit/utils/json-utils.test.js +18 -18
- package/dist/server/tests/unit/utils/logger-formatter.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/logger-formatter.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/logger-formatter.test.js +66 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.js +63 -0
- package/dist/server/tests/unit/utils/process-tree.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/process-tree.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/process-tree.test.js +129 -0
- package/dist/server/tests/unit/utils/request-context.test.js +5 -24
- package/dist/server/tests/unit/utils/sort-utils.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/sort-utils.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/sort-utils.test.js +220 -0
- package/dist/server/tests/unit/utils/transport-factory.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/transport-factory.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/transport-factory.test.js +55 -0
- package/package.json +1 -1
- package/dist/client/assets/ResourceDetailView-Bf-1ffbk.js +0 -1
- package/dist/client/assets/ResourcesView-CjMklkyv.css +0 -1
- package/dist/client/assets/ResourcesView-g5x4xCPh.js +0 -1
- package/dist/client/assets/ServerDashboard-Chpne8Q0.css +0 -1
- package/dist/client/assets/ServerDashboard-G8Wmp4hF.js +0 -2
- package/dist/client/assets/ServerListView-dV2XrPjo.js +0 -32
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +0 -1
- package/dist/client/assets/SessionsView-Ckd38lj1.js +0 -1
- package/dist/client/assets/SettingsView-BJUdepEQ.js +0 -1
- package/dist/client/assets/ToolCallDialog-C_bTCpHC.js +0 -1
- package/dist/client/assets/ToolsView-0c2eputu.js +0 -1
- package/dist/client/assets/el-form-item-BVMLpmVC.css +0 -1
- package/dist/client/assets/el-form-item-ClFnj49k.js +0 -12
- package/dist/client/assets/el-input-CDnuSKVZ.js +0 -1
- package/dist/client/assets/el-input-CmuHb8HS.css +0 -1
- package/dist/client/assets/el-overlay-B2ZKM6Up.css +0 -1
- package/dist/client/assets/el-overlay-CzMkXyYy.js +0 -1
- package/dist/client/assets/el-select-DvjGddk_.js +0 -1
- package/dist/client/assets/el-tab-pane-C_DQMcwe.js +0 -1
- package/dist/client/assets/el-table-column-CASRIbZM.js +0 -1
- package/dist/client/assets/el-table-column-T_mV9jNw.css +0 -1
- package/dist/client/assets/el-tag-DjxZVOpb.css +0 -1
- package/dist/client/assets/el-tag-npbwux4f.js +0 -1
- package/dist/client/assets/index-CCnAxNF8.js +0 -2
- package/dist/client/assets/index-d1DZeSfz.js +0 -1
- package/dist/client/assets/vnode-CHomNjgN.js +0 -1
package/dist/client/index.html
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<link rel="icon" href="/favicon.ico" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>MCP Server Manager</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
9
|
-
<link rel="modulepreload" crossorigin href="/assets/vue-vendor-
|
|
10
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-vhkqgpmN.js"></script>
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/vue-vendor-BLHLXXJK.js">
|
|
10
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DpH6ZSbs.css">
|
|
11
11
|
</head>
|
|
12
12
|
<body>
|
|
13
13
|
<div id="app"></div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/resource.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,
|
|
1
|
+
{"version":3,"file":"resource.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/resource.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
1
2
|
import type { ServerStatus, ServerTransport, ServerType, LogLevel } from '../types/common.types';
|
|
2
3
|
import type { Tool } from './tool.model';
|
|
3
4
|
import type { Resource } from './resource.model';
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Server runtime configuration (flat format, merged template + instance)
|
|
7
|
+
* Used by connection manager and frontend for actual server execution
|
|
8
|
+
*/
|
|
9
|
+
export interface ServerRuntimeConfig {
|
|
5
10
|
command?: string;
|
|
6
11
|
args?: string[];
|
|
7
12
|
url?: string;
|
|
@@ -9,21 +14,366 @@ export interface ServerConfig {
|
|
|
9
14
|
headers?: Record<string, string>;
|
|
10
15
|
timeout?: number;
|
|
11
16
|
enabled?: boolean;
|
|
12
|
-
|
|
17
|
+
aggregatedTools?: string[];
|
|
13
18
|
type: ServerTransport;
|
|
14
19
|
tags?: Record<string, string>;
|
|
15
20
|
description?: string;
|
|
21
|
+
proxy?: {
|
|
22
|
+
url: string;
|
|
23
|
+
};
|
|
16
24
|
}
|
|
17
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Instance selection strategy constants for multi-instance servers
|
|
27
|
+
*/
|
|
28
|
+
export declare const InstanceSelectionStrategy: {
|
|
29
|
+
readonly RANDOM: "random";
|
|
30
|
+
readonly ROUND_ROBIN: "round-robin";
|
|
31
|
+
readonly TAG_MATCH_UNIQUE: "tag-match-unique";
|
|
32
|
+
};
|
|
33
|
+
export type InstanceSelectionStrategy = (typeof InstanceSelectionStrategy)[keyof typeof InstanceSelectionStrategy];
|
|
34
|
+
/**
|
|
35
|
+
* Transport type constants for MCP server connections
|
|
36
|
+
*/
|
|
37
|
+
export declare const TransportType: {
|
|
38
|
+
readonly STDIO: "stdio";
|
|
39
|
+
readonly SSE: "sse";
|
|
40
|
+
readonly STREAMABLE_HTTP: "streamable-http";
|
|
41
|
+
readonly HTTP: "http";
|
|
42
|
+
};
|
|
43
|
+
export type TransportType = (typeof TransportType)[keyof typeof TransportType];
|
|
44
|
+
/**
|
|
45
|
+
* Server Environment Configuration Base Schema
|
|
46
|
+
* Shared by both ServerTemplate and ServerInstance (for overrides)
|
|
47
|
+
*/
|
|
48
|
+
export declare const ServerEnvConfigSchema: z.ZodObject<{
|
|
49
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
50
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
51
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
52
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
53
|
+
url: z.ZodString;
|
|
54
|
+
}, z.core.$strip>>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
export type ServerEnvConfig = z.infer<typeof ServerEnvConfigSchema>;
|
|
57
|
+
/**
|
|
58
|
+
* Server Instance Metadata Schema
|
|
59
|
+
* Shared by ServerInstance and ServerInstanceConfig
|
|
60
|
+
*/
|
|
61
|
+
export declare const ServerInstanceMetadataSchema: z.ZodObject<{
|
|
62
|
+
id: z.ZodString;
|
|
63
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
export type ServerInstanceMetadata = z.infer<typeof ServerInstanceMetadataSchema>;
|
|
67
|
+
/**
|
|
68
|
+
* Server Instance Runtime State Schema
|
|
69
|
+
* Shared by ServerInstance and ServerInstanceConfig
|
|
70
|
+
*/
|
|
71
|
+
export declare const ServerInstanceRuntimeSchema: z.ZodObject<{
|
|
72
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
pid: z.ZodOptional<z.ZodNumber>;
|
|
74
|
+
startTime: z.ZodOptional<z.ZodNumber>;
|
|
75
|
+
}, z.core.$strip>;
|
|
76
|
+
export type ServerInstanceRuntime = z.infer<typeof ServerInstanceRuntimeSchema>;
|
|
77
|
+
/**
|
|
78
|
+
* Tag Definition Schema
|
|
79
|
+
* Defines metadata about a tag key for validation and UI purposes
|
|
80
|
+
*/
|
|
81
|
+
export declare const TagDefinitionSchema: z.ZodObject<{
|
|
82
|
+
key: z.ZodString;
|
|
83
|
+
description: z.ZodOptional<z.ZodString>;
|
|
84
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
85
|
+
string: "string";
|
|
86
|
+
number: "number";
|
|
87
|
+
boolean: "boolean";
|
|
88
|
+
enum: "enum";
|
|
89
|
+
}>>;
|
|
90
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
export type TagDefinition = z.infer<typeof TagDefinitionSchema>;
|
|
93
|
+
/**
|
|
94
|
+
* Server Instance Configuration Schema
|
|
95
|
+
* Represents a single instance of a server with specific configuration
|
|
96
|
+
*/
|
|
97
|
+
export declare const ServerInstanceSchema: z.ZodObject<{
|
|
98
|
+
id: z.ZodString;
|
|
99
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
101
|
+
timestamp: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
102
|
+
pid: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
103
|
+
startTime: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
104
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
105
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
106
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
107
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
108
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
109
|
+
url: z.ZodString;
|
|
110
|
+
}, z.core.$strip>>;
|
|
111
|
+
tags: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
export type ServerInstance = z.infer<typeof ServerInstanceSchema>;
|
|
114
|
+
/**
|
|
115
|
+
* Server Instance Update Schema (without defaults)
|
|
116
|
+
* Used for partial updates to server instances - intentionally omits default values
|
|
117
|
+
* to prevent overwriting existing configuration with empty defaults.
|
|
118
|
+
*/
|
|
119
|
+
export declare const ServerInstanceUpdateSchema: z.ZodObject<{
|
|
120
|
+
id: z.ZodOptional<z.ZodString>;
|
|
121
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
122
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
123
|
+
timestamp: z.ZodOptional<z.ZodNumber>;
|
|
124
|
+
pid: z.ZodOptional<z.ZodNumber>;
|
|
125
|
+
startTime: z.ZodOptional<z.ZodNumber>;
|
|
126
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
127
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
128
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
129
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
130
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
131
|
+
url: z.ZodString;
|
|
132
|
+
}, z.core.$strip>>;
|
|
133
|
+
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
134
|
+
}, z.core.$strip>;
|
|
135
|
+
export type ServerInstanceUpdate = z.infer<typeof ServerInstanceUpdateSchema>;
|
|
136
|
+
/**
|
|
137
|
+
* Server Template Configuration Schema
|
|
138
|
+
* Template configuration that can be shared across multiple instances
|
|
139
|
+
*/
|
|
140
|
+
export declare const ServerTemplateSchema: z.ZodObject<{
|
|
141
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
142
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
143
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
144
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
145
|
+
url: z.ZodString;
|
|
146
|
+
}, z.core.$strip>>;
|
|
147
|
+
command: z.ZodOptional<z.ZodString>;
|
|
148
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
149
|
+
stdio: "stdio";
|
|
150
|
+
sse: "sse";
|
|
151
|
+
"streamable-http": "streamable-http";
|
|
152
|
+
http: "http";
|
|
153
|
+
}>>;
|
|
154
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
155
|
+
url: z.ZodOptional<z.ZodString>;
|
|
156
|
+
aggregatedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
157
|
+
description: z.ZodOptional<z.ZodString>;
|
|
158
|
+
instanceSelectionStrategy: z.ZodOptional<z.ZodEnum<{
|
|
159
|
+
random: "random";
|
|
160
|
+
"round-robin": "round-robin";
|
|
161
|
+
"tag-match-unique": "tag-match-unique";
|
|
162
|
+
}>>;
|
|
163
|
+
}, z.core.$strip>;
|
|
164
|
+
export type ServerTemplate = z.infer<typeof ServerTemplateSchema>;
|
|
165
|
+
/**
|
|
166
|
+
* Server Configuration Schema (v1.1 - Primary)
|
|
167
|
+
* A server with a template and multiple instances
|
|
168
|
+
*/
|
|
169
|
+
export declare const ServerConfigSchema: z.ZodObject<{
|
|
170
|
+
template: z.ZodObject<{
|
|
171
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
172
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
173
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
174
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
175
|
+
url: z.ZodString;
|
|
176
|
+
}, z.core.$strip>>;
|
|
177
|
+
command: z.ZodOptional<z.ZodString>;
|
|
178
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
179
|
+
stdio: "stdio";
|
|
180
|
+
sse: "sse";
|
|
181
|
+
"streamable-http": "streamable-http";
|
|
182
|
+
http: "http";
|
|
183
|
+
}>>;
|
|
184
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
185
|
+
url: z.ZodOptional<z.ZodString>;
|
|
186
|
+
aggregatedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
187
|
+
description: z.ZodOptional<z.ZodString>;
|
|
188
|
+
instanceSelectionStrategy: z.ZodOptional<z.ZodEnum<{
|
|
189
|
+
random: "random";
|
|
190
|
+
"round-robin": "round-robin";
|
|
191
|
+
"tag-match-unique": "tag-match-unique";
|
|
192
|
+
}>>;
|
|
193
|
+
}, z.core.$strip>;
|
|
194
|
+
instances: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
195
|
+
id: z.ZodString;
|
|
196
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
197
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
198
|
+
timestamp: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
199
|
+
pid: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
200
|
+
startTime: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
201
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
202
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
203
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
204
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
205
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
206
|
+
url: z.ZodString;
|
|
207
|
+
}, z.core.$strip>>;
|
|
208
|
+
tags: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
209
|
+
}, z.core.$strip>>>;
|
|
210
|
+
tagDefinitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
211
|
+
key: z.ZodString;
|
|
212
|
+
description: z.ZodOptional<z.ZodString>;
|
|
213
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
214
|
+
string: "string";
|
|
215
|
+
number: "number";
|
|
216
|
+
boolean: "boolean";
|
|
217
|
+
enum: "enum";
|
|
218
|
+
}>>;
|
|
219
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
220
|
+
}, z.core.$strip>>>;
|
|
221
|
+
}, z.core.$strip>;
|
|
222
|
+
export type ServerConfig = z.infer<typeof ServerConfigSchema>;
|
|
223
|
+
/**
|
|
224
|
+
* Logging Configuration Schema
|
|
225
|
+
*/
|
|
226
|
+
export declare const LoggingConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
227
|
+
level: z.ZodDefault<z.ZodCustom<LogLevel, LogLevel>>;
|
|
228
|
+
rotationAge: z.ZodDefault<z.ZodString>;
|
|
229
|
+
jsonPretty: z.ZodDefault<z.ZodBoolean>;
|
|
230
|
+
mcpCommDebug: z.ZodDefault<z.ZodBoolean>;
|
|
231
|
+
apiDebug: z.ZodDefault<z.ZodBoolean>;
|
|
232
|
+
}, z.core.$strip>>;
|
|
233
|
+
export type LoggingConfig = z.infer<typeof LoggingConfigSchema>;
|
|
234
|
+
/**
|
|
235
|
+
* Security Configuration Schema
|
|
236
|
+
*/
|
|
237
|
+
export declare const SecurityConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
238
|
+
allowedNetworks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
239
|
+
maxConcurrentConnections: z.ZodDefault<z.ZodNumber>;
|
|
240
|
+
connectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
241
|
+
idleConnectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
242
|
+
maxConnections: z.ZodDefault<z.ZodNumber>;
|
|
243
|
+
}, z.core.$strip>>;
|
|
244
|
+
export type SecurityConfig = z.infer<typeof SecurityConfigSchema>;
|
|
245
|
+
/**
|
|
246
|
+
* System Configuration Schema (v1.1 - Primary)
|
|
247
|
+
*/
|
|
248
|
+
export declare const SystemConfigSchema: z.ZodObject<{
|
|
249
|
+
version: z.ZodDefault<z.ZodLiteral<"1.1.0">>;
|
|
250
|
+
system: z.ZodDefault<z.ZodObject<{
|
|
251
|
+
host: z.ZodDefault<z.ZodString>;
|
|
252
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
253
|
+
language: z.ZodDefault<z.ZodEnum<{
|
|
254
|
+
zh: "zh";
|
|
255
|
+
en: "en";
|
|
256
|
+
}>>;
|
|
257
|
+
theme: z.ZodDefault<z.ZodEnum<{
|
|
258
|
+
light: "light";
|
|
259
|
+
dark: "dark";
|
|
260
|
+
system: "system";
|
|
261
|
+
}>>;
|
|
262
|
+
logging: z.ZodDefault<z.ZodObject<{
|
|
263
|
+
level: z.ZodDefault<z.ZodCustom<LogLevel, LogLevel>>;
|
|
264
|
+
rotationAge: z.ZodDefault<z.ZodString>;
|
|
265
|
+
jsonPretty: z.ZodDefault<z.ZodBoolean>;
|
|
266
|
+
mcpCommDebug: z.ZodDefault<z.ZodBoolean>;
|
|
267
|
+
apiDebug: z.ZodDefault<z.ZodBoolean>;
|
|
268
|
+
}, z.core.$strip>>;
|
|
269
|
+
}, z.core.$strip>>;
|
|
270
|
+
security: z.ZodDefault<z.ZodObject<{
|
|
271
|
+
allowedNetworks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
272
|
+
maxConcurrentConnections: z.ZodDefault<z.ZodNumber>;
|
|
273
|
+
connectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
274
|
+
idleConnectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
275
|
+
maxConnections: z.ZodDefault<z.ZodNumber>;
|
|
276
|
+
}, z.core.$strip>>;
|
|
277
|
+
servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
278
|
+
template: z.ZodObject<{
|
|
279
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
280
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
281
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
282
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
283
|
+
url: z.ZodString;
|
|
284
|
+
}, z.core.$strip>>;
|
|
285
|
+
command: z.ZodOptional<z.ZodString>;
|
|
286
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
287
|
+
stdio: "stdio";
|
|
288
|
+
sse: "sse";
|
|
289
|
+
"streamable-http": "streamable-http";
|
|
290
|
+
http: "http";
|
|
291
|
+
}>>;
|
|
292
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
293
|
+
url: z.ZodOptional<z.ZodString>;
|
|
294
|
+
aggregatedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
295
|
+
description: z.ZodOptional<z.ZodString>;
|
|
296
|
+
instanceSelectionStrategy: z.ZodOptional<z.ZodEnum<{
|
|
297
|
+
random: "random";
|
|
298
|
+
"round-robin": "round-robin";
|
|
299
|
+
"tag-match-unique": "tag-match-unique";
|
|
300
|
+
}>>;
|
|
301
|
+
}, z.core.$strip>;
|
|
302
|
+
instances: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
303
|
+
id: z.ZodString;
|
|
304
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
305
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
306
|
+
timestamp: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
307
|
+
pid: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
308
|
+
startTime: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
|
|
309
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
310
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
311
|
+
env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
312
|
+
headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
313
|
+
proxy: z.ZodOptional<z.ZodObject<{
|
|
314
|
+
url: z.ZodString;
|
|
315
|
+
}, z.core.$strip>>;
|
|
316
|
+
tags: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
317
|
+
}, z.core.$strip>>>;
|
|
318
|
+
tagDefinitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
319
|
+
key: z.ZodString;
|
|
320
|
+
description: z.ZodOptional<z.ZodString>;
|
|
321
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
322
|
+
string: "string";
|
|
323
|
+
number: "number";
|
|
324
|
+
boolean: "boolean";
|
|
325
|
+
enum: "enum";
|
|
326
|
+
}>>;
|
|
327
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
328
|
+
}, z.core.$strip>>>;
|
|
329
|
+
}, z.core.$strip>>>;
|
|
330
|
+
tagDefinitions: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
331
|
+
key: z.ZodString;
|
|
332
|
+
description: z.ZodOptional<z.ZodString>;
|
|
333
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
334
|
+
string: "string";
|
|
335
|
+
number: "number";
|
|
336
|
+
boolean: "boolean";
|
|
337
|
+
enum: "enum";
|
|
338
|
+
}>>;
|
|
339
|
+
values: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
340
|
+
}, z.core.$strip>>>;
|
|
341
|
+
}, z.core.$strip>;
|
|
342
|
+
export type SystemConfig = z.infer<typeof SystemConfigSchema>;
|
|
343
|
+
/**
|
|
344
|
+
* Server instance runtime configuration (for connection manager)
|
|
345
|
+
* Contains runtime-specific fields like timestamp, pid, etc.
|
|
346
|
+
*/
|
|
347
|
+
export declare const ServerInstanceConfigSchema: z.ZodObject<{
|
|
348
|
+
id: z.ZodString;
|
|
349
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
350
|
+
displayName: z.ZodOptional<z.ZodString>;
|
|
351
|
+
timestamp: z.ZodNonOptional<z.ZodOptional<z.ZodNumber>>;
|
|
352
|
+
pid: z.ZodOptional<z.ZodNumber>;
|
|
353
|
+
startTime: z.ZodOptional<z.ZodNumber>;
|
|
354
|
+
}, z.core.$strip>;
|
|
355
|
+
export type ServerInstanceConfig = z.infer<typeof ServerInstanceConfigSchema>;
|
|
356
|
+
/**
|
|
357
|
+
* Server instance configuration interface
|
|
358
|
+
*/
|
|
359
|
+
export interface ServerInstanceConfigLegacy {
|
|
18
360
|
id: string;
|
|
19
361
|
timestamp: number;
|
|
20
362
|
hash: string;
|
|
363
|
+
index?: number;
|
|
364
|
+
displayName?: string;
|
|
21
365
|
}
|
|
366
|
+
/**
|
|
367
|
+
* Log entry interface
|
|
368
|
+
*/
|
|
22
369
|
export interface LogEntry {
|
|
23
370
|
timestamp: number;
|
|
24
371
|
level: LogLevel;
|
|
25
372
|
message: string;
|
|
26
373
|
}
|
|
374
|
+
/**
|
|
375
|
+
* Server status information interface
|
|
376
|
+
*/
|
|
27
377
|
export interface StatusInfo {
|
|
28
378
|
id: string;
|
|
29
379
|
status: {
|
|
@@ -38,13 +388,19 @@ export interface StatusInfo {
|
|
|
38
388
|
hash?: string;
|
|
39
389
|
};
|
|
40
390
|
}
|
|
391
|
+
/**
|
|
392
|
+
* Unified server model interface
|
|
393
|
+
*/
|
|
41
394
|
export interface Server {
|
|
42
395
|
id: string;
|
|
43
396
|
name: string;
|
|
44
397
|
status: ServerStatus;
|
|
45
398
|
type: ServerType;
|
|
46
|
-
config:
|
|
47
|
-
instance
|
|
399
|
+
config: ServerRuntimeConfig;
|
|
400
|
+
instance?: ServerInstanceConfig;
|
|
401
|
+
instances?: (ServerInstanceConfig & {
|
|
402
|
+
status: ServerStatus;
|
|
403
|
+
})[];
|
|
48
404
|
logs: LogEntry[];
|
|
49
405
|
uptime?: string;
|
|
50
406
|
startTime?: number;
|
|
@@ -54,5 +410,6 @@ export interface Server {
|
|
|
54
410
|
toolsCount?: number;
|
|
55
411
|
resourcesCount?: number;
|
|
56
412
|
version?: string;
|
|
413
|
+
rawV11Config?: ServerConfig;
|
|
57
414
|
}
|
|
58
415
|
//# sourceMappingURL=server.model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/server.model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/server.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,220 @@
|
|
|
1
|
-
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
// ====== v1.1 Configuration Schema (Server Template + Instance Model) ======
|
|
3
|
+
/**
|
|
4
|
+
* Instance selection strategy constants for multi-instance servers
|
|
5
|
+
*/
|
|
6
|
+
export const InstanceSelectionStrategy = {
|
|
7
|
+
RANDOM: 'random',
|
|
8
|
+
ROUND_ROBIN: 'round-robin',
|
|
9
|
+
TAG_MATCH_UNIQUE: 'tag-match-unique'
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Transport type constants for MCP server connections
|
|
13
|
+
*/
|
|
14
|
+
export const TransportType = {
|
|
15
|
+
STDIO: 'stdio',
|
|
16
|
+
SSE: 'sse',
|
|
17
|
+
STREAMABLE_HTTP: 'streamable-http',
|
|
18
|
+
HTTP: 'http'
|
|
19
|
+
};
|
|
20
|
+
// ====== Common Base Schemas (Extracted to Eliminate Duplication) ======
|
|
21
|
+
/**
|
|
22
|
+
* Server Environment Configuration Base Schema
|
|
23
|
+
* Shared by both ServerTemplate and ServerInstance (for overrides)
|
|
24
|
+
*/
|
|
25
|
+
export const ServerEnvConfigSchema = z.object({
|
|
26
|
+
args: z.array(z.string()).default([]),
|
|
27
|
+
env: z.record(z.string(), z.string()).default({}),
|
|
28
|
+
headers: z.record(z.string(), z.string()).default({}),
|
|
29
|
+
proxy: z
|
|
30
|
+
.object({
|
|
31
|
+
url: z.string()
|
|
32
|
+
})
|
|
33
|
+
.optional()
|
|
34
|
+
});
|
|
35
|
+
/**
|
|
36
|
+
* Server Instance Metadata Schema
|
|
37
|
+
* Shared by ServerInstance and ServerInstanceConfig
|
|
38
|
+
*/
|
|
39
|
+
export const ServerInstanceMetadataSchema = z.object({
|
|
40
|
+
id: z.string(),
|
|
41
|
+
index: z.number().optional(),
|
|
42
|
+
displayName: z.string().optional()
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Server Instance Runtime State Schema
|
|
46
|
+
* Shared by ServerInstance and ServerInstanceConfig
|
|
47
|
+
*/
|
|
48
|
+
export const ServerInstanceRuntimeSchema = z.object({
|
|
49
|
+
timestamp: z.number().optional(),
|
|
50
|
+
pid: z.number().optional(),
|
|
51
|
+
startTime: z.number().optional()
|
|
52
|
+
});
|
|
53
|
+
// ====== Tag Definition Schema ======
|
|
54
|
+
/**
|
|
55
|
+
* Tag Definition Schema
|
|
56
|
+
* Defines metadata about a tag key for validation and UI purposes
|
|
57
|
+
*/
|
|
58
|
+
export const TagDefinitionSchema = z.object({
|
|
59
|
+
key: z.string(),
|
|
60
|
+
description: z.string().optional(),
|
|
61
|
+
type: z.enum(['string', 'number', 'boolean', 'enum']).default('string'),
|
|
62
|
+
values: z.array(z.string()).optional() // For enum type
|
|
63
|
+
});
|
|
64
|
+
// ====== Server Instance Schema ======
|
|
65
|
+
/**
|
|
66
|
+
* Server Instance Configuration Schema
|
|
67
|
+
* Represents a single instance of a server with specific configuration
|
|
68
|
+
*/
|
|
69
|
+
export const ServerInstanceSchema = ServerInstanceMetadataSchema.merge(ServerInstanceRuntimeSchema.partial()).extend({
|
|
70
|
+
enabled: z.boolean().default(true),
|
|
71
|
+
// Environment config (for overriding template values)
|
|
72
|
+
args: z.array(z.string()).default([]),
|
|
73
|
+
env: z.record(z.string(), z.string()).default({}),
|
|
74
|
+
headers: z.record(z.string(), z.string()).default({}),
|
|
75
|
+
proxy: z
|
|
76
|
+
.object({
|
|
77
|
+
url: z.string()
|
|
78
|
+
})
|
|
79
|
+
.optional(),
|
|
80
|
+
// Instance-specific tags
|
|
81
|
+
tags: z.record(z.string(), z.string()).default({})
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Server Instance Update Schema (without defaults)
|
|
85
|
+
* Used for partial updates to server instances - intentionally omits default values
|
|
86
|
+
* to prevent overwriting existing configuration with empty defaults.
|
|
87
|
+
*/
|
|
88
|
+
export const ServerInstanceUpdateSchema = z.object({
|
|
89
|
+
id: z.string().optional(),
|
|
90
|
+
index: z.number().optional(),
|
|
91
|
+
displayName: z.string().optional(),
|
|
92
|
+
timestamp: z.number().optional(),
|
|
93
|
+
pid: z.number().optional(),
|
|
94
|
+
startTime: z.number().optional(),
|
|
95
|
+
enabled: z.boolean().optional(),
|
|
96
|
+
args: z.array(z.string()).optional(),
|
|
97
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
98
|
+
headers: z.record(z.string(), z.string()).optional(),
|
|
99
|
+
proxy: z
|
|
100
|
+
.object({
|
|
101
|
+
url: z.string()
|
|
102
|
+
})
|
|
103
|
+
.optional(),
|
|
104
|
+
tags: z.record(z.string(), z.string()).optional()
|
|
105
|
+
});
|
|
106
|
+
// ====== Server Template Schema ======
|
|
107
|
+
/**
|
|
108
|
+
* Server Template Configuration Schema
|
|
109
|
+
* Template configuration that can be shared across multiple instances
|
|
110
|
+
*/
|
|
111
|
+
export const ServerTemplateSchema = ServerEnvConfigSchema.extend({
|
|
112
|
+
command: z.string().optional(),
|
|
113
|
+
type: z
|
|
114
|
+
.enum([
|
|
115
|
+
TransportType.STDIO,
|
|
116
|
+
TransportType.SSE,
|
|
117
|
+
TransportType.STREAMABLE_HTTP,
|
|
118
|
+
TransportType.HTTP
|
|
119
|
+
])
|
|
120
|
+
.default(TransportType.STDIO),
|
|
121
|
+
timeout: z.number().default(60000),
|
|
122
|
+
url: z.string().optional(),
|
|
123
|
+
aggregatedTools: z.array(z.string()).default([]),
|
|
124
|
+
description: z.string().optional(),
|
|
125
|
+
// Instance selection strategy for multi-instance servers
|
|
126
|
+
instanceSelectionStrategy: z
|
|
127
|
+
.enum([
|
|
128
|
+
InstanceSelectionStrategy.RANDOM,
|
|
129
|
+
InstanceSelectionStrategy.ROUND_ROBIN,
|
|
130
|
+
InstanceSelectionStrategy.TAG_MATCH_UNIQUE
|
|
131
|
+
])
|
|
132
|
+
.optional()
|
|
133
|
+
});
|
|
134
|
+
// ====== Server Config Schema (v1.1) ======
|
|
135
|
+
/**
|
|
136
|
+
* Server Configuration Schema (v1.1 - Primary)
|
|
137
|
+
* A server with a template and multiple instances
|
|
138
|
+
*/
|
|
139
|
+
export const ServerConfigSchema = z.object({
|
|
140
|
+
template: ServerTemplateSchema,
|
|
141
|
+
instances: z.array(ServerInstanceSchema).default([]),
|
|
142
|
+
tagDefinitions: z.array(TagDefinitionSchema).default([])
|
|
143
|
+
});
|
|
144
|
+
// ====== Logging Configuration Schema ======
|
|
145
|
+
/**
|
|
146
|
+
* Logging Configuration Schema
|
|
147
|
+
*/
|
|
148
|
+
export const LoggingConfigSchema = z
|
|
149
|
+
.object({
|
|
150
|
+
level: z.custom().default('info'),
|
|
151
|
+
rotationAge: z.string().default('7d'),
|
|
152
|
+
jsonPretty: z.boolean().default(true),
|
|
153
|
+
mcpCommDebug: z.boolean().default(false),
|
|
154
|
+
apiDebug: z.boolean().default(false)
|
|
155
|
+
})
|
|
156
|
+
.default({
|
|
157
|
+
level: 'info',
|
|
158
|
+
rotationAge: '7d',
|
|
159
|
+
jsonPretty: true,
|
|
160
|
+
mcpCommDebug: false,
|
|
161
|
+
apiDebug: false
|
|
162
|
+
});
|
|
163
|
+
// ====== Security Configuration Schema ======
|
|
164
|
+
/**
|
|
165
|
+
* Security Configuration Schema
|
|
166
|
+
*/
|
|
167
|
+
export const SecurityConfigSchema = z
|
|
168
|
+
.object({
|
|
169
|
+
allowedNetworks: z
|
|
170
|
+
.array(z.string())
|
|
171
|
+
.default(['127.0.0.1', '192.168.0.0/16', '10.0.0.0/8', '172.16.0.0/12']),
|
|
172
|
+
maxConcurrentConnections: z.number().min(1).max(1000).default(50),
|
|
173
|
+
connectionTimeout: z.number().min(1000).default(30000),
|
|
174
|
+
idleConnectionTimeout: z.number().min(30000).default(300000),
|
|
175
|
+
maxConnections: z.number().min(1).max(1000).default(50)
|
|
176
|
+
})
|
|
177
|
+
.default({
|
|
178
|
+
allowedNetworks: ['127.0.0.1', '192.168.0.0/16', '10.0.0.0/8', '172.16.0.0/12'],
|
|
179
|
+
maxConcurrentConnections: 50,
|
|
180
|
+
connectionTimeout: 30000,
|
|
181
|
+
idleConnectionTimeout: 300000,
|
|
182
|
+
maxConnections: 50
|
|
183
|
+
});
|
|
184
|
+
// ====== System Configuration Schema ======
|
|
185
|
+
/**
|
|
186
|
+
* System Configuration Schema (v1.1 - Primary)
|
|
187
|
+
*/
|
|
188
|
+
export const SystemConfigSchema = z.object({
|
|
189
|
+
version: z.literal('1.1.0').default('1.1.0'),
|
|
190
|
+
system: z
|
|
191
|
+
.object({
|
|
192
|
+
host: z.string().default('localhost'),
|
|
193
|
+
port: z.number().default(7788),
|
|
194
|
+
language: z.enum(['zh', 'en']).default('zh'),
|
|
195
|
+
theme: z.enum(['light', 'dark', 'system']).default('system'),
|
|
196
|
+
logging: LoggingConfigSchema
|
|
197
|
+
})
|
|
198
|
+
.default({
|
|
199
|
+
host: 'localhost',
|
|
200
|
+
port: 7788,
|
|
201
|
+
language: 'zh',
|
|
202
|
+
theme: 'system',
|
|
203
|
+
logging: {
|
|
204
|
+
level: 'info',
|
|
205
|
+
rotationAge: '7d',
|
|
206
|
+
jsonPretty: true,
|
|
207
|
+
mcpCommDebug: false,
|
|
208
|
+
apiDebug: false
|
|
209
|
+
}
|
|
210
|
+
}),
|
|
211
|
+
security: SecurityConfigSchema,
|
|
212
|
+
servers: z.record(z.string(), ServerConfigSchema).default({}),
|
|
213
|
+
tagDefinitions: z.array(TagDefinitionSchema).default([])
|
|
214
|
+
});
|
|
215
|
+
// ====== Server Instance Config Schema ======
|
|
216
|
+
/**
|
|
217
|
+
* Server instance runtime configuration (for connection manager)
|
|
218
|
+
* Contains runtime-specific fields like timestamp, pid, etc.
|
|
219
|
+
*/
|
|
220
|
+
export const ServerInstanceConfigSchema = ServerInstanceMetadataSchema.merge(ServerInstanceRuntimeSchema.required({ timestamp: true }));
|