@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,350 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Advanced structured logger with color support, file output, and context-aware logging.
|
|
3
|
+
*
|
|
4
|
+
* This logger provides comprehensive logging capabilities with the following features:
|
|
5
|
+
* - ANSI color-coded console output with different colors for each log level
|
|
6
|
+
* - Structured context information including PID, server name, trace ID, span ID
|
|
7
|
+
* - File output with plain text formatting (no colors) for log analysis
|
|
8
|
+
* - Development mode with automatic log file creation and clearing
|
|
9
|
+
* - Context-aware logging with module, traceId, and spanId support
|
|
10
|
+
* - Error formatting with stack trace truncation to prevent overly verbose logs
|
|
11
|
+
* - MCP server-specific logging with serverName context
|
|
12
|
+
* - Log rotation with date-based file naming and automatic cleanup
|
|
13
|
+
*
|
|
14
|
+
* The logger supports four log levels: debug, info, warn, and error, with configurable
|
|
15
|
+
* minimum log level threshold.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* // Basic usage
|
|
20
|
+
* logger.info('Server started', { port: 7788 });
|
|
21
|
+
*
|
|
22
|
+
* // With context
|
|
23
|
+
* logger.error('Connection failed', { error: err.message, serverName: 'my-server' });
|
|
24
|
+
*
|
|
25
|
+
* // Development mode
|
|
26
|
+
* logger.enableDevLog();
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
import { DevLogger } from './dev-logger.js';
|
|
30
|
+
import { LOG_MODULES } from './log-modules.js';
|
|
31
|
+
import { createColoredLogMessage, createLogMessage, formatError, formatTimestamp, formatLogLevel, formatPid } from './log-formatter.js';
|
|
32
|
+
import { setDevModeEnabled } from '../json-utils.js';
|
|
33
|
+
export class Logger {
|
|
34
|
+
level = 'info';
|
|
35
|
+
useStderr = false;
|
|
36
|
+
useColor = true;
|
|
37
|
+
devLogger = new DevLogger();
|
|
38
|
+
constructor(level = 'info') {
|
|
39
|
+
this.level = level;
|
|
40
|
+
const devLogFileEnv = process.env.DEV_LOG_FILE;
|
|
41
|
+
if (devLogFileEnv === 'true' || devLogFileEnv === '1') {
|
|
42
|
+
this.enableDevLog();
|
|
43
|
+
}
|
|
44
|
+
const noColorEnv = process.env.NO_COLOR;
|
|
45
|
+
if (noColorEnv === 'true' || noColorEnv === '1' || noColorEnv === '') {
|
|
46
|
+
this.setUseColor(false);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Enables development logging mode with file output and enhanced debugging.
|
|
51
|
+
*
|
|
52
|
+
* @param rotatorConfig - Optional custom rotation configuration (default: 7 days retention)
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* const logger = new Logger();
|
|
56
|
+
* logger.enableDevLog(); // Logs will be written to logs/dev-server.2026-02-27.log
|
|
57
|
+
*
|
|
58
|
+
* // With custom retention period
|
|
59
|
+
* logger.enableDevLog({ rotationAge: '14d' });
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
enableDevLog(rotatorConfig) {
|
|
63
|
+
setDevModeEnabled(true);
|
|
64
|
+
this.devLogger.enableDevLog(rotatorConfig, (logFile) => {
|
|
65
|
+
this.debug(`Writing logs to: ${logFile}`, LOG_MODULES.DEV_SERVER);
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
setUseStderr(use) {
|
|
69
|
+
this.useStderr = use;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Enable or disable ANSI color output.
|
|
73
|
+
* When disabled, logs will be plain text without color codes.
|
|
74
|
+
*
|
|
75
|
+
* @param use - Whether to use color in output
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* logger.setUseColor(false); // Plain text output for files
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
setUseColor(use) {
|
|
82
|
+
this.useColor = use;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Check if a message should be logged at the current level.
|
|
86
|
+
* @internal Public for testing only
|
|
87
|
+
*/
|
|
88
|
+
shouldLog(messageLevel) {
|
|
89
|
+
const levels = ['debug', 'info', 'warn', 'error'];
|
|
90
|
+
return levels.indexOf(messageLevel) >= levels.indexOf(this.level);
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Generic logging method to eliminate code duplication.
|
|
94
|
+
*/
|
|
95
|
+
log(level, message, args, options) {
|
|
96
|
+
if (!this.shouldLog(level)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
let fullMessage = message;
|
|
100
|
+
if (args.length > 0) {
|
|
101
|
+
const formattedArgs = args.map((arg) => formatError(arg)).join(' ');
|
|
102
|
+
fullMessage = `${message} ${formattedArgs}`;
|
|
103
|
+
}
|
|
104
|
+
const context = options
|
|
105
|
+
? {
|
|
106
|
+
module: options.module,
|
|
107
|
+
traceId: options.traceId,
|
|
108
|
+
spanId: options.spanId
|
|
109
|
+
}
|
|
110
|
+
: undefined;
|
|
111
|
+
const coloredLogMsg = createColoredLogMessage(level, fullMessage, context);
|
|
112
|
+
const plainLogMsg = createLogMessage(level, fullMessage, context);
|
|
113
|
+
const consoleLogMsg = this.useColor ? coloredLogMsg : plainLogMsg;
|
|
114
|
+
if (this.useStderr) {
|
|
115
|
+
console.error(consoleLogMsg);
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
switch (level) {
|
|
119
|
+
case 'debug':
|
|
120
|
+
console.debug(consoleLogMsg);
|
|
121
|
+
break;
|
|
122
|
+
case 'info':
|
|
123
|
+
console.info(consoleLogMsg);
|
|
124
|
+
break;
|
|
125
|
+
case 'warn':
|
|
126
|
+
console.warn(consoleLogMsg);
|
|
127
|
+
break;
|
|
128
|
+
case 'error':
|
|
129
|
+
console.error(consoleLogMsg);
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const logFileStream = this.devLogger.stream;
|
|
134
|
+
if (logFileStream) {
|
|
135
|
+
logFileStream.write(plainLogMsg + '\n');
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Logs a debug message with optional context and additional arguments.
|
|
140
|
+
*
|
|
141
|
+
* @param message - The primary log message
|
|
142
|
+
* @param args - Additional arguments to include in the log
|
|
143
|
+
*
|
|
144
|
+
* @example
|
|
145
|
+
* ```typescript
|
|
146
|
+
* // Basic debug message
|
|
147
|
+
* logger.debug('Processing request');
|
|
148
|
+
*
|
|
149
|
+
* // With context
|
|
150
|
+
* logger.debug('Tool called', { module: 'Gateway', traceId: 'abc123' }, toolName, args);
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
debug(message, ...args) {
|
|
154
|
+
const [options, ...restArgs] = this.extractOptionsAndArgs(args);
|
|
155
|
+
this.log('debug', message, restArgs, options);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Logs an informational message with optional context and additional arguments.
|
|
159
|
+
*
|
|
160
|
+
* @param message - The primary log message
|
|
161
|
+
* @param args - Additional arguments to include in the log
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* // Basic info message
|
|
166
|
+
* logger.info('Server started successfully');
|
|
167
|
+
*
|
|
168
|
+
* // With context and additional data
|
|
169
|
+
* logger.info('Request processed', { module: 'API' }, { duration: 150, statusCode: 200 });
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
info(message, ...args) {
|
|
173
|
+
const [options, ...restArgs] = this.extractOptionsAndArgs(args);
|
|
174
|
+
this.log('info', message, restArgs, options);
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Logs a warning message with optional context and additional arguments.
|
|
178
|
+
*
|
|
179
|
+
* @param message - The primary log message
|
|
180
|
+
* @param args - Additional arguments to include in the log
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* // Basic warning message
|
|
185
|
+
* logger.warn('Deprecated API usage detected');
|
|
186
|
+
*
|
|
187
|
+
* // With context and error details
|
|
188
|
+
* logger.warn('Connection timeout', { module: 'Network' }, { server: 'api.example.com', timeout: 5000 });
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
warn(message, ...args) {
|
|
192
|
+
const [options, ...restArgs] = this.extractOptionsAndArgs(args);
|
|
193
|
+
this.log('warn', message, restArgs, options);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Logs an error message with optional context and additional arguments.
|
|
197
|
+
*
|
|
198
|
+
* @param message - The primary log message
|
|
199
|
+
* @param args - Additional arguments to include in the log
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* // Basic error message
|
|
204
|
+
* logger.error('Database connection failed');
|
|
205
|
+
*
|
|
206
|
+
* // With error object and context
|
|
207
|
+
* logger.error('Request processing failed', { module: 'API' }, error, { requestId: '123' });
|
|
208
|
+
* ```
|
|
209
|
+
*/
|
|
210
|
+
error(message, ...args) {
|
|
211
|
+
const [options, ...restArgs] = this.extractOptionsAndArgs(args);
|
|
212
|
+
this.log('error', message, restArgs, options);
|
|
213
|
+
}
|
|
214
|
+
extractOptionsAndArgs(args) {
|
|
215
|
+
const optionsIndex = args.findIndex((arg) => typeof arg === 'object' &&
|
|
216
|
+
arg !== null &&
|
|
217
|
+
!Array.isArray(arg) &&
|
|
218
|
+
('module' in arg || 'traceId' in arg || 'spanId' in arg));
|
|
219
|
+
if (optionsIndex !== -1) {
|
|
220
|
+
const options = args[optionsIndex];
|
|
221
|
+
const restArgs = [...args.slice(0, optionsIndex), ...args.slice(optionsIndex + 1)];
|
|
222
|
+
return [options, restArgs];
|
|
223
|
+
}
|
|
224
|
+
return [undefined, args];
|
|
225
|
+
}
|
|
226
|
+
setLevel(level) {
|
|
227
|
+
this.level = level;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Method specifically for MCP Server logging.
|
|
231
|
+
* Handles multi-line messages by splitting them into individual log entries.
|
|
232
|
+
*/
|
|
233
|
+
serverLog(level, serverName, message, context) {
|
|
234
|
+
if (!this.shouldLog(level)) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
// Check if message contains newlines
|
|
238
|
+
if (message.includes('\n')) {
|
|
239
|
+
// Split by newline characters, supporting both \n and \r\n
|
|
240
|
+
const lines = message.split(/\r?\n/);
|
|
241
|
+
// Log each non-empty line individually
|
|
242
|
+
for (const line of lines) {
|
|
243
|
+
const trimmedLine = line.trim();
|
|
244
|
+
if (trimmedLine) {
|
|
245
|
+
this.logSingleServerLine(level, serverName, trimmedLine, context);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
// Single line message, log as is
|
|
251
|
+
this.logSingleServerLine(level, serverName, message, context);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Internal helper to log a single line for serverLog.
|
|
256
|
+
* Contains the core logging logic originally in serverLog.
|
|
257
|
+
*/
|
|
258
|
+
logSingleServerLine(level, serverName, message, context) {
|
|
259
|
+
const logContext = {
|
|
260
|
+
...context,
|
|
261
|
+
serverName
|
|
262
|
+
};
|
|
263
|
+
const coloredLogMsg = createColoredLogMessage(level, message, logContext);
|
|
264
|
+
const plainLogMsg = createLogMessage(level, message, logContext);
|
|
265
|
+
const consoleLogMsg = this.useColor ? coloredLogMsg : plainLogMsg;
|
|
266
|
+
if (this.useStderr) {
|
|
267
|
+
console.error(consoleLogMsg);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
switch (level) {
|
|
271
|
+
case 'debug':
|
|
272
|
+
console.debug(consoleLogMsg);
|
|
273
|
+
break;
|
|
274
|
+
case 'info':
|
|
275
|
+
console.info(consoleLogMsg);
|
|
276
|
+
break;
|
|
277
|
+
case 'warn':
|
|
278
|
+
console.warn(consoleLogMsg);
|
|
279
|
+
break;
|
|
280
|
+
case 'error':
|
|
281
|
+
console.error(consoleLogMsg);
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
const logFileStream = this.devLogger.stream;
|
|
286
|
+
if (logFileStream) {
|
|
287
|
+
logFileStream.write(plainLogMsg + '\n');
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// ========================================================================
|
|
291
|
+
// Test-only accessors - These are public for testing but marked @internal
|
|
292
|
+
// to indicate they should not be used in production code.
|
|
293
|
+
// ========================================================================
|
|
294
|
+
/**
|
|
295
|
+
* Internal accessor for testing and legacy compatibility.
|
|
296
|
+
* @internal
|
|
297
|
+
*/
|
|
298
|
+
get logFileStream() {
|
|
299
|
+
return this.devLogger.stream;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Internal accessor for testing and legacy compatibility.
|
|
303
|
+
* @internal
|
|
304
|
+
*/
|
|
305
|
+
get devLogRotator() {
|
|
306
|
+
return this.devLogger.rotator;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Internal method for testing and legacy compatibility.
|
|
310
|
+
* @internal
|
|
311
|
+
*/
|
|
312
|
+
createColoredLogMessage(level, message, context) {
|
|
313
|
+
return createColoredLogMessage(level, message, context);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Internal method for testing and legacy compatibility.
|
|
317
|
+
* @internal
|
|
318
|
+
*/
|
|
319
|
+
createLogMessage(level, message, context) {
|
|
320
|
+
return createLogMessage(level, message, context);
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Internal method for testing and legacy compatibility.
|
|
324
|
+
* @internal
|
|
325
|
+
*/
|
|
326
|
+
formatError(error) {
|
|
327
|
+
return formatError(error);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Internal method for testing and legacy compatibility.
|
|
331
|
+
* @internal
|
|
332
|
+
*/
|
|
333
|
+
formatTimestamp(date) {
|
|
334
|
+
return formatTimestamp(date);
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Internal method for testing and legacy compatibility.
|
|
338
|
+
* @internal
|
|
339
|
+
*/
|
|
340
|
+
formatLogLevel(level) {
|
|
341
|
+
return formatLogLevel(level);
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Internal method for testing and legacy compatibility.
|
|
345
|
+
* @internal
|
|
346
|
+
*/
|
|
347
|
+
formatPid(pid) {
|
|
348
|
+
return formatPid(pid);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger module - Thin wrapper for backward compatibility.
|
|
3
|
+
*
|
|
4
|
+
* This file has been refactored into a modular structure under src/utils/logger/.
|
|
5
|
+
* This wrapper maintains backward compatibility while allowing gradual migration.
|
|
6
|
+
*
|
|
7
|
+
* New code should import directly from '../../src/utils/logger/index.js' or specific submodules.
|
|
8
|
+
*
|
|
9
|
+
* @deprecated New imports should use 'src/utils/logger/index.js'
|
|
10
|
+
*/
|
|
11
|
+
export * from './logger/index.js';
|
|
12
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger module - Thin wrapper for backward compatibility.
|
|
3
|
+
*
|
|
4
|
+
* This file has been refactored into a modular structure under src/utils/logger/.
|
|
5
|
+
* This wrapper maintains backward compatibility while allowing gradual migration.
|
|
6
|
+
*
|
|
7
|
+
* New code should import directly from '../../src/utils/logger/index.js' or specific submodules.
|
|
8
|
+
*
|
|
9
|
+
* @deprecated New imports should use 'src/utils/logger/index.js'
|
|
10
|
+
*/
|
|
11
|
+
// Re-export everything from the new modular logger
|
|
12
|
+
export * from './logger/index.js';
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { CMDError } from '../models/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a standard MCP (Model Context Protocol) error response.
|
|
4
|
+
* This interface follows the MCP specification for error responses,
|
|
5
|
+
* including optional extended metadata in the 'x-mcp' field.
|
|
6
|
+
*/
|
|
7
|
+
export interface MCPError {
|
|
8
|
+
/** The numeric error code following JSON-RPC 2.0 and MCP standards */
|
|
9
|
+
code: number;
|
|
10
|
+
/** Human-readable error message describing the issue */
|
|
11
|
+
message: string;
|
|
12
|
+
/** Optional additional error data or context */
|
|
13
|
+
data?: unknown;
|
|
14
|
+
/** Extended MCP-specific metadata (optional) */
|
|
15
|
+
'x-mcp'?: {
|
|
16
|
+
/** Detailed error context and debugging information */
|
|
17
|
+
details?: Record<string, unknown>;
|
|
18
|
+
/** Suggested actions for the client to resolve the error */
|
|
19
|
+
suggestedActions?: string[];
|
|
20
|
+
/** URL to additional documentation or help resources */
|
|
21
|
+
moreInfoUrl?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* MCP Hub Lite's error code mapping from internal gateway error codes
|
|
26
|
+
* to standard MCP protocol error codes. This mapping ensures compliance
|
|
27
|
+
* with the MCP specification while maintaining internal error categorization.
|
|
28
|
+
*
|
|
29
|
+
* The mapping follows these conventions:
|
|
30
|
+
* - 6001: Gateway internal error → Service unavailable (-32001)
|
|
31
|
+
* - 6002: Connection timeout → Request timeout (-32002)
|
|
32
|
+
* - 6003: Tool not found → MCP tool not found (-32801)
|
|
33
|
+
* - 6004: Tool execution failed → MCP execution failed (-32802)
|
|
34
|
+
* - 6005: Initialization failed → MCP initialization failed (-32803)
|
|
35
|
+
*/
|
|
36
|
+
export declare const MCPHubLiteErrorMap: {
|
|
37
|
+
readonly 6001: -32001;
|
|
38
|
+
readonly 6002: -32002;
|
|
39
|
+
readonly 6003: -32801;
|
|
40
|
+
readonly 6004: -32802;
|
|
41
|
+
readonly 6005: -32803;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* MCPErrorHandler provides standardized error handling and conversion for the MCP Hub Lite system.
|
|
45
|
+
* This class is responsible for converting internal application errors (both native JavaScript Error
|
|
46
|
+
* objects and custom CMDError objects) into standardized MCP protocol error responses that comply
|
|
47
|
+
* with the Model Context Protocol specification.
|
|
48
|
+
*
|
|
49
|
+
* The handler ensures consistent error formatting across the entire system, providing appropriate
|
|
50
|
+
* error codes, messages, and extended metadata that clients can use for proper error handling
|
|
51
|
+
* and user feedback. It supports both generic JavaScript errors and structured CMDError objects
|
|
52
|
+
* with categorized error codes.
|
|
53
|
+
*
|
|
54
|
+
* Usage scenarios include:
|
|
55
|
+
* - Converting backend server errors to MCP-compliant responses
|
|
56
|
+
* - Standardizing error responses from different MCP server implementations
|
|
57
|
+
* - Providing consistent error metadata for client-side error handling
|
|
58
|
+
* - Maintaining compatibility with the MCP protocol specification
|
|
59
|
+
*/
|
|
60
|
+
export declare class MCPErrorHandler {
|
|
61
|
+
/**
|
|
62
|
+
* Converts internal errors to standardized MCP error responses.
|
|
63
|
+
* This method handles both native JavaScript Error objects and custom CMDError objects,
|
|
64
|
+
* mapping them to appropriate MCP error codes and formatting them according to the
|
|
65
|
+
* MCP protocol specification.
|
|
66
|
+
*
|
|
67
|
+
* For native Error objects, it creates a standard MCP error with service unavailable
|
|
68
|
+
* code (-32001) and includes debugging information like stack trace and error name.
|
|
69
|
+
* For CMDError objects, it maps the internal error code ranges to appropriate MCP
|
|
70
|
+
* standard error codes based on error categories (system, security, business, etc.).
|
|
71
|
+
*
|
|
72
|
+
* @param error - The error to convert, either a native Error or CMDError object
|
|
73
|
+
* @returns A standardized MCPError object compliant with the MCP protocol
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* // Converting a native Error
|
|
78
|
+
* const mcpError = MCPErrorHandler.toMCPError(new Error('Connection failed'));
|
|
79
|
+
*
|
|
80
|
+
* // Converting a CMDError
|
|
81
|
+
* const cmdError: CMDError = { code: 6003, message: 'Tool not found', data: {} };
|
|
82
|
+
* const mcpError = MCPErrorHandler.toMCPError(cmdError);
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
static toMCPError(error: Error | CMDError): MCPError;
|
|
86
|
+
/**
|
|
87
|
+
* Maps internal CMD error codes to standardized MCP error codes.
|
|
88
|
+
* This private method implements the core logic for converting categorized
|
|
89
|
+
* internal error codes to appropriate MCP standard error codes based on
|
|
90
|
+
* error type ranges:
|
|
91
|
+
*
|
|
92
|
+
* - 1000-1999: System errors → Service unavailable (-32001)
|
|
93
|
+
* - 2000-2999: Security errors → Authentication/Authorization failed (-32806/-32807)
|
|
94
|
+
* - 3000-3999: Business errors → Invalid parameter (-32602)
|
|
95
|
+
* - 5000-5999: MCP protocol errors → Direct mapping or service unavailable
|
|
96
|
+
* - 6000-6999: Gateway-specific errors → Specific MCP error codes via switch
|
|
97
|
+
*
|
|
98
|
+
* The mapping ensures that internal error categorization is preserved while
|
|
99
|
+
* maintaining compliance with the external MCP protocol standard.
|
|
100
|
+
*
|
|
101
|
+
* @param cmdCode - The internal CMD error code to map
|
|
102
|
+
* @returns The corresponding standardized MCP error code
|
|
103
|
+
*
|
|
104
|
+
* @private
|
|
105
|
+
*/
|
|
106
|
+
private static mapCMDToMCPErrorCode;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* MCPErrorsMiddleware provides middleware functionality for handling and normalizing
|
|
110
|
+
* error responses from backend MCP servers. This class acts as an intermediary layer
|
|
111
|
+
* that ensures all error responses conform to the standard MCP protocol format,
|
|
112
|
+
* regardless of how the backend server originally formatted its errors.
|
|
113
|
+
*
|
|
114
|
+
* The middleware intercepts JSON-RPC responses containing errors and validates
|
|
115
|
+
* whether they already comply with the MCP error standard. If they don't, it
|
|
116
|
+
* converts them using the MCPErrorHandler to ensure consistent error formatting
|
|
117
|
+
* across all connected MCP servers.
|
|
118
|
+
*
|
|
119
|
+
* This is particularly useful when integrating with various MCP server implementations
|
|
120
|
+
* that may have different error handling conventions, ensuring that clients receive
|
|
121
|
+
* standardized error responses regardless of the underlying server implementation.
|
|
122
|
+
*/
|
|
123
|
+
export declare class MCPErrorsMiddleware {
|
|
124
|
+
/**
|
|
125
|
+
* Handles and normalizes error responses from backend MCP servers.
|
|
126
|
+
* This method processes JSON-RPC responses and ensures that any error objects
|
|
127
|
+
* are converted to the standard MCP error format if they aren't already compliant.
|
|
128
|
+
*
|
|
129
|
+
* The method performs the following steps:
|
|
130
|
+
* 1. Checks if the response contains an error field
|
|
131
|
+
* 2. Validates if the error is already in standard MCP format
|
|
132
|
+
* 3. If not standard, converts the error to MCP format using MCPErrorHandler
|
|
133
|
+
* 4. Returns the normalized response with standardized error formatting
|
|
134
|
+
*
|
|
135
|
+
* Non-error responses are returned unchanged to maintain performance.
|
|
136
|
+
*
|
|
137
|
+
* @param response - The raw response from a backend MCP server
|
|
138
|
+
* @returns The response with standardized error formatting if applicable, otherwise the original response
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* // Handle a response with a non-standard error
|
|
143
|
+
* const rawResponse = { jsonrpc: '2.0', id: 1, error: new Error('Connection failed') };
|
|
144
|
+
* const normalizedResponse = MCPErrorsMiddleware.handleBackendMCPErrors(rawResponse);
|
|
145
|
+
* // normalizedResponse.error will be in standard MCP format
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
static handleBackendMCPErrors(response: unknown): unknown;
|
|
149
|
+
/**
|
|
150
|
+
* Type guard function to check if an error object conforms to the standard MCP error format.
|
|
151
|
+
* This private method validates that the error object has the required properties
|
|
152
|
+
* (code as number, message as string) and optional data property according to
|
|
153
|
+
* the MCP specification.
|
|
154
|
+
*
|
|
155
|
+
* @param error - The error object to validate
|
|
156
|
+
* @returns True if the error conforms to MCP standard format, false otherwise
|
|
157
|
+
*
|
|
158
|
+
* @private
|
|
159
|
+
*/
|
|
160
|
+
private static isStandardMCPError;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=mcp-error-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-error-handler.d.ts","sourceRoot":"","sources":["../../../../src/utils/mcp-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE;QACR,uDAAuD;QACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,4DAA4D;QAC5D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,wDAAwD;QACxD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAoCD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAOrB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ;IA0CpD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAyCpC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO;IAkCzD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAWlC"}
|