@loop_ouroboros/mcp-hub-lite 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +228 -0
- package/LICENSE +21 -0
- package/README.md +354 -0
- package/dist/client/assets/HomeView-f901HeKw.js +1 -0
- package/dist/client/assets/ResourceDetailView-BdOaL_-o.css +1 -0
- package/dist/client/assets/ResourceDetailView-Bz66ZjfY.js +1 -0
- package/dist/client/assets/ResourcesView-CjMklkyv.css +1 -0
- package/dist/client/assets/ResourcesView-lI_fItfA.js +1 -0
- package/dist/client/assets/ServerDashboard-7_8Og9JJ.css +1 -0
- package/dist/client/assets/ServerDashboard-Bgx8WVkx.js +2 -0
- package/dist/client/assets/ServerListView-Bws09jNR.css +1 -0
- package/dist/client/assets/ServerListView-CP6Ffkfx.js +30 -0
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +1 -0
- package/dist/client/assets/SessionsView-D68qKR4D.js +1 -0
- package/dist/client/assets/SettingsView-BPYfO9BE.js +1 -0
- package/dist/client/assets/ToolCallDialog-Br8FNebN.js +1 -0
- package/dist/client/assets/ToolCallDialog-C7eh7jHE.css +1 -0
- package/dist/client/assets/ToolsView-B6hUiR43.js +1 -0
- package/dist/client/assets/ToolsView-BLnU8cV6.css +1 -0
- package/dist/client/assets/_baseClone-DCmK847M.js +1 -0
- package/dist/client/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
- package/dist/client/assets/el-form-item-BVMLpmVC.css +1 -0
- package/dist/client/assets/el-form-item-DM0q2hmO.js +12 -0
- package/dist/client/assets/el-input-BtI9NECe.js +1 -0
- package/dist/client/assets/el-input-CmuHb8HS.css +1 -0
- package/dist/client/assets/el-loading-CChNmKeI.js +1 -0
- package/dist/client/assets/el-loading-bpKhqqQq.css +1 -0
- package/dist/client/assets/el-overlay-B2ZKM6Up.css +1 -0
- package/dist/client/assets/el-overlay-lZZbPmsX.js +1 -0
- package/dist/client/assets/el-select-BXztu2b5.js +1 -0
- package/dist/client/assets/el-select-C0U_l4IZ.css +1 -0
- package/dist/client/assets/el-tab-pane-CnNoQHsR.css +1 -0
- package/dist/client/assets/el-tab-pane-Dy9ruaEX.js +1 -0
- package/dist/client/assets/el-table-column-98UyVgBH.js +1 -0
- package/dist/client/assets/el-table-column-T_mV9jNw.css +1 -0
- package/dist/client/assets/el-tag-B5lLT51E.js +1 -0
- package/dist/client/assets/el-tag-DjxZVOpb.css +1 -0
- package/dist/client/assets/event-BB_Ol6Sd.js +1 -0
- package/dist/client/assets/index-BgKcmWJr.js +1 -0
- package/dist/client/assets/index-BsDWtoIl.css +1 -0
- package/dist/client/assets/index-BzQXG7no.js +1 -0
- package/dist/client/assets/index-CSTs2jYk.js +2 -0
- package/dist/client/assets/omit-Bx5HJNV_.js +1 -0
- package/dist/client/assets/raf-B9VDMtMF.js +1 -0
- package/dist/client/assets/typescript-Bp3YSIOJ.js +1 -0
- package/dist/client/assets/vnode-B8aJx8u4.js +1 -0
- package/dist/client/assets/vue-vendor-6ny5zj9i.js +3 -0
- package/dist/client/index.html +15 -0
- package/dist/server/shared/index.d.ts +3 -0
- package/dist/server/shared/index.d.ts.map +1 -0
- package/dist/server/shared/index.js +2 -0
- package/dist/server/shared/models/index.d.ts +4 -0
- package/dist/server/shared/models/index.d.ts.map +1 -0
- package/dist/server/shared/models/index.js +3 -0
- package/dist/server/shared/models/resource.model.d.ts +8 -0
- package/dist/server/shared/models/resource.model.d.ts.map +1 -0
- package/dist/server/shared/models/resource.model.js +1 -0
- package/dist/server/shared/models/server.model.d.ts +57 -0
- package/dist/server/shared/models/server.model.d.ts.map +1 -0
- package/dist/server/shared/models/server.model.js +1 -0
- package/dist/server/shared/models/session.model.d.ts +73 -0
- package/dist/server/shared/models/session.model.d.ts.map +1 -0
- package/dist/server/shared/models/session.model.js +70 -0
- package/dist/server/shared/models/tool.model.d.ts +22 -0
- package/dist/server/shared/models/tool.model.d.ts.map +1 -0
- package/dist/server/shared/models/tool.model.js +1 -0
- package/dist/server/shared/types/client.types.d.ts +35 -0
- package/dist/server/shared/types/client.types.d.ts.map +1 -0
- package/dist/server/shared/types/client.types.js +5 -0
- package/dist/server/shared/types/common.types.d.ts +5 -0
- package/dist/server/shared/types/common.types.d.ts.map +1 -0
- package/dist/server/shared/types/common.types.js +2 -0
- package/dist/server/shared/types/index.d.ts +4 -0
- package/dist/server/shared/types/index.d.ts.map +1 -0
- package/dist/server/shared/types/index.js +3 -0
- package/dist/server/shared/types/session.types.d.ts +15 -0
- package/dist/server/shared/types/session.types.d.ts.map +1 -0
- package/dist/server/shared/types/session.types.js +5 -0
- package/dist/server/shared/types/websocket.types.d.ts +177 -0
- package/dist/server/shared/types/websocket.types.d.ts.map +1 -0
- package/dist/server/shared/types/websocket.types.js +25 -0
- package/dist/server/src/api/mcp/debug-response-wrapper.d.ts +13 -0
- package/dist/server/src/api/mcp/debug-response-wrapper.d.ts.map +1 -0
- package/dist/server/src/api/mcp/debug-response-wrapper.js +271 -0
- package/dist/server/src/api/mcp/gateway.d.ts +14 -0
- package/dist/server/src/api/mcp/gateway.d.ts.map +1 -0
- package/dist/server/src/api/mcp/gateway.js +116 -0
- package/dist/server/src/api/mcp/session-context-extractor.d.ts +47 -0
- package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -0
- package/dist/server/src/api/mcp/session-context-extractor.js +127 -0
- package/dist/server/src/api/mcp/sse-stream-manager.d.ts +13 -0
- package/dist/server/src/api/mcp/sse-stream-manager.d.ts.map +1 -0
- package/dist/server/src/api/mcp/sse-stream-manager.js +40 -0
- package/dist/server/src/api/web/clients.d.ts +30 -0
- package/dist/server/src/api/web/clients.d.ts.map +1 -0
- package/dist/server/src/api/web/clients.js +41 -0
- package/dist/server/src/api/web/config.d.ts +21 -0
- package/dist/server/src/api/web/config.d.ts.map +1 -0
- package/dist/server/src/api/web/config.js +119 -0
- package/dist/server/src/api/web/health.d.ts +21 -0
- package/dist/server/src/api/web/health.d.ts.map +1 -0
- package/dist/server/src/api/web/health.js +24 -0
- package/dist/server/src/api/web/hub-tools.d.ts +30 -0
- package/dist/server/src/api/web/hub-tools.d.ts.map +1 -0
- package/dist/server/src/api/web/hub-tools.js +202 -0
- package/dist/server/src/api/web/logs.d.ts +30 -0
- package/dist/server/src/api/web/logs.d.ts.map +1 -0
- package/dist/server/src/api/web/logs.js +141 -0
- package/dist/server/src/api/web/mcp-status.d.ts +29 -0
- package/dist/server/src/api/web/mcp-status.d.ts.map +1 -0
- package/dist/server/src/api/web/mcp-status.js +126 -0
- package/dist/server/src/api/web/resources.d.ts +28 -0
- package/dist/server/src/api/web/resources.d.ts.map +1 -0
- package/dist/server/src/api/web/resources.js +93 -0
- package/dist/server/src/api/web/search.d.ts +26 -0
- package/dist/server/src/api/web/search.d.ts.map +1 -0
- package/dist/server/src/api/web/search.js +62 -0
- package/dist/server/src/api/web/servers.d.ts +33 -0
- package/dist/server/src/api/web/servers.d.ts.map +1 -0
- package/dist/server/src/api/web/servers.js +235 -0
- package/dist/server/src/api/web/sessions.d.ts +29 -0
- package/dist/server/src/api/web/sessions.d.ts.map +1 -0
- package/dist/server/src/api/web/sessions.js +104 -0
- package/dist/server/src/api/ws/events.d.ts +29 -0
- package/dist/server/src/api/ws/events.d.ts.map +1 -0
- package/dist/server/src/api/ws/events.js +44 -0
- package/dist/server/src/api/ws/ws-handler.d.ts +83 -0
- package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -0
- package/dist/server/src/api/ws/ws-handler.js +217 -0
- package/dist/server/src/app.d.ts +24 -0
- package/dist/server/src/app.d.ts.map +1 -0
- package/dist/server/src/app.js +108 -0
- package/dist/server/src/cli/commands/list.d.ts +71 -0
- package/dist/server/src/cli/commands/list.d.ts.map +1 -0
- package/dist/server/src/cli/commands/list.js +97 -0
- package/dist/server/src/cli/commands/restart.d.ts +42 -0
- package/dist/server/src/cli/commands/restart.d.ts.map +1 -0
- package/dist/server/src/cli/commands/restart.js +61 -0
- package/dist/server/src/cli/commands/start.d.ts +43 -0
- package/dist/server/src/cli/commands/start.d.ts.map +1 -0
- package/dist/server/src/cli/commands/start.js +160 -0
- package/dist/server/src/cli/commands/status.d.ts +39 -0
- package/dist/server/src/cli/commands/status.d.ts.map +1 -0
- package/dist/server/src/cli/commands/status.js +164 -0
- package/dist/server/src/cli/commands/stop.d.ts +34 -0
- package/dist/server/src/cli/commands/stop.d.ts.map +1 -0
- package/dist/server/src/cli/commands/stop.js +47 -0
- package/dist/server/src/cli/commands/ui.d.ts +44 -0
- package/dist/server/src/cli/commands/ui.d.ts.map +1 -0
- package/dist/server/src/cli/commands/ui.js +95 -0
- package/dist/server/src/cli/index.d.ts +62 -0
- package/dist/server/src/cli/index.d.ts.map +1 -0
- package/dist/server/src/cli/index.js +88 -0
- package/dist/server/src/cli/parse-args.d.ts +108 -0
- package/dist/server/src/cli/parse-args.d.ts.map +1 -0
- package/dist/server/src/cli/parse-args.js +131 -0
- package/dist/server/src/cli/server.d.ts +171 -0
- package/dist/server/src/cli/server.d.ts.map +1 -0
- package/dist/server/src/cli/server.js +246 -0
- package/dist/server/src/config/config-change-logger.d.ts +16 -0
- package/dist/server/src/config/config-change-logger.d.ts.map +1 -0
- package/dist/server/src/config/config-change-logger.js +43 -0
- package/dist/server/src/config/config-loader.d.ts +22 -0
- package/dist/server/src/config/config-loader.d.ts.map +1 -0
- package/dist/server/src/config/config-loader.js +66 -0
- package/dist/server/src/config/config-manager.d.ts +158 -0
- package/dist/server/src/config/config-manager.d.ts.map +1 -0
- package/dist/server/src/config/config-manager.js +246 -0
- package/dist/server/src/config/config-saver.d.ts +16 -0
- package/dist/server/src/config/config-saver.d.ts.map +1 -0
- package/dist/server/src/config/config-saver.js +28 -0
- package/dist/server/src/config/config.schema.d.ts +108 -0
- package/dist/server/src/config/config.schema.d.ts.map +1 -0
- package/dist/server/src/config/config.schema.js +103 -0
- package/dist/server/src/config/server-config-manager.d.ts +74 -0
- package/dist/server/src/config/server-config-manager.d.ts.map +1 -0
- package/dist/server/src/config/server-config-manager.js +157 -0
- package/dist/server/src/config/type-converter.d.ts +13 -0
- package/dist/server/src/config/type-converter.d.ts.map +1 -0
- package/dist/server/src/config/type-converter.js +37 -0
- package/dist/server/src/index.d.ts +3 -0
- package/dist/server/src/index.d.ts.map +1 -0
- package/dist/server/src/index.js +352 -0
- package/dist/server/src/models/event.model.d.ts +106 -0
- package/dist/server/src/models/event.model.d.ts.map +1 -0
- package/dist/server/src/models/event.model.js +5 -0
- package/dist/server/src/models/server.model.d.ts +19 -0
- package/dist/server/src/models/server.model.d.ts.map +1 -0
- package/dist/server/src/models/server.model.js +1 -0
- package/dist/server/src/models/system-tools.constants.d.ts +73 -0
- package/dist/server/src/models/system-tools.constants.d.ts.map +1 -0
- package/dist/server/src/models/system-tools.constants.js +31 -0
- package/dist/server/src/models/types.d.ts +84 -0
- package/dist/server/src/models/types.d.ts.map +1 -0
- package/dist/server/src/models/types.js +67 -0
- package/dist/server/src/pid/file.d.ts +26 -0
- package/dist/server/src/pid/file.d.ts.map +1 -0
- package/dist/server/src/pid/file.js +68 -0
- package/dist/server/src/pid/manager.d.ts +98 -0
- package/dist/server/src/pid/manager.d.ts.map +1 -0
- package/dist/server/src/pid/manager.js +158 -0
- package/dist/server/src/pid/types.d.ts +13 -0
- package/dist/server/src/pid/types.d.ts.map +1 -0
- package/dist/server/src/pid/types.js +4 -0
- package/dist/server/src/server/dev-server.d.ts +2 -0
- package/dist/server/src/server/dev-server.d.ts.map +1 -0
- package/dist/server/src/server/dev-server.js +171 -0
- package/dist/server/src/server/runner.d.ts +57 -0
- package/dist/server/src/server/runner.d.ts.map +1 -0
- package/dist/server/src/server/runner.js +163 -0
- package/dist/server/src/services/client-tracker.service.d.ts +132 -0
- package/dist/server/src/services/client-tracker.service.d.ts.map +1 -0
- package/dist/server/src/services/client-tracker.service.js +203 -0
- package/dist/server/src/services/connection/connection-manager.d.ts +478 -0
- package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -0
- package/dist/server/src/services/connection/connection-manager.js +929 -0
- package/dist/server/src/services/connection/index.d.ts +6 -0
- package/dist/server/src/services/connection/index.d.ts.map +1 -0
- package/dist/server/src/services/connection/index.js +4 -0
- package/dist/server/src/services/connection/tool-cache.d.ts +122 -0
- package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -0
- package/dist/server/src/services/connection/tool-cache.js +202 -0
- package/dist/server/src/services/connection/types.d.ts +30 -0
- package/dist/server/src/services/connection/types.d.ts.map +1 -0
- package/dist/server/src/services/connection/types.js +1 -0
- package/dist/server/src/services/event-bus.service.d.ts +169 -0
- package/dist/server/src/services/event-bus.service.d.ts.map +1 -0
- package/dist/server/src/services/event-bus.service.js +200 -0
- package/dist/server/src/services/gateway/gateway.service.d.ts +61 -0
- package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -0
- package/dist/server/src/services/gateway/gateway.service.js +107 -0
- package/dist/server/src/services/gateway/index.d.ts +8 -0
- package/dist/server/src/services/gateway/index.d.ts.map +1 -0
- package/dist/server/src/services/gateway/index.js +6 -0
- package/dist/server/src/services/gateway/log-formatter.d.ts +26 -0
- package/dist/server/src/services/gateway/log-formatter.d.ts.map +1 -0
- package/dist/server/src/services/gateway/log-formatter.js +66 -0
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts +13 -0
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +131 -0
- package/dist/server/src/services/gateway/request-handlers/index.d.ts +9 -0
- package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/index.js +8 -0
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +11 -0
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +85 -0
- package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts +11 -0
- package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/resources-handler.js +56 -0
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts +11 -0
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +228 -0
- package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts +11 -0
- package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/tools-handler.js +79 -0
- package/dist/server/src/services/gateway/tool-list-generator.d.ts +23 -0
- package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -0
- package/dist/server/src/services/gateway/tool-list-generator.js +115 -0
- package/dist/server/src/services/gateway/types.d.ts +27 -0
- package/dist/server/src/services/gateway/types.d.ts.map +1 -0
- package/dist/server/src/services/gateway/types.js +4 -0
- package/dist/server/src/services/gateway.service.d.ts +7 -0
- package/dist/server/src/services/gateway.service.d.ts.map +1 -0
- package/dist/server/src/services/gateway.service.js +6 -0
- package/dist/server/src/services/hub-manager.service.d.ts +299 -0
- package/dist/server/src/services/hub-manager.service.d.ts.map +1 -0
- package/dist/server/src/services/hub-manager.service.js +413 -0
- package/dist/server/src/services/hub-tools/index.d.ts +10 -0
- package/dist/server/src/services/hub-tools/index.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/index.js +6 -0
- package/dist/server/src/services/hub-tools/resource-generator.d.ts +63 -0
- package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/resource-generator.js +141 -0
- package/dist/server/src/services/hub-tools/server-selector.d.ts +63 -0
- package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/server-selector.js +108 -0
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +47 -0
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/system-tool-definitions.js +225 -0
- package/dist/server/src/services/hub-tools/tool-search.d.ts +85 -0
- package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/tool-search.js +115 -0
- package/dist/server/src/services/hub-tools/types.d.ts +42 -0
- package/dist/server/src/services/hub-tools/types.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/types.js +1 -0
- package/dist/server/src/services/hub-tools.service.d.ts +235 -0
- package/dist/server/src/services/hub-tools.service.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools.service.js +457 -0
- package/dist/server/src/services/log-storage.service.d.ts +177 -0
- package/dist/server/src/services/log-storage.service.d.ts.map +1 -0
- package/dist/server/src/services/log-storage.service.js +243 -0
- package/dist/server/src/services/mcp-connection-manager.d.ts +7 -0
- package/dist/server/src/services/mcp-connection-manager.d.ts.map +1 -0
- package/dist/server/src/services/mcp-connection-manager.js +6 -0
- package/dist/server/src/services/mcp-session-manager.d.ts +6 -0
- package/dist/server/src/services/mcp-session-manager.d.ts.map +1 -0
- package/dist/server/src/services/mcp-session-manager.js +4 -0
- package/dist/server/src/services/search/index.d.ts +5 -0
- package/dist/server/src/services/search/index.d.ts.map +1 -0
- package/dist/server/src/services/search/index.js +5 -0
- package/dist/server/src/services/search/search-cache.d.ts +132 -0
- package/dist/server/src/services/search/search-cache.d.ts.map +1 -0
- package/dist/server/src/services/search/search-cache.js +151 -0
- package/dist/server/src/services/search/search-core.service.d.ts +108 -0
- package/dist/server/src/services/search/search-core.service.d.ts.map +1 -0
- package/dist/server/src/services/search/search-core.service.js +187 -0
- package/dist/server/src/services/search/search-scorer.d.ts +54 -0
- package/dist/server/src/services/search/search-scorer.d.ts.map +1 -0
- package/dist/server/src/services/search/search-scorer.js +83 -0
- package/dist/server/src/services/search/types.d.ts +20 -0
- package/dist/server/src/services/search/types.d.ts.map +1 -0
- package/dist/server/src/services/search/types.js +1 -0
- package/dist/server/src/services/session/index.d.ts +6 -0
- package/dist/server/src/services/session/index.d.ts.map +1 -0
- package/dist/server/src/services/session/index.js +4 -0
- package/dist/server/src/services/session/session-manager.d.ts +352 -0
- package/dist/server/src/services/session/session-manager.d.ts.map +1 -0
- package/dist/server/src/services/session/session-manager.js +835 -0
- package/dist/server/src/services/session/types.d.ts +32 -0
- package/dist/server/src/services/session/types.d.ts.map +1 -0
- package/dist/server/src/services/session/types.js +1 -0
- package/dist/server/src/services/simple-search.service.d.ts +67 -0
- package/dist/server/src/services/simple-search.service.d.ts.map +1 -0
- package/dist/server/src/services/simple-search.service.js +82 -0
- package/dist/server/src/services/system-tool-handler.d.ts +10 -0
- package/dist/server/src/services/system-tool-handler.d.ts.map +1 -0
- package/dist/server/src/services/system-tool-handler.js +77 -0
- package/dist/server/src/utils/error-handler.d.ts +18 -0
- package/dist/server/src/utils/error-handler.d.ts.map +1 -0
- package/dist/server/src/utils/error-handler.js +59 -0
- package/dist/server/src/utils/format-utils.d.ts +23 -0
- package/dist/server/src/utils/format-utils.d.ts.map +1 -0
- package/dist/server/src/utils/format-utils.js +58 -0
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -0
- package/dist/server/src/utils/index.js +1 -0
- package/dist/server/src/utils/json-utils.d.ts +82 -0
- package/dist/server/src/utils/json-utils.d.ts.map +1 -0
- package/dist/server/src/utils/json-utils.js +204 -0
- package/dist/server/src/utils/log-rotator.d.ts +223 -0
- package/dist/server/src/utils/log-rotator.d.ts.map +1 -0
- package/dist/server/src/utils/log-rotator.js +306 -0
- package/dist/server/src/utils/logger/dev-logger.d.ts +39 -0
- package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -0
- package/dist/server/src/utils/logger/dev-logger.js +63 -0
- package/dist/server/src/utils/logger/index.d.ts +36 -0
- package/dist/server/src/utils/logger/index.d.ts.map +1 -0
- package/dist/server/src/utils/logger/index.js +46 -0
- package/dist/server/src/utils/logger/log-colors.d.ts +27 -0
- package/dist/server/src/utils/logger/log-colors.d.ts.map +1 -0
- package/dist/server/src/utils/logger/log-colors.js +41 -0
- package/dist/server/src/utils/logger/log-context.d.ts +13 -0
- package/dist/server/src/utils/logger/log-context.d.ts.map +1 -0
- package/dist/server/src/utils/logger/log-context.js +5 -0
- package/dist/server/src/utils/logger/log-formatter.d.ts +47 -0
- package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -0
- package/dist/server/src/utils/logger/log-formatter.js +150 -0
- package/dist/server/src/utils/logger/log-modules.d.ts +141 -0
- package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -0
- package/dist/server/src/utils/logger/log-modules.js +81 -0
- package/dist/server/src/utils/logger/log-output.d.ts +68 -0
- package/dist/server/src/utils/logger/log-output.d.ts.map +1 -0
- package/dist/server/src/utils/logger/log-output.js +320 -0
- package/dist/server/src/utils/logger/logger.d.ts +190 -0
- package/dist/server/src/utils/logger/logger.d.ts.map +1 -0
- package/dist/server/src/utils/logger/logger.js +350 -0
- package/dist/server/src/utils/logger.d.ts +12 -0
- package/dist/server/src/utils/logger.d.ts.map +1 -0
- package/dist/server/src/utils/logger.js +12 -0
- package/dist/server/src/utils/mcp-error-handler.d.ts +162 -0
- package/dist/server/src/utils/mcp-error-handler.d.ts.map +1 -0
- package/dist/server/src/utils/mcp-error-handler.js +270 -0
- package/dist/server/src/utils/port-checker.d.ts +16 -0
- package/dist/server/src/utils/port-checker.d.ts.map +1 -0
- package/dist/server/src/utils/port-checker.js +242 -0
- package/dist/server/src/utils/request-context.d.ts +71 -0
- package/dist/server/src/utils/request-context.d.ts.map +1 -0
- package/dist/server/src/utils/request-context.js +73 -0
- package/dist/server/src/utils/tool-args-parser.d.ts +17 -0
- package/dist/server/src/utils/tool-args-parser.d.ts.map +1 -0
- package/dist/server/src/utils/tool-args-parser.js +34 -0
- package/dist/server/src/utils/transports/sse-transport.d.ts +104 -0
- package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -0
- package/dist/server/src/utils/transports/sse-transport.js +189 -0
- package/dist/server/src/utils/transports/stdio-transport.d.ts +122 -0
- package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -0
- package/dist/server/src/utils/transports/stdio-transport.js +324 -0
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts +146 -0
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -0
- package/dist/server/src/utils/transports/streamable-http-transport.js +212 -0
- package/dist/server/src/utils/transports/transport-factory.d.ts +26 -0
- package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -0
- package/dist/server/src/utils/transports/transport-factory.js +104 -0
- package/dist/server/src/utils/transports/transport.interface.d.ts +35 -0
- package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -0
- package/dist/server/src/utils/transports/transport.interface.js +1 -0
- package/dist/server/tests/contract/mcp-protocol/initialize.test.d.ts +2 -0
- package/dist/server/tests/contract/mcp-protocol/initialize.test.d.ts.map +1 -0
- package/dist/server/tests/contract/mcp-protocol/initialize.test.js +103 -0
- package/dist/server/tests/contract/mcp-protocol/tools-call.test.d.ts +2 -0
- package/dist/server/tests/contract/mcp-protocol/tools-call.test.d.ts.map +1 -0
- package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +181 -0
- package/dist/server/tests/contract/mcp-protocol/tools-list.test.d.ts +2 -0
- package/dist/server/tests/contract/mcp-protocol/tools-list.test.d.ts.map +1 -0
- package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +155 -0
- package/dist/server/tests/evaluation/evaluation.test.d.ts +2 -0
- package/dist/server/tests/evaluation/evaluation.test.d.ts.map +1 -0
- package/dist/server/tests/evaluation/evaluation.test.js +102 -0
- package/dist/server/tests/helpers/sdk-test-helpers.d.ts +32 -0
- package/dist/server/tests/helpers/sdk-test-helpers.d.ts.map +1 -0
- package/dist/server/tests/helpers/sdk-test-helpers.js +82 -0
- package/dist/server/tests/integration/api/gateway.test.d.ts +2 -0
- package/dist/server/tests/integration/api/gateway.test.d.ts.map +1 -0
- package/dist/server/tests/integration/api/gateway.test.js +366 -0
- package/dist/server/tests/integration/gateway/fault-tolerance.test.d.ts +2 -0
- package/dist/server/tests/integration/gateway/fault-tolerance.test.d.ts.map +1 -0
- package/dist/server/tests/integration/gateway/fault-tolerance.test.js +109 -0
- package/dist/server/tests/integration/gateway/mcp-connection.test.d.ts +2 -0
- package/dist/server/tests/integration/gateway/mcp-connection.test.d.ts.map +1 -0
- package/dist/server/tests/integration/gateway/mcp-connection.test.js +149 -0
- package/dist/server/tests/server.test.d.ts +2 -0
- package/dist/server/tests/server.test.d.ts.map +1 -0
- package/dist/server/tests/server.test.js +95 -0
- package/dist/server/tests/setup.d.ts +7 -0
- package/dist/server/tests/setup.d.ts.map +1 -0
- package/dist/server/tests/setup.js +53 -0
- package/dist/server/tests/types/logger-test-helpers.d.ts +17 -0
- package/dist/server/tests/types/logger-test-helpers.d.ts.map +1 -0
- package/dist/server/tests/types/logger-test-helpers.js +4 -0
- package/dist/server/tests/types/test-helpers.d.ts +27 -0
- package/dist/server/tests/types/test-helpers.d.ts.map +1 -0
- package/dist/server/tests/types/test-helpers.js +4 -0
- package/dist/server/tests/unit/cli/basic-cli.test.d.ts +2 -0
- package/dist/server/tests/unit/cli/basic-cli.test.d.ts.map +1 -0
- package/dist/server/tests/unit/cli/basic-cli.test.js +33 -0
- package/dist/server/tests/unit/cli/cli.test.d.ts +2 -0
- package/dist/server/tests/unit/cli/cli.test.d.ts.map +1 -0
- package/dist/server/tests/unit/cli/cli.test.js +17 -0
- package/dist/server/tests/unit/cli/commands.test.d.ts +2 -0
- package/dist/server/tests/unit/cli/commands.test.d.ts.map +1 -0
- package/dist/server/tests/unit/cli/commands.test.js +75 -0
- package/dist/server/tests/unit/cli/server.test.d.ts +2 -0
- package/dist/server/tests/unit/cli/server.test.d.ts.map +1 -0
- package/dist/server/tests/unit/cli/server.test.js +68 -0
- package/dist/server/tests/unit/server/runner.test.d.ts +2 -0
- package/dist/server/tests/unit/server/runner.test.d.ts.map +1 -0
- package/dist/server/tests/unit/server/runner.test.js +488 -0
- package/dist/server/tests/unit/server/setup.d.ts +2 -0
- package/dist/server/tests/unit/server/setup.d.ts.map +1 -0
- package/dist/server/tests/unit/server/setup.js +21 -0
- package/dist/server/tests/unit/services/gateway-logging.test.d.ts +2 -0
- package/dist/server/tests/unit/services/gateway-logging.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/gateway-logging.test.js +47 -0
- package/dist/server/tests/unit/services/hub-manager-service.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-manager-service.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-manager-service.test.js +140 -0
- package/dist/server/tests/unit/services/hub-manager.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-manager.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-manager.test.js +98 -0
- package/dist/server/tests/unit/services/hub-tools.service.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools.service.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools.service.test.js +674 -0
- package/dist/server/tests/unit/services/search/search-cache.test.d.ts +2 -0
- package/dist/server/tests/unit/services/search/search-cache.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/search/search-cache.test.js +58 -0
- package/dist/server/tests/unit/services/search/search-core.service.test.d.ts +2 -0
- package/dist/server/tests/unit/services/search/search-core.service.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/search/search-core.service.test.js +84 -0
- package/dist/server/tests/unit/services/search/search-scorer.test.d.ts +2 -0
- package/dist/server/tests/unit/services/search/search-scorer.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/search/search-scorer.test.js +97 -0
- package/dist/server/tests/unit/services/session-manager.test.d.ts +2 -0
- package/dist/server/tests/unit/services/session-manager.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/session-manager.test.js +481 -0
- package/dist/server/tests/unit/utils/config.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/config.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/config.test.js +634 -0
- package/dist/server/tests/unit/utils/json-utils.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/json-utils.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/json-utils.test.js +296 -0
- package/dist/server/tests/unit/utils/log-rotator.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/log-rotator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/log-rotator.test.js +296 -0
- package/dist/server/tests/unit/utils/logger.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/logger.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/logger.test.js +462 -0
- package/dist/server/tests/unit/utils/mcp-error-handler.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/mcp-error-handler.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/mcp-error-handler.test.js +163 -0
- package/dist/server/tests/unit/utils/request-context.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/request-context.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/request-context.test.js +82 -0
- package/dist/server/vite.config.d.ts +3 -0
- package/dist/server/vite.config.d.ts.map +1 -0
- package/dist/server/vite.config.js +160 -0
- package/dist/server/vitest.config.d.ts +3 -0
- package/dist/server/vitest.config.d.ts.map +1 -0
- package/dist/server/vitest.config.js +53 -0
- package/package.json +113 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/connection/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { Tool } from '../../../shared/models/tool.model.js';
|
|
2
|
+
/**
|
|
3
|
+
* Manages tool caching for MCP connections at both server ID and server name levels.
|
|
4
|
+
*
|
|
5
|
+
* This class encapsulates all tool cache operations, providing both server ID-level
|
|
6
|
+
* and server name-level caching for efficient tool lookup while maintaining data
|
|
7
|
+
* consistency across multiple instances of the same server.
|
|
8
|
+
*/
|
|
9
|
+
export declare class ToolCache {
|
|
10
|
+
private toolCache;
|
|
11
|
+
private serverNameToolCache;
|
|
12
|
+
private nameToIdMap;
|
|
13
|
+
/**
|
|
14
|
+
* Sets the name-to-ID mapping for server name resolution.
|
|
15
|
+
*
|
|
16
|
+
* @param serverName - The server name
|
|
17
|
+
* @param serverId - The corresponding server instance ID
|
|
18
|
+
*/
|
|
19
|
+
setNameMapping(serverName: string, serverId: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Removes the name-to-ID mapping for a server.
|
|
22
|
+
*
|
|
23
|
+
* @param serverName - The server name to remove
|
|
24
|
+
*/
|
|
25
|
+
removeNameMapping(serverName: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Removes name mapping by server ID.
|
|
28
|
+
*
|
|
29
|
+
* @param serverId - The server ID to remove
|
|
30
|
+
*/
|
|
31
|
+
removeNameMappingById(serverId: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the server ID for a given server name.
|
|
34
|
+
*
|
|
35
|
+
* @param name - The server name
|
|
36
|
+
* @returns The server ID or undefined if not found
|
|
37
|
+
*/
|
|
38
|
+
getServerIdByName(name: string): string | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the server name for a given server ID.
|
|
41
|
+
*
|
|
42
|
+
* @param serverId - The server ID
|
|
43
|
+
* @returns The server name or 'unknown' if not found
|
|
44
|
+
*/
|
|
45
|
+
getServerNameById(serverId: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Sets tools for a specific server instance and updates both caches.
|
|
48
|
+
*
|
|
49
|
+
* @param serverId - The server instance ID
|
|
50
|
+
* @param tools - The tools to cache
|
|
51
|
+
* @param serverName - Optional server name for name-level cache update
|
|
52
|
+
*/
|
|
53
|
+
setTools(serverId: string, tools: Tool[], serverName?: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Gets tools for a specific server instance.
|
|
56
|
+
*
|
|
57
|
+
* @param serverId - The server instance ID
|
|
58
|
+
* @returns Array of tools, empty if none
|
|
59
|
+
*/
|
|
60
|
+
getTools(serverId: string): Tool[];
|
|
61
|
+
/**
|
|
62
|
+
* Gets tools by server name from the server name-level cache.
|
|
63
|
+
*
|
|
64
|
+
* @param serverName - The server name
|
|
65
|
+
* @returns Array of tools, empty if none
|
|
66
|
+
*/
|
|
67
|
+
getToolsByServerName(serverName: string): Tool[];
|
|
68
|
+
/**
|
|
69
|
+
* Gets a specific tool by name from the server name-level cache.
|
|
70
|
+
*
|
|
71
|
+
* @param serverName - The server name
|
|
72
|
+
* @param toolName - The tool name to find
|
|
73
|
+
* @returns The tool object or undefined if not found
|
|
74
|
+
*/
|
|
75
|
+
getTool(serverName: string, toolName: string): Tool | undefined;
|
|
76
|
+
/**
|
|
77
|
+
* Gets all tools from all connected server instances.
|
|
78
|
+
*
|
|
79
|
+
* @returns Array of all tools from all servers
|
|
80
|
+
*/
|
|
81
|
+
getAllTools(): Tool[];
|
|
82
|
+
/**
|
|
83
|
+
* Gets all tools from the server name-level cache.
|
|
84
|
+
*
|
|
85
|
+
* @returns Array of all tools aggregated by server name
|
|
86
|
+
*/
|
|
87
|
+
getAllToolsByServerName(): Tool[];
|
|
88
|
+
/**
|
|
89
|
+
* Gets all tool cache entries.
|
|
90
|
+
*
|
|
91
|
+
* @returns Array of [serverId, tools] tuples
|
|
92
|
+
*/
|
|
93
|
+
getToolCacheEntries(): [string, Tool[]][];
|
|
94
|
+
/**
|
|
95
|
+
* Returns an iterator over the tool cache entries for backward compatibility.
|
|
96
|
+
* This mimics the Map.entries() method signature.
|
|
97
|
+
*
|
|
98
|
+
* @returns Iterator of [serverId, tools] tuples
|
|
99
|
+
* @deprecated Use getToolCacheEntries() instead
|
|
100
|
+
*/
|
|
101
|
+
entries(): IterableIterator<[string, Tool[]]>;
|
|
102
|
+
/**
|
|
103
|
+
* Clears tools for a specific server and updates both caches.
|
|
104
|
+
*
|
|
105
|
+
* @param serverId - The server instance ID
|
|
106
|
+
*/
|
|
107
|
+
clearTools(serverId: string): void;
|
|
108
|
+
/**
|
|
109
|
+
* Updates the server name-level cache for a specific server.
|
|
110
|
+
* This aggregates tools from all instances of the same server name.
|
|
111
|
+
*
|
|
112
|
+
* @param serverName - The server name to update
|
|
113
|
+
*/
|
|
114
|
+
private updateServerNameCache;
|
|
115
|
+
/**
|
|
116
|
+
* Backward compatibility: direct access to the underlying toolCache Map.
|
|
117
|
+
* This is maintained for backward compatibility with code that accesses
|
|
118
|
+
* mcpConnectionManager.toolCache directly.
|
|
119
|
+
*/
|
|
120
|
+
get internalToolCache(): Map<string, Tool[]>;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=tool-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../../../../src/services/connection/tool-cache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,WAAW,CAAkC;IAErD;;;;;OAKG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1D;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI3C;;;;OAIG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAS7C;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAInD;;;;;OAKG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAS3C;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAkBpE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE;IAUlC;;;;;OAKG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE;IAIhD;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAK/D;;;;OAIG;IACH,WAAW,IAAI,IAAI,EAAE;IAQrB;;;;OAIG;IACH,uBAAuB,IAAI,IAAI,EAAE;IAQjC;;;;OAIG;IACH,mBAAmB,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;IAIzC;;;;;;OAMG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAI7C;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAclC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;OAIG;IACH,IAAI,iBAAiB,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAE3C;CACF"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { logger, LOG_MODULES } from '../../utils/logger.js';
|
|
2
|
+
/**
|
|
3
|
+
* Manages tool caching for MCP connections at both server ID and server name levels.
|
|
4
|
+
*
|
|
5
|
+
* This class encapsulates all tool cache operations, providing both server ID-level
|
|
6
|
+
* and server name-level caching for efficient tool lookup while maintaining data
|
|
7
|
+
* consistency across multiple instances of the same server.
|
|
8
|
+
*/
|
|
9
|
+
export class ToolCache {
|
|
10
|
+
toolCache = new Map();
|
|
11
|
+
serverNameToolCache = new Map();
|
|
12
|
+
nameToIdMap = new Map();
|
|
13
|
+
/**
|
|
14
|
+
* Sets the name-to-ID mapping for server name resolution.
|
|
15
|
+
*
|
|
16
|
+
* @param serverName - The server name
|
|
17
|
+
* @param serverId - The corresponding server instance ID
|
|
18
|
+
*/
|
|
19
|
+
setNameMapping(serverName, serverId) {
|
|
20
|
+
this.nameToIdMap.set(serverName, serverId);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Removes the name-to-ID mapping for a server.
|
|
24
|
+
*
|
|
25
|
+
* @param serverName - The server name to remove
|
|
26
|
+
*/
|
|
27
|
+
removeNameMapping(serverName) {
|
|
28
|
+
this.nameToIdMap.delete(serverName);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Removes name mapping by server ID.
|
|
32
|
+
*
|
|
33
|
+
* @param serverId - The server ID to remove
|
|
34
|
+
*/
|
|
35
|
+
removeNameMappingById(serverId) {
|
|
36
|
+
for (const [name, id] of this.nameToIdMap.entries()) {
|
|
37
|
+
if (id === serverId) {
|
|
38
|
+
this.nameToIdMap.delete(name);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Gets the server ID for a given server name.
|
|
45
|
+
*
|
|
46
|
+
* @param name - The server name
|
|
47
|
+
* @returns The server ID or undefined if not found
|
|
48
|
+
*/
|
|
49
|
+
getServerIdByName(name) {
|
|
50
|
+
return this.nameToIdMap.get(name);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Gets the server name for a given server ID.
|
|
54
|
+
*
|
|
55
|
+
* @param serverId - The server ID
|
|
56
|
+
* @returns The server name or 'unknown' if not found
|
|
57
|
+
*/
|
|
58
|
+
getServerNameById(serverId) {
|
|
59
|
+
for (const [name, id] of this.nameToIdMap.entries()) {
|
|
60
|
+
if (id === serverId) {
|
|
61
|
+
return name;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return 'unknown';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Sets tools for a specific server instance and updates both caches.
|
|
68
|
+
*
|
|
69
|
+
* @param serverId - The server instance ID
|
|
70
|
+
* @param tools - The tools to cache
|
|
71
|
+
* @param serverName - Optional server name for name-level cache update
|
|
72
|
+
*/
|
|
73
|
+
setTools(serverId, tools, serverName) {
|
|
74
|
+
this.toolCache.set(serverId, tools);
|
|
75
|
+
if (serverName) {
|
|
76
|
+
this.updateServerNameCache(serverName);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
const resolvedName = this.getServerNameById(serverId);
|
|
80
|
+
if (resolvedName !== 'unknown') {
|
|
81
|
+
this.updateServerNameCache(resolvedName);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
logger.debug(`ToolCache: Set ${tools.length} tools for server [${serverId}]`, LOG_MODULES.CONNECTION_MANAGER);
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets tools for a specific server instance.
|
|
88
|
+
*
|
|
89
|
+
* @param serverId - The server instance ID
|
|
90
|
+
* @returns Array of tools, empty if none
|
|
91
|
+
*/
|
|
92
|
+
getTools(serverId) {
|
|
93
|
+
const tools = this.toolCache.get(serverId) || [];
|
|
94
|
+
const fromCache = this.toolCache.has(serverId);
|
|
95
|
+
logger.debug(`ToolCache: getTools for [${serverId}]: returned ${tools.length} tools (${fromCache ? 'from cache' : 'no cache'})`, LOG_MODULES.CONNECTION_MANAGER);
|
|
96
|
+
return tools;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Gets tools by server name from the server name-level cache.
|
|
100
|
+
*
|
|
101
|
+
* @param serverName - The server name
|
|
102
|
+
* @returns Array of tools, empty if none
|
|
103
|
+
*/
|
|
104
|
+
getToolsByServerName(serverName) {
|
|
105
|
+
return this.serverNameToolCache.get(serverName) || [];
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Gets a specific tool by name from the server name-level cache.
|
|
109
|
+
*
|
|
110
|
+
* @param serverName - The server name
|
|
111
|
+
* @param toolName - The tool name to find
|
|
112
|
+
* @returns The tool object or undefined if not found
|
|
113
|
+
*/
|
|
114
|
+
getTool(serverName, toolName) {
|
|
115
|
+
const tools = this.serverNameToolCache.get(serverName);
|
|
116
|
+
return tools?.find((t) => t.name === toolName);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Gets all tools from all connected server instances.
|
|
120
|
+
*
|
|
121
|
+
* @returns Array of all tools from all servers
|
|
122
|
+
*/
|
|
123
|
+
getAllTools() {
|
|
124
|
+
const allTools = [];
|
|
125
|
+
for (const tools of this.toolCache.values()) {
|
|
126
|
+
allTools.push(...tools);
|
|
127
|
+
}
|
|
128
|
+
return allTools;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Gets all tools from the server name-level cache.
|
|
132
|
+
*
|
|
133
|
+
* @returns Array of all tools aggregated by server name
|
|
134
|
+
*/
|
|
135
|
+
getAllToolsByServerName() {
|
|
136
|
+
const allTools = [];
|
|
137
|
+
for (const tools of this.serverNameToolCache.values()) {
|
|
138
|
+
allTools.push(...tools);
|
|
139
|
+
}
|
|
140
|
+
return allTools;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Gets all tool cache entries.
|
|
144
|
+
*
|
|
145
|
+
* @returns Array of [serverId, tools] tuples
|
|
146
|
+
*/
|
|
147
|
+
getToolCacheEntries() {
|
|
148
|
+
return Array.from(this.toolCache.entries());
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Returns an iterator over the tool cache entries for backward compatibility.
|
|
152
|
+
* This mimics the Map.entries() method signature.
|
|
153
|
+
*
|
|
154
|
+
* @returns Iterator of [serverId, tools] tuples
|
|
155
|
+
* @deprecated Use getToolCacheEntries() instead
|
|
156
|
+
*/
|
|
157
|
+
entries() {
|
|
158
|
+
return this.toolCache.entries();
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Clears tools for a specific server and updates both caches.
|
|
162
|
+
*
|
|
163
|
+
* @param serverId - The server instance ID
|
|
164
|
+
*/
|
|
165
|
+
clearTools(serverId) {
|
|
166
|
+
const serverName = this.getServerNameById(serverId);
|
|
167
|
+
this.toolCache.delete(serverId);
|
|
168
|
+
if (serverName !== 'unknown') {
|
|
169
|
+
this.updateServerNameCache(serverName);
|
|
170
|
+
}
|
|
171
|
+
logger.debug(`ToolCache: Cleared tools for server [${serverId}]`, LOG_MODULES.CONNECTION_MANAGER);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Updates the server name-level cache for a specific server.
|
|
175
|
+
* This aggregates tools from all instances of the same server name.
|
|
176
|
+
*
|
|
177
|
+
* @param serverName - The server name to update
|
|
178
|
+
*/
|
|
179
|
+
updateServerNameCache(serverName) {
|
|
180
|
+
const allToolsForServer = [];
|
|
181
|
+
for (const [id, cachedTools] of this.toolCache.entries()) {
|
|
182
|
+
const instanceServerName = this.getServerNameById(id);
|
|
183
|
+
if (instanceServerName === serverName) {
|
|
184
|
+
allToolsForServer.push(...cachedTools);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
if (allToolsForServer.length > 0) {
|
|
188
|
+
this.serverNameToolCache.set(serverName, allToolsForServer);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
this.serverNameToolCache.delete(serverName);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Backward compatibility: direct access to the underlying toolCache Map.
|
|
196
|
+
* This is maintained for backward compatibility with code that accesses
|
|
197
|
+
* mcpConnectionManager.toolCache directly.
|
|
198
|
+
*/
|
|
199
|
+
get internalToolCache() {
|
|
200
|
+
return this.toolCache;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represents the connection status and metadata of an MCP server instance.
|
|
3
|
+
*
|
|
4
|
+
* This interface tracks the operational state of connected MCP servers,
|
|
5
|
+
* including connection status, error information, resource counts, and
|
|
6
|
+
* process-level details for stdio-based servers.
|
|
7
|
+
*
|
|
8
|
+
* @interface ServerStatus
|
|
9
|
+
* @property {boolean} connected - Whether the server is currently connected
|
|
10
|
+
* @property {string} [error] - Error message if connection failed or was lost
|
|
11
|
+
* @property {number} lastCheck - Timestamp (milliseconds) of last status check
|
|
12
|
+
* @property {number} toolsCount - Number of tools available from this server
|
|
13
|
+
* @property {number} resourcesCount - Number of resources available from this server
|
|
14
|
+
* @property {number} [pid] - Process ID for stdio-based servers
|
|
15
|
+
* @property {number} [startTime] - Server startup timestamp (milliseconds)
|
|
16
|
+
* @property {string} [version] - Server version string from MCP protocol
|
|
17
|
+
* @property {string} [hash] - Unique identifier hash for the server instance
|
|
18
|
+
*/
|
|
19
|
+
export interface ServerStatus {
|
|
20
|
+
connected: boolean;
|
|
21
|
+
error?: string;
|
|
22
|
+
lastCheck: number;
|
|
23
|
+
toolsCount: number;
|
|
24
|
+
resourcesCount: number;
|
|
25
|
+
pid?: number;
|
|
26
|
+
startTime?: number;
|
|
27
|
+
version?: string;
|
|
28
|
+
hash?: string;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/connection/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event Bus Service
|
|
3
|
+
*
|
|
4
|
+
* Centralized event management system for decoupled communication between different modules
|
|
5
|
+
* throughout the MCP Hub Lite application. This service implements the publish-subscribe
|
|
6
|
+
* pattern to enable loose coupling between components while maintaining efficient
|
|
7
|
+
* event-driven architecture.
|
|
8
|
+
*
|
|
9
|
+
* The event bus handles various types of events including server status changes,
|
|
10
|
+
* connection state updates, tool registry changes, log entries, configuration updates,
|
|
11
|
+
* and system health notifications. It provides thread-safe operations with error
|
|
12
|
+
* handling for listener callbacks to prevent cascading failures.
|
|
13
|
+
*
|
|
14
|
+
* Usage scenarios:
|
|
15
|
+
* - Server management modules publish server lifecycle events
|
|
16
|
+
* - Connection managers notify about connection state changes
|
|
17
|
+
* - UI components subscribe to relevant events for real-time updates
|
|
18
|
+
* - Logging services broadcast log entries to interested parties
|
|
19
|
+
* - Configuration services announce configuration changes
|
|
20
|
+
*
|
|
21
|
+
* All public methods are safe to call from any part of the application, and the service
|
|
22
|
+
* automatically manages memory by cleaning up empty event type entries when all listeners
|
|
23
|
+
* are unsubscribed.
|
|
24
|
+
*/
|
|
25
|
+
import type { EventData } from '../models/event.model.js';
|
|
26
|
+
/**
|
|
27
|
+
* Interface representing a published event with its type and associated data.
|
|
28
|
+
*
|
|
29
|
+
* @interface EventBusEvent
|
|
30
|
+
* @property {string} type - The event type identifier (e.g., 'server-connected', 'tools-updated')
|
|
31
|
+
* @property {EventData} data - The event payload containing relevant data for the event
|
|
32
|
+
*/
|
|
33
|
+
export interface EventBusEvent {
|
|
34
|
+
type: string;
|
|
35
|
+
data: EventData;
|
|
36
|
+
}
|
|
37
|
+
export declare class EventBusService {
|
|
38
|
+
private listeners;
|
|
39
|
+
/**
|
|
40
|
+
* Publishes an event to all subscribed listeners for the specified event type.
|
|
41
|
+
*
|
|
42
|
+
* This method notifies all registered listeners for the given event type by
|
|
43
|
+
* invoking their callback functions with the provided event data. Each listener
|
|
44
|
+
* is executed in a try-catch block to prevent errors in one listener from
|
|
45
|
+
* affecting other listeners or the publisher.
|
|
46
|
+
*
|
|
47
|
+
* @param {string} eventType - The type of event to publish (e.g., EventTypes.SERVER_CONNECTED)
|
|
48
|
+
* @param {EventData} data - The event payload data to be passed to all listeners
|
|
49
|
+
* @throws {Error} - Never throws; errors in listeners are caught and logged to console.error
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* eventBus.publish(EventTypes.SERVER_CONNECTED, { serverId: 'server-1', timestamp: Date.now() });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
publish(eventType: string, data: EventData): void;
|
|
57
|
+
/**
|
|
58
|
+
* Subscribes a listener function to receive events of the specified type.
|
|
59
|
+
*
|
|
60
|
+
* Registers the provided listener callback to be invoked whenever an event
|
|
61
|
+
* of the specified type is published. Returns an unsubscribe function that
|
|
62
|
+
* can be called to remove the listener registration.
|
|
63
|
+
*
|
|
64
|
+
* The service automatically creates a new listener set for the event type
|
|
65
|
+
* if it doesn't already exist, ensuring safe concurrent access.
|
|
66
|
+
*
|
|
67
|
+
* @param {string} eventType - The event type to subscribe to (e.g., EventTypes.TOOLS_UPDATED)
|
|
68
|
+
* @param {(data: EventData) => void} listener - The callback function to invoke when the event is published
|
|
69
|
+
* @returns {() => void} A function that, when called, unsubscribes the listener from the event type
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const unsubscribe = eventBus.subscribe(EventTypes.SERVER_DISCONNECTED, (data) => {
|
|
74
|
+
* console.log('Server disconnected:', data.serverId);
|
|
75
|
+
* });
|
|
76
|
+
* // Later, to unsubscribe:
|
|
77
|
+
* unsubscribe();
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
subscribe(eventType: string, listener: (data: EventData) => void): () => void;
|
|
81
|
+
/**
|
|
82
|
+
* Unsubscribes a listener from receiving events of the specified type.
|
|
83
|
+
*
|
|
84
|
+
* Removes the specified listener from the registry for the given event type.
|
|
85
|
+
* If this was the last listener for the event type, the entire event type
|
|
86
|
+
* entry is removed from the registry to free memory.
|
|
87
|
+
*
|
|
88
|
+
* This method is private and should only be called internally by the
|
|
89
|
+
* unsubscribe function returned by the subscribe method.
|
|
90
|
+
*
|
|
91
|
+
* @param {string} eventType - The event type to unsubscribe from
|
|
92
|
+
* @param {(data: EventData) => void} listener - The listener function to remove
|
|
93
|
+
* @access private
|
|
94
|
+
*/
|
|
95
|
+
private unsubscribe;
|
|
96
|
+
/**
|
|
97
|
+
* Unsubscribes all listeners from all event types.
|
|
98
|
+
*
|
|
99
|
+
* Clears the entire listener registry, effectively removing all subscriptions
|
|
100
|
+
* across all event types. This is typically used during application shutdown
|
|
101
|
+
* or when a complete reset of the event system is required.
|
|
102
|
+
*
|
|
103
|
+
* @returns {void}
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* // Clean up all event subscriptions before application shutdown
|
|
108
|
+
* eventBus.unsubscribeAll();
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
unsubscribeAll(): void;
|
|
112
|
+
/**
|
|
113
|
+
* Retrieves all currently registered event types that have active listeners.
|
|
114
|
+
*
|
|
115
|
+
* Returns an array of event type strings that currently have at least one
|
|
116
|
+
* subscribed listener. This can be useful for debugging, monitoring, or
|
|
117
|
+
* introspection purposes.
|
|
118
|
+
*
|
|
119
|
+
* @returns {string[]} Array of event type strings with active listeners
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const activeEventTypes = eventBus.getEventTypes();
|
|
124
|
+
* console.log('Active event types:', activeEventTypes);
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
getEventTypes(): string[];
|
|
128
|
+
/**
|
|
129
|
+
* Gets the number of active listeners subscribed to a specific event type.
|
|
130
|
+
*
|
|
131
|
+
* Returns the count of listener functions currently registered for the
|
|
132
|
+
* specified event type. Returns 0 if no listeners are registered for
|
|
133
|
+
* the event type or if the event type doesn't exist.
|
|
134
|
+
*
|
|
135
|
+
* @param {string} eventType - The event type to check listener count for
|
|
136
|
+
* @returns {number} The number of active listeners for the event type (0 if none)
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* const listenerCount = eventBus.getListenerCount(EventTypes.LOG_ENTRY);
|
|
141
|
+
* console.log(`There are ${listenerCount} listeners for log entries`);
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
getListenerCount(eventType: string): number;
|
|
145
|
+
}
|
|
146
|
+
export declare const EventTypes: {
|
|
147
|
+
readonly SERVER_STATUS_CHANGE: "server-status";
|
|
148
|
+
readonly SERVER_CONNECTED: "server-connected";
|
|
149
|
+
readonly SERVER_DISCONNECTED: "server-disconnected";
|
|
150
|
+
readonly SERVER_ADDED: "server-added";
|
|
151
|
+
readonly SERVER_UPDATED: "server-updated";
|
|
152
|
+
readonly SERVER_DELETED: "server-deleted";
|
|
153
|
+
readonly SERVER_INSTANCE_ADDED: "server-instance-added";
|
|
154
|
+
readonly SERVER_INSTANCE_UPDATED: "server-instance-updated";
|
|
155
|
+
readonly SERVER_INSTANCE_DELETED: "server-instance-deleted";
|
|
156
|
+
readonly TOOLS_UPDATED: "tools";
|
|
157
|
+
readonly TOOL_CALL_STARTED: "tool-call-started";
|
|
158
|
+
readonly TOOL_CALL_COMPLETED: "tool-call-completed";
|
|
159
|
+
readonly TOOL_CALL_ERROR: "tool-call-error";
|
|
160
|
+
readonly RESOURCES_UPDATED: "resources";
|
|
161
|
+
readonly LOG_ENTRY: "log";
|
|
162
|
+
readonly LOGS_CLEARED: "logs-cleared";
|
|
163
|
+
readonly SYSTEM_HEALTH: "system-health";
|
|
164
|
+
readonly CONFIGURATION_UPDATED: "configuration-updated";
|
|
165
|
+
readonly CLIENT_CONNECTED: "client-connected";
|
|
166
|
+
readonly CLIENT_DISCONNECTED: "client-disconnected";
|
|
167
|
+
};
|
|
168
|
+
export declare const eventBus: EventBusService;
|
|
169
|
+
//# sourceMappingURL=event-bus.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-bus.service.d.ts","sourceRoot":"","sources":["../../../../src/services/event-bus.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAqD;IAEtE;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI;IAajD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;IAU7E;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,WAAW;IAWnB;;;;;;;;;;;;;;OAcG;IACH,cAAc,IAAI,IAAI;IAItB;;;;;;;;;;;;;;OAcG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;;;;;;;;;;;;OAeG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAI5C;AAGD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CAkCb,CAAC;AAGX,eAAO,MAAM,QAAQ,iBAAwB,CAAC"}
|