@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,320 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log output management utilities.
|
|
3
|
+
* This file contains MCP response detection and simplification functions.
|
|
4
|
+
*/
|
|
5
|
+
import { stringifyForLogging } from '../json-utils.js';
|
|
6
|
+
import { logger } from './index.js';
|
|
7
|
+
import { LOG_MODULES } from './log-modules.js';
|
|
8
|
+
import { logStorage } from '../../services/log-storage.service.js';
|
|
9
|
+
/**
|
|
10
|
+
* Check if a message is a notifications/message.
|
|
11
|
+
*
|
|
12
|
+
* @param message - The message to check
|
|
13
|
+
* @returns true if the message is a notifications/message
|
|
14
|
+
*/
|
|
15
|
+
export function isNotificationMessage(message) {
|
|
16
|
+
if (typeof message === 'object' && message !== null) {
|
|
17
|
+
const msg = message;
|
|
18
|
+
return msg.method === 'notifications/message';
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Extract message content from notification data.
|
|
24
|
+
*
|
|
25
|
+
* @param data - The notification data
|
|
26
|
+
* @returns The extracted message string
|
|
27
|
+
*/
|
|
28
|
+
function extractMessageFromData(data) {
|
|
29
|
+
if (typeof data === 'string') {
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
if (typeof data === 'object' && data !== null) {
|
|
33
|
+
const dataObj = data;
|
|
34
|
+
if (typeof dataObj.message === 'string') {
|
|
35
|
+
return dataObj.message;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return stringifyForLogging(data);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Log a notifications/message to the application logs.
|
|
42
|
+
*
|
|
43
|
+
* @param message - The notification message
|
|
44
|
+
* @param context - Optional context (server name, session ID, etc.)
|
|
45
|
+
* @param serverId - Optional server ID for log storage (for frontend display)
|
|
46
|
+
*/
|
|
47
|
+
export function logNotificationMessage(message, context, serverId) {
|
|
48
|
+
if (!isNotificationMessage(message)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const params = message.params;
|
|
52
|
+
if (!params) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const level = params.level || 'info';
|
|
56
|
+
const messageContent = params.data ? extractMessageFromData(params.data) : '';
|
|
57
|
+
if (!messageContent) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Use params.logger as server name if available, otherwise use context
|
|
61
|
+
const serverName = params.logger || context;
|
|
62
|
+
// Map notification level to logger level
|
|
63
|
+
let logLevel = 'info';
|
|
64
|
+
switch (level.toLowerCase()) {
|
|
65
|
+
case 'debug':
|
|
66
|
+
logLevel = 'debug';
|
|
67
|
+
break;
|
|
68
|
+
case 'info':
|
|
69
|
+
logLevel = 'info';
|
|
70
|
+
break;
|
|
71
|
+
case 'warn':
|
|
72
|
+
case 'warning':
|
|
73
|
+
logLevel = 'warn';
|
|
74
|
+
break;
|
|
75
|
+
case 'error':
|
|
76
|
+
logLevel = 'error';
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
logLevel = 'info';
|
|
80
|
+
}
|
|
81
|
+
// Use serverLog to log with server name and module context
|
|
82
|
+
logger.serverLog(logLevel, serverName, messageContent, {
|
|
83
|
+
module: LOG_MODULES.NOTIFICATIONS_MESSAGE.module
|
|
84
|
+
});
|
|
85
|
+
// Store in logStorage for frontend display if serverId is provided
|
|
86
|
+
if (serverId) {
|
|
87
|
+
logStorage.append(serverId, logLevel, `[${serverName}] ${messageContent}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Format an MCP message for logging, with simplification for tools/list,
|
|
92
|
+
* resources/list, capabilities responses, and image content.
|
|
93
|
+
*
|
|
94
|
+
* @param message - The MCP message object to format
|
|
95
|
+
* @returns Formatted log message string
|
|
96
|
+
*/
|
|
97
|
+
export function formatMcpMessageForLogging(message) {
|
|
98
|
+
try {
|
|
99
|
+
const rawJson = JSON.stringify(message);
|
|
100
|
+
let logMessage;
|
|
101
|
+
if (isToolsListResponse(rawJson)) {
|
|
102
|
+
logMessage = simplifyToolsListResponse(rawJson);
|
|
103
|
+
}
|
|
104
|
+
else if (hasImageContent(rawJson)) {
|
|
105
|
+
const simplified = simplifyImageContent(rawJson);
|
|
106
|
+
try {
|
|
107
|
+
const parsed = JSON.parse(simplified);
|
|
108
|
+
logMessage = stringifyForLogging(parsed);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
logMessage = simplified;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
logMessage = stringifyForLogging(message);
|
|
116
|
+
}
|
|
117
|
+
return logMessage;
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return '[Unserializable]';
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if data contains image content with binary data.
|
|
125
|
+
* @param data - stdout or response data
|
|
126
|
+
* @returns true if it contains image content with data field
|
|
127
|
+
*/
|
|
128
|
+
export function hasImageContent(data) {
|
|
129
|
+
try {
|
|
130
|
+
const trimmed = data.trim();
|
|
131
|
+
if (trimmed.includes('event: message') && trimmed.includes('data:')) {
|
|
132
|
+
const dataMatch = trimmed.match(/data: ([^\n]+)/);
|
|
133
|
+
if (dataMatch) {
|
|
134
|
+
const jsonData = dataMatch[1].trim();
|
|
135
|
+
return hasImageContent(jsonData);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
if (trimmed.startsWith('{')) {
|
|
139
|
+
const message = JSON.parse(trimmed);
|
|
140
|
+
if (typeof message === 'object' && message !== null) {
|
|
141
|
+
const msg = message;
|
|
142
|
+
if (msg.result && typeof msg.result === 'object' && msg.result !== null) {
|
|
143
|
+
const result = msg.result;
|
|
144
|
+
if ('content' in result && Array.isArray(result.content)) {
|
|
145
|
+
const content = result.content;
|
|
146
|
+
return content.some((item) => typeof item === 'object' && item !== null && item.type === 'image' && 'data' in item);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch {
|
|
153
|
+
// Non-JSON data, ignore
|
|
154
|
+
}
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Simplify image content by replacing binary data with placeholder.
|
|
159
|
+
* @param data - Complete response data
|
|
160
|
+
* @returns Log information with binary image data replaced
|
|
161
|
+
*/
|
|
162
|
+
export function simplifyImageContent(data) {
|
|
163
|
+
try {
|
|
164
|
+
const trimmed = data.trim();
|
|
165
|
+
if (trimmed.includes('event: message') && trimmed.includes('data:')) {
|
|
166
|
+
const dataMatch = trimmed.match(/data: ([^\n]+)/);
|
|
167
|
+
if (dataMatch) {
|
|
168
|
+
const jsonData = dataMatch[1].trim();
|
|
169
|
+
const simplified = simplifyImageContent(jsonData);
|
|
170
|
+
return `event: message\ndata: ${simplified}`;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (trimmed.startsWith('{')) {
|
|
174
|
+
const message = JSON.parse(trimmed);
|
|
175
|
+
if (typeof message === 'object' && message !== null) {
|
|
176
|
+
const msg = message;
|
|
177
|
+
if (msg.result && typeof msg.result === 'object' && msg.result !== null) {
|
|
178
|
+
const result = msg.result;
|
|
179
|
+
if ('content' in result && Array.isArray(result.content)) {
|
|
180
|
+
const content = result.content;
|
|
181
|
+
const modifiedContent = content.map((item) => {
|
|
182
|
+
if (typeof item === 'object' &&
|
|
183
|
+
item !== null &&
|
|
184
|
+
item.type === 'image' &&
|
|
185
|
+
'data' in item) {
|
|
186
|
+
return {
|
|
187
|
+
...item,
|
|
188
|
+
data: '[BinaryImageData]'
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return item;
|
|
192
|
+
});
|
|
193
|
+
const modifiedResult = {
|
|
194
|
+
...result,
|
|
195
|
+
content: modifiedContent
|
|
196
|
+
};
|
|
197
|
+
const modifiedMessage = {
|
|
198
|
+
...message,
|
|
199
|
+
result: modifiedResult
|
|
200
|
+
};
|
|
201
|
+
return JSON.stringify(modifiedMessage);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// Parsing failed, return original data
|
|
209
|
+
}
|
|
210
|
+
return data;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Check if data is a tools/list response.
|
|
214
|
+
* @param data - stdout or response data
|
|
215
|
+
* @returns true if it's a tools/list response
|
|
216
|
+
*/
|
|
217
|
+
export function isToolsListResponse(data) {
|
|
218
|
+
try {
|
|
219
|
+
const trimmed = data.trim();
|
|
220
|
+
if (trimmed.includes('event: message') && trimmed.includes('data:')) {
|
|
221
|
+
const dataMatch = trimmed.match(/data: ([^\n]+)/);
|
|
222
|
+
if (dataMatch) {
|
|
223
|
+
const jsonData = dataMatch[1].trim();
|
|
224
|
+
return isToolsListResponse(jsonData);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (trimmed.startsWith('{')) {
|
|
228
|
+
const message = JSON.parse(trimmed);
|
|
229
|
+
if (typeof message === 'object' && message !== null) {
|
|
230
|
+
const msg = message;
|
|
231
|
+
if (msg.result && typeof msg.result === 'object' && msg.result !== null) {
|
|
232
|
+
const result = msg.result;
|
|
233
|
+
if ('tools' in result) {
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
if ('resources' in result) {
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
if ('capabilities' in result &&
|
|
240
|
+
typeof result.capabilities === 'object' &&
|
|
241
|
+
result.capabilities !== null) {
|
|
242
|
+
const capabilities = result.capabilities;
|
|
243
|
+
if ('tools' in capabilities || 'resources' in capabilities) {
|
|
244
|
+
return true;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
catch {
|
|
252
|
+
// Non-JSON data, ignore
|
|
253
|
+
}
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Simplify tools/list response log information.
|
|
258
|
+
* @param data - Complete response data
|
|
259
|
+
* @returns Simplified log information
|
|
260
|
+
*/
|
|
261
|
+
export function simplifyToolsListResponse(data) {
|
|
262
|
+
try {
|
|
263
|
+
const trimmed = data.trim();
|
|
264
|
+
if (trimmed.includes('event: message') && trimmed.includes('data:')) {
|
|
265
|
+
const dataMatch = trimmed.match(/data: ([^\n]+)/);
|
|
266
|
+
if (dataMatch) {
|
|
267
|
+
const jsonData = dataMatch[1].trim();
|
|
268
|
+
const simplified = simplifyToolsListResponse(jsonData);
|
|
269
|
+
return `event: message\ndata: ${simplified}`;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
if (trimmed.startsWith('{')) {
|
|
273
|
+
const message = JSON.parse(trimmed);
|
|
274
|
+
if (typeof message === 'object' && message !== null) {
|
|
275
|
+
const msg = message;
|
|
276
|
+
if (msg.result && typeof msg.result === 'object' && msg.result !== null) {
|
|
277
|
+
const result = msg.result;
|
|
278
|
+
if ('tools' in result) {
|
|
279
|
+
const toolsCount = Array.isArray(result.tools) ? result.tools.length : 0;
|
|
280
|
+
return `Returned ${toolsCount} tools`;
|
|
281
|
+
}
|
|
282
|
+
if ('resources' in result) {
|
|
283
|
+
const resourcesCount = Array.isArray(result.resources) ? result.resources.length : 0;
|
|
284
|
+
return `Returned ${resourcesCount} resources`;
|
|
285
|
+
}
|
|
286
|
+
if ('capabilities' in result &&
|
|
287
|
+
typeof result.capabilities === 'object' &&
|
|
288
|
+
result.capabilities !== null) {
|
|
289
|
+
const capabilities = result.capabilities;
|
|
290
|
+
let toolsCount = 0;
|
|
291
|
+
let resourcesCount = 0;
|
|
292
|
+
if ('tools' in capabilities &&
|
|
293
|
+
typeof capabilities.tools === 'object' &&
|
|
294
|
+
capabilities.tools !== null) {
|
|
295
|
+
toolsCount = Object.keys(capabilities.tools).length;
|
|
296
|
+
}
|
|
297
|
+
if ('resources' in capabilities &&
|
|
298
|
+
typeof capabilities.resources === 'object' &&
|
|
299
|
+
capabilities.resources !== null) {
|
|
300
|
+
resourcesCount = Object.keys(capabilities.resources).length;
|
|
301
|
+
}
|
|
302
|
+
if (toolsCount > 0 && resourcesCount > 0) {
|
|
303
|
+
return `Returned ${toolsCount} tools and ${resourcesCount} resources`;
|
|
304
|
+
}
|
|
305
|
+
else if (toolsCount > 0) {
|
|
306
|
+
return `Returned ${toolsCount} tools`;
|
|
307
|
+
}
|
|
308
|
+
else if (resourcesCount > 0) {
|
|
309
|
+
return `Returned ${resourcesCount} resources`;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
catch {
|
|
317
|
+
// Parsing failed, return truncated version of original data
|
|
318
|
+
}
|
|
319
|
+
return data.length > 200 ? data.substring(0, 200) + '...' : data;
|
|
320
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
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 type { LogLevel } from '../../../shared/types/common.types.js';
|
|
30
|
+
import type { LogContext } from './log-context.js';
|
|
31
|
+
import { DevLogger } from './dev-logger.js';
|
|
32
|
+
export declare class Logger {
|
|
33
|
+
private level;
|
|
34
|
+
private useStderr;
|
|
35
|
+
private useColor;
|
|
36
|
+
private devLogger;
|
|
37
|
+
constructor(level?: LogLevel);
|
|
38
|
+
/**
|
|
39
|
+
* Enables development logging mode with file output and enhanced debugging.
|
|
40
|
+
*
|
|
41
|
+
* @param rotatorConfig - Optional custom rotation configuration (default: 7 days retention)
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* const logger = new Logger();
|
|
45
|
+
* logger.enableDevLog(); // Logs will be written to logs/dev-server.2026-02-27.log
|
|
46
|
+
*
|
|
47
|
+
* // With custom retention period
|
|
48
|
+
* logger.enableDevLog({ rotationAge: '14d' });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
enableDevLog(rotatorConfig?: Parameters<DevLogger['enableDevLog']>[0]): void;
|
|
52
|
+
setUseStderr(use: boolean): void;
|
|
53
|
+
/**
|
|
54
|
+
* Enable or disable ANSI color output.
|
|
55
|
+
* When disabled, logs will be plain text without color codes.
|
|
56
|
+
*
|
|
57
|
+
* @param use - Whether to use color in output
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* logger.setUseColor(false); // Plain text output for files
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
setUseColor(use: boolean): void;
|
|
64
|
+
/**
|
|
65
|
+
* Check if a message should be logged at the current level.
|
|
66
|
+
* @internal Public for testing only
|
|
67
|
+
*/
|
|
68
|
+
shouldLog(messageLevel: LogLevel): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Generic logging method to eliminate code duplication.
|
|
71
|
+
*/
|
|
72
|
+
private log;
|
|
73
|
+
/**
|
|
74
|
+
* Logs a debug message with optional context and additional arguments.
|
|
75
|
+
*
|
|
76
|
+
* @param message - The primary log message
|
|
77
|
+
* @param args - Additional arguments to include in the log
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* // Basic debug message
|
|
82
|
+
* logger.debug('Processing request');
|
|
83
|
+
*
|
|
84
|
+
* // With context
|
|
85
|
+
* logger.debug('Tool called', { module: 'Gateway', traceId: 'abc123' }, toolName, args);
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
debug(message: string, ...args: unknown[]): void;
|
|
89
|
+
/**
|
|
90
|
+
* Logs an informational message with optional context and additional arguments.
|
|
91
|
+
*
|
|
92
|
+
* @param message - The primary log message
|
|
93
|
+
* @param args - Additional arguments to include in the log
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* // Basic info message
|
|
98
|
+
* logger.info('Server started successfully');
|
|
99
|
+
*
|
|
100
|
+
* // With context and additional data
|
|
101
|
+
* logger.info('Request processed', { module: 'API' }, { duration: 150, statusCode: 200 });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
info(message: string, ...args: unknown[]): void;
|
|
105
|
+
/**
|
|
106
|
+
* Logs a warning message with optional context and additional arguments.
|
|
107
|
+
*
|
|
108
|
+
* @param message - The primary log message
|
|
109
|
+
* @param args - Additional arguments to include in the log
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```typescript
|
|
113
|
+
* // Basic warning message
|
|
114
|
+
* logger.warn('Deprecated API usage detected');
|
|
115
|
+
*
|
|
116
|
+
* // With context and error details
|
|
117
|
+
* logger.warn('Connection timeout', { module: 'Network' }, { server: 'api.example.com', timeout: 5000 });
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
warn(message: string, ...args: unknown[]): void;
|
|
121
|
+
/**
|
|
122
|
+
* Logs an error message with optional context and additional arguments.
|
|
123
|
+
*
|
|
124
|
+
* @param message - The primary log message
|
|
125
|
+
* @param args - Additional arguments to include in the log
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* // Basic error message
|
|
130
|
+
* logger.error('Database connection failed');
|
|
131
|
+
*
|
|
132
|
+
* // With error object and context
|
|
133
|
+
* logger.error('Request processing failed', { module: 'API' }, error, { requestId: '123' });
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
error(message: string, ...args: unknown[]): void;
|
|
137
|
+
private extractOptionsAndArgs;
|
|
138
|
+
setLevel(level: LogLevel): void;
|
|
139
|
+
/**
|
|
140
|
+
* Method specifically for MCP Server logging.
|
|
141
|
+
* Handles multi-line messages by splitting them into individual log entries.
|
|
142
|
+
*/
|
|
143
|
+
serverLog(level: LogLevel, serverName: string, message: string, context?: Omit<LogContext, 'serverName'>): void;
|
|
144
|
+
/**
|
|
145
|
+
* Internal helper to log a single line for serverLog.
|
|
146
|
+
* Contains the core logging logic originally in serverLog.
|
|
147
|
+
*/
|
|
148
|
+
private logSingleServerLine;
|
|
149
|
+
/**
|
|
150
|
+
* Internal accessor for testing and legacy compatibility.
|
|
151
|
+
* @internal
|
|
152
|
+
*/
|
|
153
|
+
get logFileStream(): unknown;
|
|
154
|
+
/**
|
|
155
|
+
* Internal accessor for testing and legacy compatibility.
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
get devLogRotator(): unknown;
|
|
159
|
+
/**
|
|
160
|
+
* Internal method for testing and legacy compatibility.
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
createColoredLogMessage(level: LogLevel, message: string, context?: LogContext): string;
|
|
164
|
+
/**
|
|
165
|
+
* Internal method for testing and legacy compatibility.
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
createLogMessage(level: LogLevel, message: string, context?: LogContext): string;
|
|
169
|
+
/**
|
|
170
|
+
* Internal method for testing and legacy compatibility.
|
|
171
|
+
* @internal
|
|
172
|
+
*/
|
|
173
|
+
formatError(error: unknown): string;
|
|
174
|
+
/**
|
|
175
|
+
* Internal method for testing and legacy compatibility.
|
|
176
|
+
* @internal
|
|
177
|
+
*/
|
|
178
|
+
formatTimestamp(date: Date): string;
|
|
179
|
+
/**
|
|
180
|
+
* Internal method for testing and legacy compatibility.
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
formatLogLevel(level: LogLevel): string;
|
|
184
|
+
/**
|
|
185
|
+
* Internal method for testing and legacy compatibility.
|
|
186
|
+
* @internal
|
|
187
|
+
*/
|
|
188
|
+
formatPid(pid: number): string;
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAY5C,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,SAAS,CAA8B;gBAEnC,KAAK,GAAE,QAAiB;IAcpC;;;;;;;;;;;;OAYG;IACI,YAAY,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAO5E,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIvC;;;;;;;;;OASG;IACI,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAItC;;;OAGG;IACH,SAAS,CAAC,YAAY,EAAE,QAAQ,GAAG,OAAO;IAK1C;;OAEG;IACH,OAAO,CAAC,GAAG;IAgDX;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAK/C;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAKhD,OAAO,CAAC,qBAAqB;IAkB7B,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;;OAGG;IACH,SAAS,CACP,KAAK,EAAE,QAAQ,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,GACvC,IAAI;IAuBP;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4C3B;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAIvF;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM;IAIhF;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAInC;;;OAGG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAInC;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAIvC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAG/B"}
|