@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,32 @@
|
|
|
1
|
+
import type { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
|
|
2
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
+
/**
|
|
4
|
+
* Transport with web standard transport property.
|
|
5
|
+
*/
|
|
6
|
+
export interface TransportWithWebStandard {
|
|
7
|
+
_webStandardTransport?: {
|
|
8
|
+
sessionId?: string;
|
|
9
|
+
_initialized?: boolean;
|
|
10
|
+
_session?: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Represents an active MCP session with its associated server and transport.
|
|
15
|
+
*
|
|
16
|
+
* Each session maintains its own MCP server instance and HTTP transport layer,
|
|
17
|
+
* providing isolated communication channels for different clients. The session
|
|
18
|
+
* tracks the last access time for automatic cleanup of stale sessions.
|
|
19
|
+
*
|
|
20
|
+
* @interface Session
|
|
21
|
+
* @property {McpServer} server - The MCP server instance handling this session
|
|
22
|
+
* @property {StreamableHTTPServerTransport} transport - The HTTP transport for this session
|
|
23
|
+
* @property {string} sessionId - Unique identifier for the session
|
|
24
|
+
* @property {number} lastAccessed - Timestamp (milliseconds) of last session access
|
|
25
|
+
*/
|
|
26
|
+
export interface Session {
|
|
27
|
+
server: McpServer;
|
|
28
|
+
transport: StreamableHTTPServerTransport;
|
|
29
|
+
sessionId: string;
|
|
30
|
+
lastAccessed: number;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/session/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACxG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,CAAC,EAAE;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,6BAA6B,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Tool } from '../../shared/models/tool.model.js';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a search result containing a tool and its relevance score.
|
|
4
|
+
*/
|
|
5
|
+
export interface SearchResult {
|
|
6
|
+
tool: Tool;
|
|
7
|
+
score: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* A lightweight search service that provides basic string-based matching for MCP tools.
|
|
11
|
+
*
|
|
12
|
+
* This service is designed for small to medium-scale deployments (50-200 tools) where
|
|
13
|
+
* performance requirements are modest (<100ms response time) and full-text search
|
|
14
|
+
* capabilities are not required. It implements a simple scoring algorithm based on
|
|
15
|
+
* exact matches, prefix matches, substring matches, and description matches.
|
|
16
|
+
*
|
|
17
|
+
* The search is case-insensitive and returns results sorted by relevance score in
|
|
18
|
+
* descending order. Tools with higher scores appear first in the results.
|
|
19
|
+
*
|
|
20
|
+
* Use cases:
|
|
21
|
+
* - Quick tool discovery in development environments
|
|
22
|
+
* - Basic search functionality for independent developers
|
|
23
|
+
* - Lightweight alternative when advanced search features are not needed
|
|
24
|
+
*
|
|
25
|
+
* For larger scale deployments or when fuzzy search is required, consider using
|
|
26
|
+
* the SearchCoreService instead.
|
|
27
|
+
*/
|
|
28
|
+
export declare class SimpleSearchService {
|
|
29
|
+
/**
|
|
30
|
+
* Performs a case-insensitive search across all available MCP tools and returns
|
|
31
|
+
* ranked results based on relevance scoring.
|
|
32
|
+
*
|
|
33
|
+
* The scoring algorithm works as follows:
|
|
34
|
+
* - Exact name match: +10 points
|
|
35
|
+
* - Name starts with query: +5 points
|
|
36
|
+
* - Name contains query: +3 points
|
|
37
|
+
* - Description contains query: +1 point
|
|
38
|
+
*
|
|
39
|
+
* Results are filtered to only include tools with a score greater than 0,
|
|
40
|
+
* and are sorted by score in descending order (highest relevance first).
|
|
41
|
+
*
|
|
42
|
+
* @param query - The search query string. If empty or whitespace only,
|
|
43
|
+
* returns all tools with a score of 1.
|
|
44
|
+
* @returns An array of SearchResult objects containing the matching tools
|
|
45
|
+
* and their relevance scores, sorted by score in descending order.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* // Search for tools containing "find"
|
|
49
|
+
* const results = simpleSearchService.search("find");
|
|
50
|
+
* console.log(results[0].tool.name); // Highest scoring tool name
|
|
51
|
+
* console.log(results[0].score); // Relevance score (e.g., 10 for exact match)
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // Get all tools (empty query)
|
|
55
|
+
* const allTools = simpleSearchService.search("");
|
|
56
|
+
* console.log(`Total tools: ${allTools.length}`);
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* // Case-insensitive search
|
|
60
|
+
* const results1 = simpleSearchService.search("FIND");
|
|
61
|
+
* const results2 = simpleSearchService.search("find");
|
|
62
|
+
* // results1 and results2 will be identical
|
|
63
|
+
*/
|
|
64
|
+
search(query: string): SearchResult[];
|
|
65
|
+
}
|
|
66
|
+
export declare const simpleSearchService: SimpleSearchService;
|
|
67
|
+
//# sourceMappingURL=simple-search.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-search.service.d.ts","sourceRoot":"","sources":["../../../../src/services/simple-search.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;CAyB7C;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { mcpConnectionManager } from './mcp-connection-manager.js';
|
|
2
|
+
/**
|
|
3
|
+
* A lightweight search service that provides basic string-based matching for MCP tools.
|
|
4
|
+
*
|
|
5
|
+
* This service is designed for small to medium-scale deployments (50-200 tools) where
|
|
6
|
+
* performance requirements are modest (<100ms response time) and full-text search
|
|
7
|
+
* capabilities are not required. It implements a simple scoring algorithm based on
|
|
8
|
+
* exact matches, prefix matches, substring matches, and description matches.
|
|
9
|
+
*
|
|
10
|
+
* The search is case-insensitive and returns results sorted by relevance score in
|
|
11
|
+
* descending order. Tools with higher scores appear first in the results.
|
|
12
|
+
*
|
|
13
|
+
* Use cases:
|
|
14
|
+
* - Quick tool discovery in development environments
|
|
15
|
+
* - Basic search functionality for independent developers
|
|
16
|
+
* - Lightweight alternative when advanced search features are not needed
|
|
17
|
+
*
|
|
18
|
+
* For larger scale deployments or when fuzzy search is required, consider using
|
|
19
|
+
* the SearchCoreService instead.
|
|
20
|
+
*/
|
|
21
|
+
export class SimpleSearchService {
|
|
22
|
+
/**
|
|
23
|
+
* Performs a case-insensitive search across all available MCP tools and returns
|
|
24
|
+
* ranked results based on relevance scoring.
|
|
25
|
+
*
|
|
26
|
+
* The scoring algorithm works as follows:
|
|
27
|
+
* - Exact name match: +10 points
|
|
28
|
+
* - Name starts with query: +5 points
|
|
29
|
+
* - Name contains query: +3 points
|
|
30
|
+
* - Description contains query: +1 point
|
|
31
|
+
*
|
|
32
|
+
* Results are filtered to only include tools with a score greater than 0,
|
|
33
|
+
* and are sorted by score in descending order (highest relevance first).
|
|
34
|
+
*
|
|
35
|
+
* @param query - The search query string. If empty or whitespace only,
|
|
36
|
+
* returns all tools with a score of 1.
|
|
37
|
+
* @returns An array of SearchResult objects containing the matching tools
|
|
38
|
+
* and their relevance scores, sorted by score in descending order.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* // Search for tools containing "find"
|
|
42
|
+
* const results = simpleSearchService.search("find");
|
|
43
|
+
* console.log(results[0].tool.name); // Highest scoring tool name
|
|
44
|
+
* console.log(results[0].score); // Relevance score (e.g., 10 for exact match)
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* // Get all tools (empty query)
|
|
48
|
+
* const allTools = simpleSearchService.search("");
|
|
49
|
+
* console.log(`Total tools: ${allTools.length}`);
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* // Case-insensitive search
|
|
53
|
+
* const results1 = simpleSearchService.search("FIND");
|
|
54
|
+
* const results2 = simpleSearchService.search("find");
|
|
55
|
+
* // results1 and results2 will be identical
|
|
56
|
+
*/
|
|
57
|
+
search(query) {
|
|
58
|
+
const allTools = mcpConnectionManager.getAllTools();
|
|
59
|
+
if (!query.trim()) {
|
|
60
|
+
return allTools.map((t) => ({ tool: t, score: 1 }));
|
|
61
|
+
}
|
|
62
|
+
const lowerQuery = query.toLowerCase();
|
|
63
|
+
return allTools
|
|
64
|
+
.map((tool) => {
|
|
65
|
+
let score = 0;
|
|
66
|
+
const name = tool.name.toLowerCase();
|
|
67
|
+
const desc = (tool.description || '').toLowerCase();
|
|
68
|
+
if (name === lowerQuery)
|
|
69
|
+
score += 10;
|
|
70
|
+
else if (name.startsWith(lowerQuery))
|
|
71
|
+
score += 5;
|
|
72
|
+
else if (name.includes(lowerQuery))
|
|
73
|
+
score += 3;
|
|
74
|
+
if (desc.includes(lowerQuery))
|
|
75
|
+
score += 1;
|
|
76
|
+
return { tool, score };
|
|
77
|
+
})
|
|
78
|
+
.filter((r) => r.score > 0)
|
|
79
|
+
.sort((a, b) => b.score - a.score);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
export const simpleSearchService = new SimpleSearchService();
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified system tool call handler
|
|
3
|
+
*/
|
|
4
|
+
export declare class SystemToolHandler {
|
|
5
|
+
/**
|
|
6
|
+
* Handles system tool calls
|
|
7
|
+
*/
|
|
8
|
+
static handleSystemToolCall(toolName: string, toolArgs: Record<string, unknown>): Promise<unknown>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=system-tool-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/services/system-tool-handler.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;WACU,oBAAoB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;CAwEpB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { hubToolsService } from './hub-tools.service.js';
|
|
2
|
+
import { McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
+
import { logger, LOG_MODULES } from '../utils/logger.js';
|
|
4
|
+
import { LIST_SERVERS_TOOL, FIND_SERVERS_TOOL, LIST_ALL_TOOLS_IN_SERVER_TOOL, FIND_TOOLS_IN_SERVER_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, FIND_TOOLS_TOOL, MCP_HUB_LITE_SERVER } from '../models/system-tools.constants.js';
|
|
5
|
+
import { stringifyForLogging } from '../utils/json-utils.js';
|
|
6
|
+
/**
|
|
7
|
+
* Unified system tool call handler
|
|
8
|
+
*/
|
|
9
|
+
export class SystemToolHandler {
|
|
10
|
+
/**
|
|
11
|
+
* Handles system tool calls
|
|
12
|
+
*/
|
|
13
|
+
static async handleSystemToolCall(toolName, toolArgs) {
|
|
14
|
+
logger.debug(`System tool called: ${toolName}, args=${stringifyForLogging(toolArgs)}`, LOG_MODULES.SYSTEM_TOOL);
|
|
15
|
+
try {
|
|
16
|
+
let result;
|
|
17
|
+
switch (toolName) {
|
|
18
|
+
case LIST_SERVERS_TOOL:
|
|
19
|
+
result = await hubToolsService.listServers();
|
|
20
|
+
break;
|
|
21
|
+
case FIND_SERVERS_TOOL: {
|
|
22
|
+
const findServersArgs = toolArgs;
|
|
23
|
+
result = await hubToolsService.findServers(findServersArgs);
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case LIST_ALL_TOOLS_IN_SERVER_TOOL: {
|
|
27
|
+
const listAllToolsArgs = toolArgs;
|
|
28
|
+
result = await hubToolsService.listAllToolsInServer(listAllToolsArgs);
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case FIND_TOOLS_IN_SERVER_TOOL: {
|
|
32
|
+
const findToolsInServerArgs = toolArgs;
|
|
33
|
+
result = await hubToolsService.findToolsInServer(findToolsInServerArgs);
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case GET_TOOL_TOOL: {
|
|
37
|
+
const getToolArgs = toolArgs;
|
|
38
|
+
result = await hubToolsService.getTool(getToolArgs);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
case CALL_TOOL_TOOL: {
|
|
42
|
+
const callToolArgs = toolArgs;
|
|
43
|
+
let serverName = callToolArgs.serverName;
|
|
44
|
+
if (!serverName || serverName === 'undefined') {
|
|
45
|
+
serverName = MCP_HUB_LITE_SERVER;
|
|
46
|
+
}
|
|
47
|
+
result = await hubToolsService.callTool({
|
|
48
|
+
...callToolArgs,
|
|
49
|
+
serverName
|
|
50
|
+
});
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
case FIND_TOOLS_TOOL: {
|
|
54
|
+
const findToolsArgs = toolArgs;
|
|
55
|
+
result = await hubToolsService.findTools(findToolsArgs);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
default:
|
|
59
|
+
throw new McpError(-32801, `Unknown system tool: ${toolName}`);
|
|
60
|
+
}
|
|
61
|
+
logger.info(`System tool SUCCESS: ${toolName}`, LOG_MODULES.SYSTEM_TOOL);
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
logger.error(`System tool FAILED: ${toolName}, error=${error instanceof Error ? error.message : String(error)}`, error, LOG_MODULES.SYSTEM_TOOL);
|
|
66
|
+
if (error instanceof McpError) {
|
|
67
|
+
throw error;
|
|
68
|
+
}
|
|
69
|
+
else if (error instanceof Error) {
|
|
70
|
+
throw new McpError(-32802, error.message || 'System Tool Error');
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
throw new McpError(-32802, String(error) || 'System Tool Error');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified error handler
|
|
3
|
+
*/
|
|
4
|
+
export declare class ErrorHandler {
|
|
5
|
+
/**
|
|
6
|
+
* Handles system tool errors
|
|
7
|
+
*/
|
|
8
|
+
static handleSystemToolError(toolName: string, error: unknown): never;
|
|
9
|
+
/**
|
|
10
|
+
* Handles tool call errors
|
|
11
|
+
*/
|
|
12
|
+
static handleToolCallError(serverId: string, realToolName: string, error: unknown): never;
|
|
13
|
+
/**
|
|
14
|
+
* Handles general errors
|
|
15
|
+
*/
|
|
16
|
+
static handleGeneralError(error: unknown, message: string): never;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=error-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../../src/utils/error-handler.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK;IAgBrE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK;IA6BzF;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK;CAWlE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { McpError } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
import { logger, LOG_MODULES } from './logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Unified error handler
|
|
5
|
+
*/
|
|
6
|
+
export class ErrorHandler {
|
|
7
|
+
/**
|
|
8
|
+
* Handles system tool errors
|
|
9
|
+
*/
|
|
10
|
+
static handleSystemToolError(toolName, error) {
|
|
11
|
+
logger.error(`System tool FAILED: ${toolName}, error=${error instanceof Error ? error.message : String(error)}`, error, LOG_MODULES.SYSTEM_TOOL);
|
|
12
|
+
if (error instanceof McpError) {
|
|
13
|
+
throw error;
|
|
14
|
+
}
|
|
15
|
+
else if (error instanceof Error) {
|
|
16
|
+
throw new McpError(-32802, error.message || 'System Tool Error');
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
throw new McpError(-32802, String(error) || 'System Tool Error');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Handles tool call errors
|
|
24
|
+
*/
|
|
25
|
+
static handleToolCallError(serverId, realToolName, error) {
|
|
26
|
+
if (error instanceof Error) {
|
|
27
|
+
logger.error(`Tool call FAILED: serverId=${serverId}, realToolName=${realToolName}, error=${error.message}`, LOG_MODULES.GATEWAY);
|
|
28
|
+
if (error.stack) {
|
|
29
|
+
logger.debug(`Error stack for ${realToolName}:`, error.stack, LOG_MODULES.GATEWAY);
|
|
30
|
+
}
|
|
31
|
+
if (error instanceof McpError) {
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
if (error.message?.includes('not connected')) {
|
|
35
|
+
throw new McpError(-32001, `Server not reachable: ${error.message}`);
|
|
36
|
+
}
|
|
37
|
+
throw new McpError(-32802, error.message || 'Internal Gateway Error');
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
logger.error(`Tool call FAILED: serverId=${serverId}, realToolName=${realToolName}, error=${String(error)}`, LOG_MODULES.GATEWAY);
|
|
41
|
+
throw new McpError(-32802, String(error) || 'Internal Gateway Error');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Handles general errors
|
|
46
|
+
*/
|
|
47
|
+
static handleGeneralError(error, message) {
|
|
48
|
+
logger.error(message, error);
|
|
49
|
+
if (error instanceof McpError) {
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
else if (error instanceof Error) {
|
|
53
|
+
throw new McpError(-32802, error.message);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw new McpError(-32802, String(error));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for formatting various data types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Format uptime duration in HH:MM:SS format
|
|
6
|
+
* @param startTime - The start timestamp in milliseconds
|
|
7
|
+
* @param status - The server status (only 'online' will show actual uptime)
|
|
8
|
+
* @returns Formatted uptime string in HH:MM:SS format
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatUptime(startTime?: number, status?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Format duration in human-readable format (d/h/m/s)
|
|
13
|
+
* @param milliseconds - Duration in milliseconds
|
|
14
|
+
* @returns Formatted duration string (e.g., "2d 3h 45m", "1h 30m", "45m", "30s")
|
|
15
|
+
*/
|
|
16
|
+
export declare function formatDuration(milliseconds: number): string;
|
|
17
|
+
/**
|
|
18
|
+
* Get executable name from command path
|
|
19
|
+
* @param cmd - The command path or name
|
|
20
|
+
* @returns The executable name (last part of path)
|
|
21
|
+
*/
|
|
22
|
+
export declare function getExecutableName(cmd?: string): string;
|
|
23
|
+
//# sourceMappingURL=format-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/format-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAqB3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAItD"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for formatting various data types
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Format uptime duration in HH:MM:SS format
|
|
6
|
+
* @param startTime - The start timestamp in milliseconds
|
|
7
|
+
* @param status - The server status (only 'online' will show actual uptime)
|
|
8
|
+
* @returns Formatted uptime string in HH:MM:SS format
|
|
9
|
+
*/
|
|
10
|
+
export function formatUptime(startTime, status) {
|
|
11
|
+
if (!startTime || status !== 'online') {
|
|
12
|
+
return '00:00:00';
|
|
13
|
+
}
|
|
14
|
+
const diff = Math.floor((Date.now() - startTime) / 1000);
|
|
15
|
+
if (diff < 0) {
|
|
16
|
+
return '00:00:00';
|
|
17
|
+
}
|
|
18
|
+
const hours = Math.floor(diff / 3600);
|
|
19
|
+
const minutes = Math.floor((diff % 3600) / 60);
|
|
20
|
+
const seconds = diff % 60;
|
|
21
|
+
return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Format duration in human-readable format (d/h/m/s)
|
|
25
|
+
* @param milliseconds - Duration in milliseconds
|
|
26
|
+
* @returns Formatted duration string (e.g., "2d 3h 45m", "1h 30m", "45m", "30s")
|
|
27
|
+
*/
|
|
28
|
+
export function formatDuration(milliseconds) {
|
|
29
|
+
const seconds = Math.floor(milliseconds / 1000);
|
|
30
|
+
const minutes = Math.floor(seconds / 60);
|
|
31
|
+
const hours = Math.floor(minutes / 60);
|
|
32
|
+
const days = Math.floor(hours / 24);
|
|
33
|
+
const parts = [];
|
|
34
|
+
if (days > 0) {
|
|
35
|
+
parts.push(`${days}d`);
|
|
36
|
+
}
|
|
37
|
+
if (hours % 24 > 0) {
|
|
38
|
+
parts.push(`${hours % 24}h`);
|
|
39
|
+
}
|
|
40
|
+
if (minutes % 60 > 0) {
|
|
41
|
+
parts.push(`${minutes % 60}m`);
|
|
42
|
+
}
|
|
43
|
+
if (seconds % 60 > 0 && parts.length === 0) {
|
|
44
|
+
parts.push(`${seconds % 60}s`);
|
|
45
|
+
}
|
|
46
|
+
return parts.length > 0 ? parts.join(' ') : '0s';
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get executable name from command path
|
|
50
|
+
* @param cmd - The command path or name
|
|
51
|
+
* @returns The executable name (last part of path)
|
|
52
|
+
*/
|
|
53
|
+
export function getExecutableName(cmd) {
|
|
54
|
+
if (!cmd)
|
|
55
|
+
return 'unknown';
|
|
56
|
+
// Only show the last part of path or just the command
|
|
57
|
+
return cmd.split(/[/\\]/).pop() || cmd;
|
|
58
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { logger, LOG_MODULES } from './logger.js';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON utilities for logging and formatting
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Set the dev mode flag.
|
|
6
|
+
* Called by logger.enableDevLog() to indicate we're in dev mode.
|
|
7
|
+
*
|
|
8
|
+
* @param enabled - Whether dev mode is enabled
|
|
9
|
+
*/
|
|
10
|
+
export declare function setDevModeEnabled(enabled: boolean): void;
|
|
11
|
+
/**
|
|
12
|
+
* Get the dev mode flag.
|
|
13
|
+
* Returns true if we're in dev mode (dev log is enabled).
|
|
14
|
+
*
|
|
15
|
+
* @returns boolean indicating whether dev mode is enabled
|
|
16
|
+
*/
|
|
17
|
+
export declare function isDevModeEnabled(): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Type for the config getter function to avoid direct import dependency.
|
|
20
|
+
*/
|
|
21
|
+
type ConfigGetter = () => {
|
|
22
|
+
system: {
|
|
23
|
+
logging: {
|
|
24
|
+
jsonPretty: boolean;
|
|
25
|
+
mcpCommDebug: boolean;
|
|
26
|
+
sessionDebug: boolean;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Set the config getter for jsonPretty setting.
|
|
32
|
+
* This allows retrieving the setting from config without direct import dependency.
|
|
33
|
+
*
|
|
34
|
+
* @param getter - Function that returns the config object, or null to reset
|
|
35
|
+
*/
|
|
36
|
+
export declare function setJsonPrettyConfigGetter(getter: ConfigGetter | null): void;
|
|
37
|
+
/**
|
|
38
|
+
* Convert Node.js rawHeaders array [key1, value1, key2, value2, ...] to object
|
|
39
|
+
* @param rawHeaders Node.js rawHeaders array
|
|
40
|
+
* @returns Headers as key-value object
|
|
41
|
+
*/
|
|
42
|
+
export declare function rawHeadersToObject(rawHeaders: string[]): Record<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* Stringify Node.js rawHeaders array for logging
|
|
45
|
+
* Converts [key1, value1, key2, value2, ...] to readable object format
|
|
46
|
+
* @param rawHeaders Node.js rawHeaders array
|
|
47
|
+
* @returns Formatted JSON string
|
|
48
|
+
*/
|
|
49
|
+
export declare function stringifyRawHeadersForLogging(rawHeaders: string[]): string;
|
|
50
|
+
/**
|
|
51
|
+
* Get JSON pretty setting from config getter.
|
|
52
|
+
*
|
|
53
|
+
* @returns boolean indicating whether to use pretty JSON formatting
|
|
54
|
+
*/
|
|
55
|
+
export declare function getJsonPrettySetting(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get MCP communication debug setting from config getter.
|
|
58
|
+
*
|
|
59
|
+
* @returns boolean indicating whether to enable MCP communication debug logging
|
|
60
|
+
*/
|
|
61
|
+
export declare function getMcpCommDebugSetting(): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Get session debug setting from config getter.
|
|
64
|
+
*
|
|
65
|
+
* @returns boolean indicating whether to enable session debug logging
|
|
66
|
+
*/
|
|
67
|
+
export declare function getSessionDebugSetting(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Stringify object for logging with dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
|
|
70
|
+
* @param obj Object to stringify
|
|
71
|
+
* @returns Formatted JSON string
|
|
72
|
+
*/
|
|
73
|
+
export declare function stringifyForLogging(obj: unknown): string;
|
|
74
|
+
/**
|
|
75
|
+
* Stringify object for logging with replacer and dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
|
|
76
|
+
* @param obj Object to stringify
|
|
77
|
+
* @param replacer Optional replacer function
|
|
78
|
+
* @returns Formatted JSON string
|
|
79
|
+
*/
|
|
80
|
+
export declare function stringifyForLoggingWithReplacer(obj: unknown, replacer?: (key: string, value: unknown) => unknown): string;
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=json-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAiED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IACxB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YACtB,YAAY,EAAE,OAAO,CAAC;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAClD,MAAM,CAOR"}
|