@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
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
3
|
* Session State Schema
|
|
4
|
-
* Represents the
|
|
4
|
+
* Represents the state of a client session (in-memory only)
|
|
5
5
|
*/
|
|
6
6
|
export declare const SessionStateSchema: z.ZodObject<{
|
|
7
7
|
sessionId: z.ZodString;
|
|
8
8
|
clientName: z.ZodOptional<z.ZodString>;
|
|
9
9
|
clientVersion: z.ZodOptional<z.ZodString>;
|
|
10
10
|
protocolVersion: z.ZodOptional<z.ZodString>;
|
|
11
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
12
|
-
project: z.ZodOptional<z.ZodString>;
|
|
13
11
|
userAgent: z.ZodOptional<z.ZodString>;
|
|
14
12
|
ip: z.ZodOptional<z.ZodString>;
|
|
15
13
|
capabilities: z.ZodOptional<z.ZodAny>;
|
|
@@ -18,58 +16,4 @@ export declare const SessionStateSchema: z.ZodObject<{
|
|
|
18
16
|
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
19
17
|
}, z.core.$strip>;
|
|
20
18
|
export type SessionState = z.infer<typeof SessionStateSchema>;
|
|
21
|
-
/**
|
|
22
|
-
* Session Store Schema
|
|
23
|
-
* Container for all persisted sessions
|
|
24
|
-
*/
|
|
25
|
-
export declare const SessionStoreSchema: z.ZodObject<{
|
|
26
|
-
version: z.ZodDefault<z.ZodString>;
|
|
27
|
-
sessions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
28
|
-
sessionId: z.ZodString;
|
|
29
|
-
clientName: z.ZodOptional<z.ZodString>;
|
|
30
|
-
clientVersion: z.ZodOptional<z.ZodString>;
|
|
31
|
-
protocolVersion: z.ZodOptional<z.ZodString>;
|
|
32
|
-
cwd: z.ZodOptional<z.ZodString>;
|
|
33
|
-
project: z.ZodOptional<z.ZodString>;
|
|
34
|
-
userAgent: z.ZodOptional<z.ZodString>;
|
|
35
|
-
ip: z.ZodOptional<z.ZodString>;
|
|
36
|
-
capabilities: z.ZodOptional<z.ZodAny>;
|
|
37
|
-
createdAt: z.ZodNumber;
|
|
38
|
-
lastAccessedAt: z.ZodNumber;
|
|
39
|
-
metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
40
|
-
}, z.core.$strip>>>;
|
|
41
|
-
}, z.core.$strip>;
|
|
42
|
-
export type SessionStore = z.infer<typeof SessionStoreSchema>;
|
|
43
|
-
/**
|
|
44
|
-
* Create a new empty session store
|
|
45
|
-
*/
|
|
46
|
-
export declare function createEmptySessionStore(): SessionStore;
|
|
47
|
-
/**
|
|
48
|
-
* Validates and normalizes session store data using Zod schema validation.
|
|
49
|
-
*
|
|
50
|
-
* This function takes raw session store data (typically parsed from JSON) and validates it
|
|
51
|
-
* against the SessionStoreSchema. If validation succeeds, it returns the validated and
|
|
52
|
-
* normalized data. If validation fails, it returns an empty session store with default values.
|
|
53
|
-
*
|
|
54
|
-
* The function uses safeParse to prevent exceptions during validation, making it safe to use
|
|
55
|
-
* with untrusted or potentially corrupted data sources like persisted JSON files.
|
|
56
|
-
*
|
|
57
|
-
* @param {unknown} data - Raw session store data to validate (typically from JSON.parse)
|
|
58
|
-
* @returns {SessionStore} Validated session store data, or an empty store if validation fails
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* ```typescript
|
|
62
|
-
* // Validate data from a JSON file
|
|
63
|
-
* // Note: In practice, sessions are stored in a directory structure:
|
|
64
|
-
* // - sessions/index.json (contains session ID list)
|
|
65
|
-
* // - sessions/{sessionId}.json (individual session files)
|
|
66
|
-
* const validatedStore = validateSessionStore(rawData);
|
|
67
|
-
*
|
|
68
|
-
* // Use the validated store
|
|
69
|
-
* Object.keys(validatedStore.sessions).forEach(sessionId => {
|
|
70
|
-
* console.log(`Session: ${sessionId}`);
|
|
71
|
-
* });
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
export declare function validateSessionStore(data: unknown): SessionStore;
|
|
75
19
|
//# sourceMappingURL=session.model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/session.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"session.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/session.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAW7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
/**
|
|
3
3
|
* Session State Schema
|
|
4
|
-
* Represents the
|
|
4
|
+
* Represents the state of a client session (in-memory only)
|
|
5
5
|
*/
|
|
6
6
|
export const SessionStateSchema = z.object({
|
|
7
7
|
sessionId: z.string(),
|
|
8
8
|
clientName: z.string().optional(),
|
|
9
9
|
clientVersion: z.string().optional(),
|
|
10
10
|
protocolVersion: z.string().optional(),
|
|
11
|
-
cwd: z.string().optional(),
|
|
12
|
-
project: z.string().optional(),
|
|
13
11
|
userAgent: z.string().optional(),
|
|
14
12
|
ip: z.string().optional(),
|
|
15
13
|
capabilities: z.any().optional(),
|
|
@@ -17,55 +15,3 @@ export const SessionStateSchema = z.object({
|
|
|
17
15
|
lastAccessedAt: z.number(),
|
|
18
16
|
metadata: z.record(z.string(), z.any()).default({})
|
|
19
17
|
});
|
|
20
|
-
/**
|
|
21
|
-
* Session Store Schema
|
|
22
|
-
* Container for all persisted sessions
|
|
23
|
-
*/
|
|
24
|
-
export const SessionStoreSchema = z.object({
|
|
25
|
-
version: z.string().default('1.0.0'),
|
|
26
|
-
sessions: z.record(z.string(), SessionStateSchema).default({})
|
|
27
|
-
});
|
|
28
|
-
/**
|
|
29
|
-
* Create a new empty session store
|
|
30
|
-
*/
|
|
31
|
-
export function createEmptySessionStore() {
|
|
32
|
-
return {
|
|
33
|
-
version: '1.0.0',
|
|
34
|
-
sessions: {}
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Validates and normalizes session store data using Zod schema validation.
|
|
39
|
-
*
|
|
40
|
-
* This function takes raw session store data (typically parsed from JSON) and validates it
|
|
41
|
-
* against the SessionStoreSchema. If validation succeeds, it returns the validated and
|
|
42
|
-
* normalized data. If validation fails, it returns an empty session store with default values.
|
|
43
|
-
*
|
|
44
|
-
* The function uses safeParse to prevent exceptions during validation, making it safe to use
|
|
45
|
-
* with untrusted or potentially corrupted data sources like persisted JSON files.
|
|
46
|
-
*
|
|
47
|
-
* @param {unknown} data - Raw session store data to validate (typically from JSON.parse)
|
|
48
|
-
* @returns {SessionStore} Validated session store data, or an empty store if validation fails
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```typescript
|
|
52
|
-
* // Validate data from a JSON file
|
|
53
|
-
* // Note: In practice, sessions are stored in a directory structure:
|
|
54
|
-
* // - sessions/index.json (contains session ID list)
|
|
55
|
-
* // - sessions/{sessionId}.json (individual session files)
|
|
56
|
-
* const validatedStore = validateSessionStore(rawData);
|
|
57
|
-
*
|
|
58
|
-
* // Use the validated store
|
|
59
|
-
* Object.keys(validatedStore.sessions).forEach(sessionId => {
|
|
60
|
-
* console.log(`Session: ${sessionId}`);
|
|
61
|
-
* });
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
export function validateSessionStore(data) {
|
|
65
|
-
const result = SessionStoreSchema.safeParse(data);
|
|
66
|
-
if (result.success) {
|
|
67
|
-
return result.data;
|
|
68
|
-
}
|
|
69
|
-
// Return empty store if validation fails
|
|
70
|
-
return createEmptySessionStore();
|
|
71
|
-
}
|
|
@@ -12,11 +12,13 @@ export interface ToolAnnotations {
|
|
|
12
12
|
idempotentHint?: boolean;
|
|
13
13
|
openWorldHint?: boolean;
|
|
14
14
|
}
|
|
15
|
-
export interface
|
|
15
|
+
export interface ToolSummary {
|
|
16
16
|
name: string;
|
|
17
17
|
description?: string;
|
|
18
|
-
inputSchema?: JsonSchema;
|
|
19
18
|
serverName: string;
|
|
19
|
+
}
|
|
20
|
+
export interface Tool extends ToolSummary {
|
|
21
|
+
inputSchema?: JsonSchema;
|
|
20
22
|
annotations?: ToolAnnotations;
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=tool.model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/tool.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,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;AAGD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"tool.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/tool.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,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;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-context.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/session-context.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"session-context.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/session-context.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB"}
|
|
@@ -39,7 +39,8 @@ export interface PingMessage {
|
|
|
39
39
|
}
|
|
40
40
|
export interface FetchLogsMessage {
|
|
41
41
|
type: 'fetch-logs';
|
|
42
|
-
|
|
42
|
+
serverName: string;
|
|
43
|
+
serverIndex: number;
|
|
43
44
|
limit?: number;
|
|
44
45
|
since?: number;
|
|
45
46
|
}
|
|
@@ -47,7 +48,8 @@ export type ClientMessage = SubscribeMessage | UnsubscribeMessage | PingMessage
|
|
|
47
48
|
export interface ServerStatusEvent {
|
|
48
49
|
type: 'server-status';
|
|
49
50
|
data: {
|
|
50
|
-
|
|
51
|
+
serverName: string;
|
|
52
|
+
serverIndex: number;
|
|
51
53
|
status: 'online' | 'offline' | 'error';
|
|
52
54
|
error?: string;
|
|
53
55
|
timestamp: number;
|
|
@@ -56,7 +58,8 @@ export interface ServerStatusEvent {
|
|
|
56
58
|
export interface LogEvent {
|
|
57
59
|
type: 'log';
|
|
58
60
|
data: {
|
|
59
|
-
|
|
61
|
+
serverName: string;
|
|
62
|
+
serverIndex: number;
|
|
60
63
|
logs: Array<{
|
|
61
64
|
level: LogLevel;
|
|
62
65
|
message: string;
|
|
@@ -67,14 +70,16 @@ export interface LogEvent {
|
|
|
67
70
|
export interface ToolsEvent {
|
|
68
71
|
type: 'tools';
|
|
69
72
|
data: {
|
|
70
|
-
|
|
73
|
+
serverName: string;
|
|
74
|
+
serverIndex: number;
|
|
71
75
|
tools: Tool[];
|
|
72
76
|
};
|
|
73
77
|
}
|
|
74
78
|
export interface ResourcesEvent {
|
|
75
79
|
type: 'resources';
|
|
76
80
|
data: {
|
|
77
|
-
|
|
81
|
+
serverName: string;
|
|
82
|
+
serverIndex: number;
|
|
78
83
|
resources: Resource[];
|
|
79
84
|
};
|
|
80
85
|
}
|
|
@@ -93,7 +98,8 @@ export interface ServerDeletedEvent {
|
|
|
93
98
|
export interface ServerConnectedEvent {
|
|
94
99
|
type: 'server-connected';
|
|
95
100
|
data: {
|
|
96
|
-
|
|
101
|
+
serverName: string;
|
|
102
|
+
serverIndex: number;
|
|
97
103
|
status: 'online';
|
|
98
104
|
timestamp: number;
|
|
99
105
|
};
|
|
@@ -101,7 +107,8 @@ export interface ServerConnectedEvent {
|
|
|
101
107
|
export interface ServerDisconnectedEvent {
|
|
102
108
|
type: 'server-disconnected';
|
|
103
109
|
data: {
|
|
104
|
-
|
|
110
|
+
serverName: string;
|
|
111
|
+
serverIndex: number;
|
|
105
112
|
status: 'offline';
|
|
106
113
|
timestamp: number;
|
|
107
114
|
};
|
|
@@ -114,8 +121,8 @@ export interface ToolCallStartedEvent {
|
|
|
114
121
|
type: 'tool-call-started';
|
|
115
122
|
data: {
|
|
116
123
|
requestId: string;
|
|
117
|
-
serverId: string;
|
|
118
124
|
serverName: string;
|
|
125
|
+
serverIndex: number;
|
|
119
126
|
toolName: string;
|
|
120
127
|
timestamp: number;
|
|
121
128
|
args: Record<string, unknown>;
|
|
@@ -125,8 +132,8 @@ export interface ToolCallCompletedEvent {
|
|
|
125
132
|
type: 'tool-call-completed';
|
|
126
133
|
data: {
|
|
127
134
|
requestId: string;
|
|
128
|
-
serverId: string;
|
|
129
135
|
serverName: string;
|
|
136
|
+
serverIndex: number;
|
|
130
137
|
toolName: string;
|
|
131
138
|
timestamp: number;
|
|
132
139
|
result: unknown;
|
|
@@ -136,8 +143,8 @@ export interface ToolCallErrorEvent {
|
|
|
136
143
|
type: 'tool-call-error';
|
|
137
144
|
data: {
|
|
138
145
|
requestId: string;
|
|
139
|
-
serverId: string;
|
|
140
146
|
serverName: string;
|
|
147
|
+
serverIndex: number;
|
|
141
148
|
toolName: string;
|
|
142
149
|
timestamp: number;
|
|
143
150
|
error: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/websocket.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAG3D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;CAiBzB,CAAC;AAGX,eAAO,MAAM,oBAAoB,2SAAwC,CAAC;AAG1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMvE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"websocket.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/websocket.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Gateway endpoint using Streamable HTTP Transport
|
|
2
|
+
* MCP Gateway endpoint using Streamable HTTP Transport (stateless mode)
|
|
3
3
|
* Handles all MCP protocol requests at /mcp endpoint
|
|
4
|
-
*
|
|
5
|
-
* This is a thin wrapper around modular utilities for better maintainability.
|
|
6
4
|
*/
|
|
7
5
|
import type { FastifyInstance } from 'fastify';
|
|
8
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/gateway.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/gateway.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAM7E;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,iBA0F9D"}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP Gateway endpoint using Streamable HTTP Transport
|
|
2
|
+
* MCP Gateway endpoint using Streamable HTTP Transport (stateless mode)
|
|
3
3
|
* Handles all MCP protocol requests at /mcp endpoint
|
|
4
|
-
*
|
|
5
|
-
* This is a thin wrapper around modular utilities for better maintainability.
|
|
6
4
|
*/
|
|
7
|
-
import { logger, LOG_MODULES } from '../../utils/logger.js';
|
|
5
|
+
import { logger, LOG_MODULES } from '../../utils/logger/index.js';
|
|
8
6
|
import { stringifyForLogging, getMcpCommDebugSetting } from '../../utils/json-utils.js';
|
|
9
|
-
import { requestContext } from '../../utils/request-context.js';
|
|
10
|
-
import { sessionTrackerService } from '../../services/session-tracker.service.js';
|
|
11
|
-
import { mcpSessionManager } from '../../services/session/index.js';
|
|
12
|
-
import { cleanupStaleSseStreams } from './sse-stream-manager.js';
|
|
13
|
-
import { extractSessionContext } from './session-context-extractor.js';
|
|
14
7
|
import { wrapReplyForDebug } from './debug-response-wrapper.js';
|
|
8
|
+
import { globalTransport } from '../../services/gateway/global-transport.js';
|
|
15
9
|
/**
|
|
16
10
|
* MCP Gateway routes registration.
|
|
17
11
|
*
|
|
@@ -19,7 +13,7 @@ import { wrapReplyForDebug } from './debug-response-wrapper.js';
|
|
|
19
13
|
*/
|
|
20
14
|
export async function mcpGatewayRoutes(fastify) {
|
|
21
15
|
const handleMcpRequest = async (request, reply) => {
|
|
22
|
-
// First, log that we received the request
|
|
16
|
+
// First, log that we received the request
|
|
23
17
|
if (getMcpCommDebugSetting()) {
|
|
24
18
|
let initialLogMsg = `MCP Gateway ${request.method} ${request.url}`;
|
|
25
19
|
// Combine headers and body into one log block
|
|
@@ -35,58 +29,33 @@ export async function mcpGatewayRoutes(fastify) {
|
|
|
35
29
|
}
|
|
36
30
|
logger.debug(initialLogMsg, LOG_MODULES.COMMUNICATION);
|
|
37
31
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
sessionLogMsg += ` [Client: ${sessionContext.clientName}]`;
|
|
49
|
-
logger.debug(sessionLogMsg, LOG_MODULES.COMMUNICATION);
|
|
32
|
+
// Reject GET requests without Accept: text/event-stream (health-check hook compatibility)
|
|
33
|
+
const accept = request.raw.headers['accept'] || '';
|
|
34
|
+
if (request.method === 'GET' && !accept.includes('text/event-stream')) {
|
|
35
|
+
reply.raw.writeHead(400, { 'Content-Type': 'application/json' });
|
|
36
|
+
reply.raw.end(JSON.stringify({
|
|
37
|
+
jsonrpc: '2.0',
|
|
38
|
+
error: { code: -32000, message: 'Bad Request: Accept: text/event-stream required' },
|
|
39
|
+
id: null
|
|
40
|
+
}));
|
|
41
|
+
return;
|
|
50
42
|
}
|
|
51
43
|
reply.header('Content-Type', 'application/json');
|
|
52
|
-
|
|
53
|
-
request.headers['accept'] = 'application/json, text/event-stream';
|
|
54
|
-
}
|
|
55
|
-
wrapReplyForDebug(reply, sessionId);
|
|
44
|
+
wrapReplyForDebug(reply, '');
|
|
56
45
|
reply.hijack();
|
|
57
|
-
const startTime = Date.now();
|
|
58
46
|
try {
|
|
59
|
-
|
|
60
|
-
// Only explicit initialize requests require SDK initialization handling
|
|
61
|
-
// For all other requests (tools/list, etc.), skip initialization checks
|
|
62
|
-
const isInitializeRequest = request.body?.method === 'initialize';
|
|
63
|
-
const hasRestoredState = !!mcpSessionManager.getSessionState(sessionId);
|
|
64
|
-
const requireInitialize = isInitializeRequest;
|
|
65
|
-
logger.debug(`Request for session: ${sessionId}, method: ${request.body?.method || 'GET'}, isInitialize: ${isInitializeRequest}, hasRestoredState: ${hasRestoredState}, requireInitialize: ${requireInitialize}`, LOG_MODULES.GATEWAY);
|
|
66
|
-
const session = await mcpSessionManager.getSession(sessionId, requireInitialize);
|
|
67
|
-
// Proactive cleanup: For GET requests (SSE connections), clean up stale streams first
|
|
68
|
-
// This prevents "Only one SSE stream is allowed per session" errors
|
|
69
|
-
if (request.method === 'GET') {
|
|
70
|
-
logger.debug(`Proactive SSE stream cleanup for session ${sessionId} before handling request`, LOG_MODULES.GATEWAY);
|
|
71
|
-
cleanupStaleSseStreams(session.transport, sessionId);
|
|
72
|
-
}
|
|
73
|
-
await requestContext.run(sessionContext, async () => {
|
|
74
|
-
await session.transport.handleRequest(request.raw, reply.raw, request.body);
|
|
75
|
-
});
|
|
76
|
-
const duration = Date.now() - startTime;
|
|
77
|
-
logger.info(`MCP Gateway response for ${sessionId}: handled in ${duration}ms`, LOG_MODULES.GATEWAY);
|
|
47
|
+
await globalTransport.handleRequest(request.raw, reply.raw, request.body);
|
|
78
48
|
}
|
|
79
49
|
catch (error) {
|
|
80
50
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
81
|
-
logger.error(`Error handling MCP request
|
|
51
|
+
logger.error(`Error handling MCP request: ${errorMessage}`, error, LOG_MODULES.GATEWAY);
|
|
82
52
|
if (!reply.raw.headersSent) {
|
|
83
53
|
reply.raw.writeHead(500, { 'Content-Type': 'application/json' });
|
|
84
54
|
reply.raw.end(JSON.stringify({
|
|
85
55
|
jsonrpc: '2.0',
|
|
86
56
|
error: {
|
|
87
57
|
code: -32000,
|
|
88
|
-
message: 'Internal Server Error'
|
|
89
|
-
data: { sessionId }
|
|
58
|
+
message: 'Internal Server Error'
|
|
90
59
|
},
|
|
91
60
|
id: null
|
|
92
61
|
}));
|
|
@@ -105,7 +74,7 @@ export async function mcpGatewayRoutes(fastify) {
|
|
|
105
74
|
},
|
|
106
75
|
handler: handleMcpRequest
|
|
107
76
|
});
|
|
108
|
-
// Handle any subpaths if client appends them
|
|
77
|
+
// Handle any subpaths if client appends them
|
|
109
78
|
fastify.all('/mcp/*', {
|
|
110
79
|
bodyLimit: 10 * 1024 * 1024, // 10MB limit
|
|
111
80
|
preHandler: (request, _reply, done) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-context-extractor.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/session-context-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAI7E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC;IAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,
|
|
1
|
+
{"version":3,"file":"session-context-extractor.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/session-context-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAI7E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC;IAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,CAyFA"}
|
|
@@ -49,14 +49,14 @@ export function extractSessionContext(request) {
|
|
|
49
49
|
logger.debug(`Extracted sessionId from URL: ${sessionId}`, LOG_MODULES.CONTEXT);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
// If sessionId was extracted, check if it exists in
|
|
52
|
+
// If sessionId was extracted, check if it exists in memory (for debugging)
|
|
53
53
|
if (sessionId) {
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
logger.debug(`Session ${sessionId} found in
|
|
54
|
+
const hasSession = mcpSessionManager.hasSession(sessionId);
|
|
55
|
+
if (hasSession) {
|
|
56
|
+
logger.debug(`Session ${sessionId} found in active sessions`, LOG_MODULES.CONTEXT);
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
59
|
-
logger.debug(`Session ${sessionId} not found in
|
|
59
|
+
logger.debug(`Session ${sessionId} not found in active sessions (will create new)`, LOG_MODULES.CONTEXT);
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
// Extract client info from headers and request body
|
|
@@ -90,20 +90,11 @@ export function extractSessionContext(request) {
|
|
|
90
90
|
logger.debug(`Generated new sessionId: ${sessionId}`, LOG_MODULES.CONTEXT);
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
// Add consistency check before returning session information
|
|
94
|
-
if (sessionId && mcpSessionManager.getSessionState(sessionId)) {
|
|
95
|
-
const hasSessionObject = mcpSessionManager.hasSession(sessionId);
|
|
96
|
-
if (!hasSessionObject) {
|
|
97
|
-
logger.warn(`Session state exists but session object missing for ${sessionId}`, LOG_MODULES.CONTEXT);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
93
|
const sessionContext = {
|
|
101
94
|
sessionId,
|
|
102
95
|
clientName,
|
|
103
96
|
clientVersion,
|
|
104
97
|
protocolVersion,
|
|
105
|
-
cwd: undefined, // Will be populated from roots/list response later
|
|
106
|
-
project: undefined, // Will be populated from roots/list response later
|
|
107
98
|
ip: request.ip,
|
|
108
99
|
userAgent: headers['user-agent'],
|
|
109
100
|
timestamp: Date.now()
|
|
@@ -7,12 +7,12 @@ import { FastifyInstance } from 'fastify';
|
|
|
7
7
|
* tool management and execution within the MCP Hub Lite system.
|
|
8
8
|
*
|
|
9
9
|
* The API supports both system-level tools (built into MCP Hub Lite) and server-specific tools
|
|
10
|
-
* from connected MCP servers. It enables
|
|
10
|
+
* from connected MCP servers. It enables tool listing, detailed tool inspection,
|
|
11
11
|
* and secure tool invocation with proper parameter validation.
|
|
12
12
|
*
|
|
13
13
|
* Key features include:
|
|
14
14
|
* - System tool discovery and execution
|
|
15
|
-
* - Cross-server tool listing
|
|
15
|
+
* - Cross-server tool listing
|
|
16
16
|
* - Server-specific tool management
|
|
17
17
|
* - Tool schema inspection and validation
|
|
18
18
|
* - Secure tool invocation with session context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hub-tools.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/hub-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"hub-tools.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/hub-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoB1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,iBAsJ/D"}
|
|
@@ -8,12 +8,12 @@ import { hubToolsService } from '../../services/hub-tools.service.js';
|
|
|
8
8
|
* tool management and execution within the MCP Hub Lite system.
|
|
9
9
|
*
|
|
10
10
|
* The API supports both system-level tools (built into MCP Hub Lite) and server-specific tools
|
|
11
|
-
* from connected MCP servers. It enables
|
|
11
|
+
* from connected MCP servers. It enables tool listing, detailed tool inspection,
|
|
12
12
|
* and secure tool invocation with proper parameter validation.
|
|
13
13
|
*
|
|
14
14
|
* Key features include:
|
|
15
15
|
* - System tool discovery and execution
|
|
16
|
-
* - Cross-server tool listing
|
|
16
|
+
* - Cross-server tool listing
|
|
17
17
|
* - Server-specific tool management
|
|
18
18
|
* - Tool schema inspection and validation
|
|
19
19
|
* - Secure tool invocation with session context
|
|
@@ -58,16 +58,6 @@ export async function webHubToolsRoutes(fastify) {
|
|
|
58
58
|
const servers = await hubToolsService.listServers();
|
|
59
59
|
return servers;
|
|
60
60
|
});
|
|
61
|
-
// GET /web/hub-tools/servers/find - Find servers matching a pattern
|
|
62
|
-
fastify.get('/web/hub-tools/servers/find', async (request) => {
|
|
63
|
-
const { pattern, searchIn = 'both', caseSensitive = 'false' } = request.query;
|
|
64
|
-
const servers = await hubToolsService.findServers({
|
|
65
|
-
pattern,
|
|
66
|
-
searchIn: searchIn,
|
|
67
|
-
caseSensitive: caseSensitive === 'true'
|
|
68
|
-
});
|
|
69
|
-
return servers;
|
|
70
|
-
});
|
|
71
61
|
// GET /web/hub-tools/servers/:serverName/tools - List all tools in a specific server
|
|
72
62
|
fastify.get('/web/hub-tools/servers/:serverName/tools', async (request, reply) => {
|
|
73
63
|
try {
|
|
@@ -77,7 +67,7 @@ export async function webHubToolsRoutes(fastify) {
|
|
|
77
67
|
sessionId,
|
|
78
68
|
tags: tags ? JSON.parse(tags) : undefined
|
|
79
69
|
};
|
|
80
|
-
const result = await hubToolsService.
|
|
70
|
+
const result = await hubToolsService.listToolsInServer({ serverName, requestOptions });
|
|
81
71
|
return result;
|
|
82
72
|
}
|
|
83
73
|
catch (error) {
|
|
@@ -87,37 +77,6 @@ export async function webHubToolsRoutes(fastify) {
|
|
|
87
77
|
});
|
|
88
78
|
}
|
|
89
79
|
});
|
|
90
|
-
// GET /web/hub-tools/servers/:serverName/tools/find - Find tools in a specific server
|
|
91
|
-
fastify.get('/web/hub-tools/servers/:serverName/tools/find', async (request, reply) => {
|
|
92
|
-
try {
|
|
93
|
-
const { serverName } = request.params;
|
|
94
|
-
const { pattern, searchIn = 'both', caseSensitive = 'false', sessionId, tags } = request.query;
|
|
95
|
-
const requestOptions = {
|
|
96
|
-
sessionId,
|
|
97
|
-
tags: tags ? JSON.parse(tags) : undefined
|
|
98
|
-
};
|
|
99
|
-
const result = await hubToolsService.findToolsInServer({
|
|
100
|
-
serverName,
|
|
101
|
-
pattern,
|
|
102
|
-
searchIn: searchIn,
|
|
103
|
-
caseSensitive: caseSensitive === 'true',
|
|
104
|
-
requestOptions
|
|
105
|
-
});
|
|
106
|
-
return result;
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
if (error instanceof Error && error.message.includes('not found')) {
|
|
110
|
-
return reply.code(404).send({
|
|
111
|
-
error: 'Server not found',
|
|
112
|
-
message: error.message
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
return reply.code(500).send({
|
|
116
|
-
error: 'Internal Server Error',
|
|
117
|
-
message: error instanceof Error ? error.message : 'Unknown error'
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
80
|
// GET /web/hub-tools/servers/:serverName/tools/:toolName - Get specific tool details
|
|
122
81
|
fastify.get('/web/hub-tools/servers/:serverName/tools/:toolName', async (request, reply) => {
|
|
123
82
|
try {
|
|
@@ -192,14 +151,4 @@ export async function webHubToolsRoutes(fastify) {
|
|
|
192
151
|
const allTools = await hubToolsService.listAllTools();
|
|
193
152
|
return allTools;
|
|
194
153
|
});
|
|
195
|
-
// GET /web/hub-tools/tools/find - Find tools matching a pattern across all servers
|
|
196
|
-
fastify.get('/web/hub-tools/tools/find', async (request) => {
|
|
197
|
-
const { pattern, searchIn = 'both', caseSensitive = 'false' } = request.query;
|
|
198
|
-
const tools = await hubToolsService.findTools({
|
|
199
|
-
pattern,
|
|
200
|
-
searchIn: searchIn,
|
|
201
|
-
caseSensitive: caseSensitive === 'true'
|
|
202
|
-
});
|
|
203
|
-
return tools;
|
|
204
|
-
});
|
|
205
154
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FastifyInstance } from 'fastify';
|
|
2
2
|
/**
|
|
3
|
-
* MCP Connection Status API Routes
|
|
3
|
+
* MCP Connection Status API Routes (v1.1 format)
|
|
4
4
|
*
|
|
5
5
|
* Provides real-time monitoring and management endpoints for MCP (Model Context Protocol) server connections.
|
|
6
6
|
* This module enables administrators to check the health of connected servers, manage connection states,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-status.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/mcp-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-status.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/mcp-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ1C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,iBAuKhE"}
|