@loop_ouroboros/mcp-hub-lite 1.0.2 → 1.1.1
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-BBwvy1oj.js} +1 -1
- package/dist/client/assets/ResourceDetailView-CZ2aB73w.js +1 -0
- package/dist/client/assets/ResourceDetailView-DUJZbegl.css +1 -0
- package/dist/client/assets/ResourcesView-CN1NlhWs.js +1 -0
- package/dist/client/assets/ResourcesView-Cc8RHtia.css +1 -0
- package/dist/client/assets/ServerDashboard-BfLeFDGw.css +1 -0
- package/dist/client/assets/ServerDashboard-k652Vw4Z.js +1 -0
- package/dist/client/assets/ServerDetail-BLQ-a4cO.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-BHrsFD5i.js +36 -0
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHhwEuGe.js +1 -0
- package/dist/client/assets/SettingsView-CUOFNXrz.js +1 -0
- package/dist/client/assets/SettingsView-GkBOKL0V.css +1 -0
- package/dist/client/assets/ToolCallDialog-BfPjLxfV.js +1 -0
- package/dist/client/assets/ToolsView-BxgXvPC3.css +1 -0
- package/dist/client/assets/ToolsView-CyuhYAE2.js +1 -0
- package/dist/client/assets/{_baseClone-5q1b0P3O.js → _baseClone-DO5qfalW.js} +1 -1
- package/dist/client/assets/el-form-item-B4LbJ6OO.css +1 -0
- package/dist/client/assets/el-form-item-CcGsD2K_.js +12 -0
- package/dist/client/assets/el-input-BH4BZKnG.css +1 -0
- package/dist/client/assets/el-input-tYgeiaCT.js +1 -0
- package/dist/client/assets/{el-loading-H85n3BUC.js → el-loading-Dwl9E_Vr.js} +1 -1
- package/dist/client/assets/{el-select-C0U_l4IZ.css → el-overlay-CBvdpA69.css} +1 -1
- package/dist/client/assets/el-overlay-kqX_BABo.js +1 -0
- package/dist/client/assets/{ResourceDetailView-BdOaL_-o.css → el-radio-group-B0bauIRR.css} +1 -1
- package/dist/client/assets/el-radio-group-D8aWBVOT.js +1 -0
- package/dist/client/assets/el-skeleton-item-BLY1jEuR.css +1 -0
- package/dist/client/assets/el-skeleton-item-BRwIFspE.js +1 -0
- package/dist/client/assets/el-switch-BBrS-_6y.css +1 -0
- package/dist/client/assets/el-switch-BF8c-xeU.js +1 -0
- package/dist/client/assets/el-tab-pane-C4Ep94cd.js +1 -0
- package/dist/client/assets/el-table-column-BdvRS9Y2.css +1 -0
- package/dist/client/assets/el-table-column-Cog6uCh-.js +1 -0
- package/dist/client/assets/index-ByNBhPAR.js +1 -0
- package/dist/client/assets/index-CTB6oe-9.js +2 -0
- package/dist/client/assets/{index-BsDWtoIl.css → index-DpH6ZSbs.css} +1 -1
- package/dist/client/assets/omit-CUnDT6sS.js +1 -0
- package/dist/client/assets/{raf-DY5mgbuB.js → raf-CmzeRPMd.js} +1 -1
- package/dist/client/assets/{vue-vendor-6ny5zj9i.js → vue-vendor-CbgVSHIh.js} +3 -3
- 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/debug-response-wrapper.js +2 -2
- 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 +32 -49
- 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/server.d.ts +57 -0
- package/dist/server/src/cli/commands/server.d.ts.map +1 -0
- package/dist/server/src/cli/commands/server.js +169 -0
- 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 +53 -23
- package/dist/server/src/services/gateway/global-transport.d.ts +19 -0
- package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -0
- package/dist/server/src/services/gateway/global-transport.js +66 -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 +20 -80
- 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/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/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/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/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/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 +3 -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/ToolsView-E3Ps9c7i.css +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/omit-DPsOVNIJ.js +0 -1
- package/dist/client/assets/vnode-CHomNjgN.js +0 -1
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import type { RequestOptions, ServerInstanceInfo, ValidServer } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Gets the description for a server, using a default if none is provided.
|
|
4
|
+
*
|
|
5
|
+
* @param serverConfig - Server configuration object (may contain description in template)
|
|
6
|
+
* @param serverName - Name of the server
|
|
7
|
+
* @returns The server description or a default one
|
|
8
|
+
*/
|
|
9
|
+
export declare function getServerDescription(serverConfig: {
|
|
10
|
+
template?: {
|
|
11
|
+
description?: string;
|
|
12
|
+
};
|
|
13
|
+
} | undefined, serverName: string): string;
|
|
2
14
|
/**
|
|
3
15
|
* Type guard to validate that a server object has valid name and configuration.
|
|
4
16
|
*
|
|
@@ -22,26 +34,24 @@ export declare function hasValidId(server: unknown): server is ValidServer;
|
|
|
22
34
|
* Selects the best server instance based on server name and request options.
|
|
23
35
|
*
|
|
24
36
|
* This function resolves a server name to its configuration and instance details,
|
|
25
|
-
* handling both single and multiple instance scenarios
|
|
26
|
-
*
|
|
27
|
-
* future extensions for intelligent instance selection based on session ID,
|
|
28
|
-
* tags, client ID, or load conditions.
|
|
37
|
+
* handling both single and multiple instance scenarios using configurable instance
|
|
38
|
+
* selection strategies (random, round-robin, tag-match-unique).
|
|
29
39
|
*
|
|
30
40
|
* The function performs the following steps:
|
|
31
41
|
* 1. Retrieves all instances of the specified server name
|
|
32
42
|
* 2. Returns undefined if no instances are found
|
|
33
43
|
* 3. Gets the server configuration from the hub manager
|
|
34
|
-
* 4.
|
|
35
|
-
* 5.
|
|
44
|
+
* 4. Uses InstanceSelector to choose the best instance based on configured strategy
|
|
45
|
+
* 5. Handles errors based on the strictMode parameter
|
|
36
46
|
*
|
|
37
|
-
*
|
|
38
|
-
* -
|
|
39
|
-
* -
|
|
40
|
-
* -
|
|
41
|
-
* - Client-specific instance assignment
|
|
47
|
+
* Supported instance selection strategies:
|
|
48
|
+
* - random: Randomly selects from enabled instances
|
|
49
|
+
* - round-robin: Cycles through enabled instances in order
|
|
50
|
+
* - tag-match-unique: Selects instance that uniquely matches request tags
|
|
42
51
|
*
|
|
43
52
|
* @param {string} serverName - Name of the server to select an instance for
|
|
44
53
|
* @param {RequestOptions} [requestOptions] - Optional request options for instance selection
|
|
54
|
+
* @param {boolean} [strictMode=true] - Whether to throw errors for tag-match-unique failures (default: true)
|
|
45
55
|
* @returns {{ name: string; config: ServerConfig; instance: ServerInstanceConfig & Record<string, unknown> } | undefined}
|
|
46
56
|
* Server information with configuration and instance details, or undefined if not found
|
|
47
57
|
*
|
|
@@ -52,12 +62,15 @@ export declare function hasValidId(server: unknown): server is ValidServer;
|
|
|
52
62
|
* console.log(`Selected instance: ${serverInfo.instance.id}`);
|
|
53
63
|
* }
|
|
54
64
|
*
|
|
55
|
-
* // With request options
|
|
65
|
+
* // With request options for tag matching
|
|
56
66
|
* const serverInfoWithOptions = selectBestInstance('my-mcp-server', {
|
|
57
67
|
* sessionId: 'session-123',
|
|
58
68
|
* tags: { environment: 'production' }
|
|
59
69
|
* });
|
|
70
|
+
*
|
|
71
|
+
* // Non-strict mode for management operations
|
|
72
|
+
* const serverInfoNonStrict = selectBestInstance('my-mcp-server', undefined, false);
|
|
60
73
|
* ```
|
|
61
74
|
*/
|
|
62
|
-
export declare function selectBestInstance(serverName: string, requestOptions?: RequestOptions): ServerInstanceInfo | undefined;
|
|
75
|
+
export declare function selectBestInstance(serverName: string, requestOptions?: RequestOptions, strictMode?: boolean): ServerInstanceInfo | undefined;
|
|
63
76
|
//# sourceMappingURL=server-selector.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-selector.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/server-selector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-selector.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/server-selector.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE;IAAE,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG,SAAS,EACjE,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,WAAW,CAMjE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,EAC/B,UAAU,GAAE,OAAc,GACzB,kBAAkB,GAAG,SAAS,CA8ChC"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { hubManager } from '../hub-manager.service.js';
|
|
2
|
+
import { InstanceSelector, TagMatchUniqueError } from './instance-selector.js';
|
|
3
|
+
import { logger } from '../../utils/logger.js';
|
|
4
|
+
import { LOG_MODULES } from '../../utils/logger/log-modules.js';
|
|
5
|
+
/**
|
|
6
|
+
* Gets the description for a server, using a default if none is provided.
|
|
7
|
+
*
|
|
8
|
+
* @param serverConfig - Server configuration object (may contain description in template)
|
|
9
|
+
* @param serverName - Name of the server
|
|
10
|
+
* @returns The server description or a default one
|
|
11
|
+
*/
|
|
12
|
+
export function getServerDescription(serverConfig, serverName) {
|
|
13
|
+
return serverConfig?.template?.description || `Connected MCP server: ${serverName}`;
|
|
14
|
+
}
|
|
2
15
|
/**
|
|
3
16
|
* Type guard to validate that a server object has valid name and configuration.
|
|
4
17
|
*
|
|
@@ -28,26 +41,24 @@ export function hasValidId(server) {
|
|
|
28
41
|
* Selects the best server instance based on server name and request options.
|
|
29
42
|
*
|
|
30
43
|
* This function resolves a server name to its configuration and instance details,
|
|
31
|
-
* handling both single and multiple instance scenarios
|
|
32
|
-
*
|
|
33
|
-
* future extensions for intelligent instance selection based on session ID,
|
|
34
|
-
* tags, client ID, or load conditions.
|
|
44
|
+
* handling both single and multiple instance scenarios using configurable instance
|
|
45
|
+
* selection strategies (random, round-robin, tag-match-unique).
|
|
35
46
|
*
|
|
36
47
|
* The function performs the following steps:
|
|
37
48
|
* 1. Retrieves all instances of the specified server name
|
|
38
49
|
* 2. Returns undefined if no instances are found
|
|
39
50
|
* 3. Gets the server configuration from the hub manager
|
|
40
|
-
* 4.
|
|
41
|
-
* 5.
|
|
51
|
+
* 4. Uses InstanceSelector to choose the best instance based on configured strategy
|
|
52
|
+
* 5. Handles errors based on the strictMode parameter
|
|
42
53
|
*
|
|
43
|
-
*
|
|
44
|
-
* -
|
|
45
|
-
* -
|
|
46
|
-
* -
|
|
47
|
-
* - Client-specific instance assignment
|
|
54
|
+
* Supported instance selection strategies:
|
|
55
|
+
* - random: Randomly selects from enabled instances
|
|
56
|
+
* - round-robin: Cycles through enabled instances in order
|
|
57
|
+
* - tag-match-unique: Selects instance that uniquely matches request tags
|
|
48
58
|
*
|
|
49
59
|
* @param {string} serverName - Name of the server to select an instance for
|
|
50
60
|
* @param {RequestOptions} [requestOptions] - Optional request options for instance selection
|
|
61
|
+
* @param {boolean} [strictMode=true] - Whether to throw errors for tag-match-unique failures (default: true)
|
|
51
62
|
* @returns {{ name: string; config: ServerConfig; instance: ServerInstanceConfig & Record<string, unknown> } | undefined}
|
|
52
63
|
* Server information with configuration and instance details, or undefined if not found
|
|
53
64
|
*
|
|
@@ -58,16 +69,19 @@ export function hasValidId(server) {
|
|
|
58
69
|
* console.log(`Selected instance: ${serverInfo.instance.id}`);
|
|
59
70
|
* }
|
|
60
71
|
*
|
|
61
|
-
* // With request options
|
|
72
|
+
* // With request options for tag matching
|
|
62
73
|
* const serverInfoWithOptions = selectBestInstance('my-mcp-server', {
|
|
63
74
|
* sessionId: 'session-123',
|
|
64
75
|
* tags: { environment: 'production' }
|
|
65
76
|
* });
|
|
77
|
+
*
|
|
78
|
+
* // Non-strict mode for management operations
|
|
79
|
+
* const serverInfoNonStrict = selectBestInstance('my-mcp-server', undefined, false);
|
|
66
80
|
* ```
|
|
67
81
|
*/
|
|
68
|
-
export function selectBestInstance(serverName, requestOptions) {
|
|
82
|
+
export function selectBestInstance(serverName, requestOptions, strictMode = true) {
|
|
69
83
|
// Get all instances of the server
|
|
70
|
-
const instances = hubManager.
|
|
84
|
+
const instances = hubManager.getServerInstancesByName(serverName);
|
|
71
85
|
if (instances.length === 0) {
|
|
72
86
|
return undefined;
|
|
73
87
|
}
|
|
@@ -76,33 +90,26 @@ export function selectBestInstance(serverName, requestOptions) {
|
|
|
76
90
|
if (!serverConfig) {
|
|
77
91
|
return undefined;
|
|
78
92
|
}
|
|
79
|
-
|
|
80
|
-
|
|
93
|
+
try {
|
|
94
|
+
// Use the new instance selector
|
|
95
|
+
const selectedInstance = InstanceSelector.selectInstance(serverName, serverConfig, requestOptions);
|
|
96
|
+
if (!selectedInstance) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
81
99
|
return {
|
|
82
100
|
name: serverName,
|
|
83
101
|
config: serverConfig,
|
|
84
|
-
instance:
|
|
102
|
+
instance: selectedInstance
|
|
85
103
|
};
|
|
86
104
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
// In the future, specific instance can be selected based on sessionId
|
|
97
|
-
// Currently return the first instance temporarily
|
|
98
|
-
}
|
|
99
|
-
if (requestOptions?.tags) {
|
|
100
|
-
// In the future, optimal instance can be selected based on tags matching
|
|
101
|
-
// Currently return the first instance temporarily
|
|
105
|
+
catch (error) {
|
|
106
|
+
// In strict mode, re-throw tag matching errors to maintain correct semantics
|
|
107
|
+
if (strictMode && error instanceof TagMatchUniqueError) {
|
|
108
|
+
// Re-throw with server context added to message
|
|
109
|
+
throw new Error(`[${serverName}] ${error.message}`);
|
|
110
|
+
}
|
|
111
|
+
// Handle other errors or non-strict mode gracefully
|
|
112
|
+
logger.error(`Instance selection failed for server ${serverName}:`, error, LOG_MODULES.SERVER_SELECTOR);
|
|
113
|
+
return undefined;
|
|
102
114
|
}
|
|
103
|
-
return {
|
|
104
|
-
name: serverName,
|
|
105
|
-
config: serverConfig,
|
|
106
|
-
instance: instances[0] // Will be extended to intelligent selection logic later
|
|
107
|
-
};
|
|
108
115
|
}
|
|
@@ -27,12 +27,9 @@ export interface SystemToolDefinition {
|
|
|
27
27
|
*
|
|
28
28
|
* The method implements all standard system tools:
|
|
29
29
|
* - list-servers: List all connected servers
|
|
30
|
-
* -
|
|
31
|
-
* - list-all-tools-in-server: List tools from a specific server
|
|
32
|
-
* - find-tools-in-server: Find tools in a specific server
|
|
30
|
+
* - list-tools-in-server: List tools from a specific server
|
|
33
31
|
* - get-tool: Get complete tool schema
|
|
34
32
|
* - call-tool: Call a specific tool from a specific server
|
|
35
|
-
* - find-tools: Find tools across all servers
|
|
36
33
|
*
|
|
37
34
|
* @returns {Array<{ name: string; description: string; inputSchema: JsonSchema; annotations?: ToolAnnotations }>}
|
|
38
35
|
* Array of system tool configurations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-tool-definitions.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/system-tool-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"system-tool-definitions.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/system-tool-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAU/D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,IAAI,oBAAoB,EAAE,CA6IvD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SYSTEM_TOOL_NAMES, LIST_SERVERS_TOOL,
|
|
1
|
+
import { SYSTEM_TOOL_NAMES, LIST_SERVERS_TOOL, LIST_TOOLS_IN_SERVER_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, UPDATE_SERVER_DESCRIPTION_TOOL } from '../../models/system-tools.constants.js';
|
|
2
2
|
/**
|
|
3
3
|
* Retrieves the complete list of system tools provided by this service.
|
|
4
4
|
*
|
|
@@ -8,12 +8,9 @@ import { SYSTEM_TOOL_NAMES, LIST_SERVERS_TOOL, FIND_SERVERS_TOOL, LIST_ALL_TOOLS
|
|
|
8
8
|
*
|
|
9
9
|
* The method implements all standard system tools:
|
|
10
10
|
* - list-servers: List all connected servers
|
|
11
|
-
* -
|
|
12
|
-
* - list-all-tools-in-server: List tools from a specific server
|
|
13
|
-
* - find-tools-in-server: Find tools in a specific server
|
|
11
|
+
* - list-tools-in-server: List tools from a specific server
|
|
14
12
|
* - get-tool: Get complete tool schema
|
|
15
13
|
* - call-tool: Call a specific tool from a specific server
|
|
16
|
-
* - find-tools: Find tools across all servers
|
|
17
14
|
*
|
|
18
15
|
* @returns {Array<{ name: string; description: string; inputSchema: JsonSchema; annotations?: ToolAnnotations }>}
|
|
19
16
|
* Array of system tool configurations
|
|
@@ -46,33 +43,7 @@ export function getSystemTools() {
|
|
|
46
43
|
}
|
|
47
44
|
});
|
|
48
45
|
break;
|
|
49
|
-
case
|
|
50
|
-
systemTools.push({
|
|
51
|
-
name: toolName,
|
|
52
|
-
description: 'Find servers matching a pattern',
|
|
53
|
-
inputSchema: {
|
|
54
|
-
type: 'object',
|
|
55
|
-
properties: {
|
|
56
|
-
pattern: { type: 'string', description: 'Regex pattern to search for' },
|
|
57
|
-
searchIn: {
|
|
58
|
-
type: 'string',
|
|
59
|
-
enum: ['name', 'description', 'both'],
|
|
60
|
-
default: 'both'
|
|
61
|
-
},
|
|
62
|
-
caseSensitive: { type: 'boolean', default: false }
|
|
63
|
-
},
|
|
64
|
-
required: ['pattern']
|
|
65
|
-
},
|
|
66
|
-
annotations: {
|
|
67
|
-
title: 'Find Servers',
|
|
68
|
-
readOnlyHint: true,
|
|
69
|
-
destructiveHint: false,
|
|
70
|
-
idempotentHint: true,
|
|
71
|
-
openWorldHint: false
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
break;
|
|
75
|
-
case LIST_ALL_TOOLS_IN_SERVER_TOOL:
|
|
46
|
+
case LIST_TOOLS_IN_SERVER_TOOL:
|
|
76
47
|
systemTools.push({
|
|
77
48
|
name: toolName,
|
|
78
49
|
description: 'List all tools from a specific server',
|
|
@@ -99,40 +70,6 @@ export function getSystemTools() {
|
|
|
99
70
|
}
|
|
100
71
|
});
|
|
101
72
|
break;
|
|
102
|
-
case FIND_TOOLS_IN_SERVER_TOOL:
|
|
103
|
-
systemTools.push({
|
|
104
|
-
name: toolName,
|
|
105
|
-
description: 'Find tools matching a pattern in a specific server',
|
|
106
|
-
inputSchema: {
|
|
107
|
-
type: 'object',
|
|
108
|
-
properties: {
|
|
109
|
-
serverName: { type: 'string', description: 'Name of the MCP server' },
|
|
110
|
-
pattern: { type: 'string', description: 'Regex pattern to search for' },
|
|
111
|
-
searchIn: {
|
|
112
|
-
type: 'string',
|
|
113
|
-
enum: ['name', 'description', 'both'],
|
|
114
|
-
default: 'both'
|
|
115
|
-
},
|
|
116
|
-
caseSensitive: { type: 'boolean', default: false },
|
|
117
|
-
requestOptions: {
|
|
118
|
-
type: 'object',
|
|
119
|
-
properties: {
|
|
120
|
-
sessionId: { type: 'string', description: 'Session ID for instance selection' },
|
|
121
|
-
tags: { type: 'object', description: 'Tags for instance selection' }
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
required: ['serverName', 'pattern']
|
|
126
|
-
},
|
|
127
|
-
annotations: {
|
|
128
|
-
title: 'Find Tools in Server',
|
|
129
|
-
readOnlyHint: true,
|
|
130
|
-
destructiveHint: false,
|
|
131
|
-
idempotentHint: true,
|
|
132
|
-
openWorldHint: false
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
break;
|
|
136
73
|
case GET_TOOL_TOOL:
|
|
137
74
|
systemTools.push({
|
|
138
75
|
name: toolName,
|
|
@@ -164,11 +101,16 @@ export function getSystemTools() {
|
|
|
164
101
|
case CALL_TOOL_TOOL:
|
|
165
102
|
systemTools.push({
|
|
166
103
|
name: toolName,
|
|
167
|
-
description: 'Call a specific tool from
|
|
104
|
+
description: 'Call a specific tool from an external MCP server. ' +
|
|
105
|
+
'System tools (list_servers, list_tools_in_server, get_tool, update_server_description) ' +
|
|
106
|
+
'must be called directly via tools/call, not through this tool.',
|
|
168
107
|
inputSchema: {
|
|
169
108
|
type: 'object',
|
|
170
109
|
properties: {
|
|
171
|
-
serverName: {
|
|
110
|
+
serverName: {
|
|
111
|
+
type: 'string',
|
|
112
|
+
description: 'Name of the MCP server (must be an external server, not mcp-hub-lite)'
|
|
113
|
+
},
|
|
172
114
|
toolName: { type: 'string', description: 'Name of the tool to call' },
|
|
173
115
|
toolArgs: { type: 'object', description: 'Arguments to pass to the tool' },
|
|
174
116
|
requestOptions: {
|
|
@@ -190,26 +132,21 @@ export function getSystemTools() {
|
|
|
190
132
|
}
|
|
191
133
|
});
|
|
192
134
|
break;
|
|
193
|
-
case
|
|
135
|
+
case UPDATE_SERVER_DESCRIPTION_TOOL:
|
|
194
136
|
systemTools.push({
|
|
195
137
|
name: toolName,
|
|
196
|
-
description: '
|
|
138
|
+
description: 'Update the description of a specific MCP server',
|
|
197
139
|
inputSchema: {
|
|
198
140
|
type: 'object',
|
|
199
141
|
properties: {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
type: 'string',
|
|
203
|
-
enum: ['name', 'description', 'both'],
|
|
204
|
-
default: 'both'
|
|
205
|
-
},
|
|
206
|
-
caseSensitive: { type: 'boolean', default: false }
|
|
142
|
+
serverName: { type: 'string', description: 'Name of the MCP server to update' },
|
|
143
|
+
description: { type: 'string', description: 'New description text for the server' }
|
|
207
144
|
},
|
|
208
|
-
required: ['
|
|
145
|
+
required: ['serverName', 'description']
|
|
209
146
|
},
|
|
210
147
|
annotations: {
|
|
211
|
-
title: '
|
|
212
|
-
readOnlyHint:
|
|
148
|
+
title: 'Update Server Description',
|
|
149
|
+
readOnlyHint: false,
|
|
213
150
|
destructiveHint: false,
|
|
214
151
|
idempotentHint: true,
|
|
215
152
|
openWorldHint: false
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ToolSummary } from '../../../shared/models/tool.model.js';
|
|
2
2
|
import type { RequestOptions } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Search options for server searches.
|
|
@@ -42,7 +42,7 @@ export declare function findServers(pattern: string, searchIn?: 'name' | 'descri
|
|
|
42
42
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
43
43
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
44
44
|
* @param {RequestOptions} [requestOptions] - Optional request options for instance selection
|
|
45
|
-
* @returns {Promise<{ serverName: string; tools:
|
|
45
|
+
* @returns {Promise<{ serverName: string; tools: ToolSummary[] }>} Object containing server name and matching tools
|
|
46
46
|
* @throws {Error} If the specified server is not found or not connected
|
|
47
47
|
*
|
|
48
48
|
* @example
|
|
@@ -53,7 +53,7 @@ export declare function findServers(pattern: string, searchIn?: 'name' | 'descri
|
|
|
53
53
|
*/
|
|
54
54
|
export declare function findToolsInServer(serverName: string, pattern: string, searchIn?: 'name' | 'description' | 'both', caseSensitive?: boolean, requestOptions?: RequestOptions): Promise<{
|
|
55
55
|
serverName: string;
|
|
56
|
-
tools:
|
|
56
|
+
tools: ToolSummary[];
|
|
57
57
|
}>;
|
|
58
58
|
/**
|
|
59
59
|
* Finds tools matching a pattern across all connected MCP servers.
|
|
@@ -66,8 +66,8 @@ export declare function findToolsInServer(serverName: string, pattern: string, s
|
|
|
66
66
|
* @param {string} pattern - Regex pattern to search for in tool names and descriptions
|
|
67
67
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
68
68
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
69
|
-
* @param {() => Promise<Record<string, { tools:
|
|
70
|
-
* @returns {Promise<Record<string, { tools:
|
|
69
|
+
* @param {() => Promise<Record<string, { tools: ToolSummary[] }>>} listAllToolsFn - Function to list all tools
|
|
70
|
+
* @returns {Promise<Record<string, { tools: ToolSummary[] }>>} Object mapping server names to matching tools
|
|
71
71
|
*
|
|
72
72
|
* @example
|
|
73
73
|
* ```typescript
|
|
@@ -78,8 +78,8 @@ export declare function findToolsInServer(serverName: string, pattern: string, s
|
|
|
78
78
|
* ```
|
|
79
79
|
*/
|
|
80
80
|
export declare function findTools(pattern: string, searchIn: "name" | "description" | "both" | undefined, caseSensitive: boolean | undefined, listAllToolsFn: () => Promise<Record<string, {
|
|
81
|
-
tools:
|
|
81
|
+
tools: ToolSummary[];
|
|
82
82
|
}>>): Promise<Record<string, {
|
|
83
|
-
tools:
|
|
83
|
+
tools: ToolSummary[];
|
|
84
84
|
}>>;
|
|
85
85
|
//# sourceMappingURL=tool-search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/tool-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-search.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/tool-search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,GAAG,aAAa,GAAG,MAAe,EAClD,aAAa,GAAE,OAAe,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAYnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,GAAG,aAAa,GAAG,MAAe,EAClD,aAAa,GAAE,OAAe,EAC9B,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB,CAAC,CA4BD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,YAAS,EAClD,aAAa,EAAE,OAAO,YAAQ,EAC9B,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAAC,GACtE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CAAC,CAsBnD"}
|
|
@@ -47,7 +47,7 @@ export async function findServers(pattern, searchIn = 'both', caseSensitive = fa
|
|
|
47
47
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
48
48
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
49
49
|
* @param {RequestOptions} [requestOptions] - Optional request options for instance selection
|
|
50
|
-
* @returns {Promise<{ serverName: string; tools:
|
|
50
|
+
* @returns {Promise<{ serverName: string; tools: ToolSummary[] }>} Object containing server name and matching tools
|
|
51
51
|
* @throws {Error} If the specified server is not found or not connected
|
|
52
52
|
*
|
|
53
53
|
* @example
|
|
@@ -68,9 +68,15 @@ export async function findToolsInServer(serverName, pattern, searchIn = 'both',
|
|
|
68
68
|
const matchDescription = searchIn !== 'name' && tool.description && regex.test(tool.description);
|
|
69
69
|
return matchName || matchDescription;
|
|
70
70
|
});
|
|
71
|
+
// Convert to ToolSummary format
|
|
72
|
+
const toolSummaries = matchingTools.map((tool) => ({
|
|
73
|
+
name: tool.name,
|
|
74
|
+
description: tool.description,
|
|
75
|
+
serverName: serverName
|
|
76
|
+
}));
|
|
71
77
|
return {
|
|
72
78
|
serverName: serverName,
|
|
73
|
-
tools:
|
|
79
|
+
tools: toolSummaries
|
|
74
80
|
};
|
|
75
81
|
}
|
|
76
82
|
/**
|
|
@@ -84,8 +90,8 @@ export async function findToolsInServer(serverName, pattern, searchIn = 'both',
|
|
|
84
90
|
* @param {string} pattern - Regex pattern to search for in tool names and descriptions
|
|
85
91
|
* @param {'name' | 'description' | 'both'} [searchIn='both'] - Where to perform the search
|
|
86
92
|
* @param {boolean} [caseSensitive=false] - Whether the search should be case-sensitive
|
|
87
|
-
* @param {() => Promise<Record<string, { tools:
|
|
88
|
-
* @returns {Promise<Record<string, { tools:
|
|
93
|
+
* @param {() => Promise<Record<string, { tools: ToolSummary[] }>>} listAllToolsFn - Function to list all tools
|
|
94
|
+
* @returns {Promise<Record<string, { tools: ToolSummary[] }>>} Object mapping server names to matching tools
|
|
89
95
|
*
|
|
90
96
|
* @example
|
|
91
97
|
* ```typescript
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ServerConfig
|
|
1
|
+
import type { ServerConfig } from '../../config/config.schema.js';
|
|
2
2
|
/**
|
|
3
3
|
* Configuration options for server instance selection in multi-instance scenarios.
|
|
4
4
|
*
|
|
@@ -30,7 +30,7 @@ export interface RequestOptions {
|
|
|
30
30
|
export type ServerInstanceInfo = {
|
|
31
31
|
name: string;
|
|
32
32
|
config: ServerConfig;
|
|
33
|
-
instance:
|
|
33
|
+
instance: Record<string, unknown>;
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Type guard return type.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/hub-tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAG/B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAA;CAAE,CAAC"}
|