@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,306 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Manages log file rotation and cleanup for MCP Hub Lite.
|
|
5
|
+
*
|
|
6
|
+
* This class provides automated log rotation functionality that creates log files
|
|
7
|
+
* with timestamp-based naming on each startup and automatically cleans up old log files
|
|
8
|
+
* based on the configured retention period. It ensures that log storage doesn't grow
|
|
9
|
+
* indefinitely while maintaining a configurable history of log files for debugging
|
|
10
|
+
* and monitoring purposes.
|
|
11
|
+
*
|
|
12
|
+
* The log rotator works by:
|
|
13
|
+
* 1. Creating log files with format: `{logBaseName}.{YYYYMMDD_HHmmSSZZZ}.log` on each startup
|
|
14
|
+
* 2. Automatically cleaning up log files older than the configured retention period
|
|
15
|
+
* 3. Providing utilities to retrieve and manage existing log files
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const logDir = path.join(os.homedir(), '.mcp-hub-lite', 'logs');
|
|
20
|
+
* const rotator = new LogRotator(logDir, 'mcp-hub');
|
|
21
|
+
*
|
|
22
|
+
* // Create a new log file with timestamp (for startup)
|
|
23
|
+
* const newLogPath = rotator.createNewLogFilePath();
|
|
24
|
+
*
|
|
25
|
+
* // Get the latest existing log file
|
|
26
|
+
* const latestLogPath = rotator.getLatestLogFilePath();
|
|
27
|
+
*
|
|
28
|
+
* // Perform log rotation (cleanup old files)
|
|
29
|
+
* rotator.rotateLogs();
|
|
30
|
+
*
|
|
31
|
+
* // Get all log files sorted by date (newest first)
|
|
32
|
+
* const logFiles = rotator.getLogFiles();
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // With custom configuration (independent from global config)
|
|
38
|
+
* const rotator = new LogRotator(logDir, 'dev-server', { rotationAge: '7d' });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @class
|
|
42
|
+
* @since 1.0.0
|
|
43
|
+
*/
|
|
44
|
+
export class LogRotator {
|
|
45
|
+
logDir;
|
|
46
|
+
logBaseName;
|
|
47
|
+
customConfig;
|
|
48
|
+
configGetter;
|
|
49
|
+
/**
|
|
50
|
+
* Creates a new LogRotator instance.
|
|
51
|
+
*
|
|
52
|
+
* @param logDir - The directory where log files are stored
|
|
53
|
+
* @param logBaseName - The base name for log files (default: 'mcp-hub')
|
|
54
|
+
* @param customConfig - Optional custom configuration for independent rotation settings
|
|
55
|
+
* @param configGetter - Optional config getter function for global config access (for backward compatibility)
|
|
56
|
+
*/
|
|
57
|
+
constructor(logDir, logBaseName = 'mcp-hub', customConfig, configGetter) {
|
|
58
|
+
this.logDir = logDir;
|
|
59
|
+
this.logBaseName = logBaseName;
|
|
60
|
+
this.customConfig = customConfig || null;
|
|
61
|
+
this.configGetter = configGetter || null;
|
|
62
|
+
// Ensure log directory exists
|
|
63
|
+
if (!fs.existsSync(this.logDir)) {
|
|
64
|
+
fs.mkdirSync(this.logDir, { recursive: true });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Calculates the retention period in days from the configured rotation age.
|
|
69
|
+
*
|
|
70
|
+
* Parses the rotation age configuration value which can be in
|
|
71
|
+
* various formats (e.g., "7d", "24h", "1440m") and converts it to days.
|
|
72
|
+
* Hours and minutes are converted to days using ceiling division to ensure
|
|
73
|
+
* proper retention behavior.
|
|
74
|
+
*
|
|
75
|
+
* If a customConfig was provided, it will be used; otherwise, falls back to
|
|
76
|
+
* the configGetter if provided; defaults to 7 days.
|
|
77
|
+
*
|
|
78
|
+
* @returns {number} The retention period in days. Defaults to 7 days if the
|
|
79
|
+
* configuration is invalid or cannot be parsed.
|
|
80
|
+
* @private
|
|
81
|
+
*/
|
|
82
|
+
getRetentionDays() {
|
|
83
|
+
const maxAge = this.customConfig?.rotationAge ??
|
|
84
|
+
(this.configGetter ? this.configGetter().system.logging.rotationAge : null) ??
|
|
85
|
+
'7d';
|
|
86
|
+
// Parse maxAge like "7d", "30d", etc.
|
|
87
|
+
const match = maxAge.match(/^(\d+)([dhm])$/);
|
|
88
|
+
if (match) {
|
|
89
|
+
const value = parseInt(match[1], 10);
|
|
90
|
+
const unit = match[2];
|
|
91
|
+
switch (unit) {
|
|
92
|
+
case 'd':
|
|
93
|
+
return value;
|
|
94
|
+
case 'h':
|
|
95
|
+
return Math.ceil(value / 24);
|
|
96
|
+
case 'm':
|
|
97
|
+
return Math.ceil(value / (24 * 60));
|
|
98
|
+
default:
|
|
99
|
+
return 7;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return 7; // default to 7 days
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Generates a timestamp string in YYYYMMDD_HHmmSSZZZ format.
|
|
106
|
+
*
|
|
107
|
+
* @param date - The date to format, defaults to current date/time
|
|
108
|
+
* @returns {string} Formatted timestamp string
|
|
109
|
+
* @private
|
|
110
|
+
*/
|
|
111
|
+
formatTimestamp(date = new Date()) {
|
|
112
|
+
const year = date.getFullYear();
|
|
113
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
114
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
115
|
+
const hours = String(date.getHours()).padStart(2, '0');
|
|
116
|
+
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
117
|
+
const seconds = String(date.getSeconds()).padStart(2, '0');
|
|
118
|
+
const milliseconds = String(date.getMilliseconds()).padStart(3, '0');
|
|
119
|
+
return `${year}${month}${day}_${hours}${minutes}${seconds}${milliseconds}`;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Creates a new log file path with the current timestamp.
|
|
123
|
+
*
|
|
124
|
+
* This method generates a log file path using the configured log directory and base name,
|
|
125
|
+
* combined with the current timestamp in YYYYMMDD_HHmmSSZZZ format. The resulting path
|
|
126
|
+
* follows the pattern: `{logDir}/{logBaseName}.{YYYYMMDD_HHmmSSZZZ}.log`
|
|
127
|
+
*
|
|
128
|
+
* This method should be called on application startup to create a new log file
|
|
129
|
+
* for each session.
|
|
130
|
+
*
|
|
131
|
+
* @returns {string} The absolute file path for the new log file.
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
|
|
135
|
+
* const logPath = rotator.createNewLogFilePath();
|
|
136
|
+
* // Returns: '/var/log/mcp-hub/mcp-hub.20260301_143022123.log' (with current timestamp)
|
|
137
|
+
* ```
|
|
138
|
+
*/
|
|
139
|
+
createNewLogFilePath() {
|
|
140
|
+
const timestamp = this.formatTimestamp();
|
|
141
|
+
return path.join(this.logDir, `${this.logBaseName}.${timestamp}.log`);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Gets the latest existing log file path.
|
|
145
|
+
*
|
|
146
|
+
* This method scans the log directory and returns the path to the most recent
|
|
147
|
+
* log file based on the timestamp in the filename. If no log files exist,
|
|
148
|
+
* it returns null.
|
|
149
|
+
*
|
|
150
|
+
* @returns {string | null} The absolute file path to the latest log file, or null if none exist.
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
|
|
154
|
+
* const latestLog = rotator.getLatestLogFilePath();
|
|
155
|
+
* // Returns: '/var/log/mcp-hub/mcp-hub.20260301_143022123.log' or null
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
getLatestLogFilePath() {
|
|
159
|
+
const logFiles = this.getLogFiles();
|
|
160
|
+
return logFiles.length > 0 ? logFiles[0] : null;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Gets the current log file path (backward compatibility).
|
|
164
|
+
*
|
|
165
|
+
* This method is maintained for backward compatibility. It first tries to get
|
|
166
|
+
* the latest existing log file. If none exists, it creates a new one.
|
|
167
|
+
*
|
|
168
|
+
* @returns {string} The absolute file path for the current log file.
|
|
169
|
+
* @deprecated Use createNewLogFilePath() or getLatestLogFilePath() instead
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
|
|
173
|
+
* const logPath = rotator.getCurrentLogFilePath();
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
getCurrentLogFilePath() {
|
|
177
|
+
const latest = this.getLatestLogFilePath();
|
|
178
|
+
return latest ?? this.createNewLogFilePath();
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Performs log rotation by cleaning up old log files beyond the retention period.
|
|
182
|
+
*
|
|
183
|
+
* This method scans the configured log directory for files matching the pattern
|
|
184
|
+
* `{logBaseName}.{YYYY-MM-DD}.log` and removes any files that are older than
|
|
185
|
+
* the configured retention period (specified in the system configuration under
|
|
186
|
+
* `system.logging.rotationAge`).
|
|
187
|
+
*
|
|
188
|
+
* The retention period supports various time units:
|
|
189
|
+
* - 'd' for days (e.g., "7d" = 7 days)
|
|
190
|
+
* - 'h' for hours (e.g., "24h" = 1 day)
|
|
191
|
+
* - 'm' for minutes (e.g., "1440m" = 1 day)
|
|
192
|
+
*
|
|
193
|
+
* If no valid retention period is configured, it defaults to 7 days.
|
|
194
|
+
*
|
|
195
|
+
* This method should be called periodically (e.g., on application startup or
|
|
196
|
+
* via a scheduled task) to prevent log files from consuming excessive disk space.
|
|
197
|
+
*
|
|
198
|
+
* @returns {void}
|
|
199
|
+
* @throws {Error} If there's an error reading the log directory or deleting files,
|
|
200
|
+
* the error is caught and logged to console.error, but the method
|
|
201
|
+
* continues execution without throwing.
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
|
|
205
|
+
* rotator.rotateLogs(); // Cleans up log files older than configured retention period
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
rotateLogs() {
|
|
209
|
+
try {
|
|
210
|
+
const files = fs.readdirSync(this.logDir);
|
|
211
|
+
const logFiles = files.filter((file) => file.startsWith(`${this.logBaseName}.`) && file.endsWith('.log'));
|
|
212
|
+
const now = new Date();
|
|
213
|
+
const retentionThreshold = new Date();
|
|
214
|
+
retentionThreshold.setDate(now.getDate() - this.getRetentionDays());
|
|
215
|
+
for (const file of logFiles) {
|
|
216
|
+
const filePath = path.join(this.logDir, file);
|
|
217
|
+
const stats = fs.statSync(filePath);
|
|
218
|
+
if (stats.mtime < retentionThreshold) {
|
|
219
|
+
fs.unlinkSync(filePath);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
console.error('Failed to rotate logs:', error);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Retrieves all existing log files sorted by date (newest first).
|
|
229
|
+
*
|
|
230
|
+
* This method scans the configured log directory for files matching the pattern
|
|
231
|
+
* `{logBaseName}.{YYYY-MM-DD}.log`, extracts the date from each filename,
|
|
232
|
+
* and returns an array of absolute file paths sorted in descending order by date
|
|
233
|
+
* (newest files first).
|
|
234
|
+
*
|
|
235
|
+
* This is useful for log management interfaces, log viewing utilities, or any
|
|
236
|
+
* functionality that needs to present log files in chronological order.
|
|
237
|
+
*
|
|
238
|
+
* @returns {string[]} Array of absolute file paths to log files, sorted by date
|
|
239
|
+
* with newest files first. Returns an empty array if no log
|
|
240
|
+
* files are found or if an error occurs during scanning.
|
|
241
|
+
* @throws {Error} If there's an error reading the log directory, the error is
|
|
242
|
+
* caught and logged to console.error, but the method returns
|
|
243
|
+
* an empty array instead of throwing.
|
|
244
|
+
* @example
|
|
245
|
+
* ```typescript
|
|
246
|
+
* const rotator = new LogRotator('/var/log/mcp-hub', 'mcp-hub');
|
|
247
|
+
* const logFiles = rotator.getLogFiles();
|
|
248
|
+
* // Returns: [
|
|
249
|
+
* // '/var/log/mcp-hub/mcp-hub.2026-02-16.log',
|
|
250
|
+
* // '/var/log/mcp-hub/mcp-hub.2026-02-15.log',
|
|
251
|
+
* // '/var/log/mcp-hub/mcp-hub.2026-02-14.log'
|
|
252
|
+
* // ]
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
getLogFiles() {
|
|
256
|
+
try {
|
|
257
|
+
const files = fs.readdirSync(this.logDir);
|
|
258
|
+
const logFiles = files
|
|
259
|
+
.filter((file) => file.startsWith(`${this.logBaseName}.`) && file.endsWith('.log'))
|
|
260
|
+
.map((file) => ({
|
|
261
|
+
name: file,
|
|
262
|
+
path: path.join(this.logDir, file),
|
|
263
|
+
date: this.extractDateFromFilename(file)
|
|
264
|
+
}))
|
|
265
|
+
.filter((item) => item.date !== null)
|
|
266
|
+
.sort((a, b) => b.date.getTime() - a.date.getTime())
|
|
267
|
+
.map((item) => item.path);
|
|
268
|
+
return logFiles;
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
console.error('Failed to get log files:', error);
|
|
272
|
+
return [];
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Extracts the date from a log filename.
|
|
277
|
+
*
|
|
278
|
+
* Parses filenames that match either:
|
|
279
|
+
* - New format: `{logBaseName}.{YYYYMMDD_HHmmSSZZZ}.log` (preferred)
|
|
280
|
+
* - Old format: `{logBaseName}.{YYYY-MM-DD}.log` (for backward compatibility)
|
|
281
|
+
*
|
|
282
|
+
* and extracts the date portion, converting it to a Date object.
|
|
283
|
+
*
|
|
284
|
+
* @param {string} filename - The log filename to parse
|
|
285
|
+
* (e.g., "mcp-hub.20260301_143022123.log" or "mcp-hub.2026-02-16.log")
|
|
286
|
+
* @returns {Date | null} A Date object representing the extracted date, or null
|
|
287
|
+
* if the filename doesn't match the expected pattern or
|
|
288
|
+
* contains an invalid date.
|
|
289
|
+
* @private
|
|
290
|
+
*/
|
|
291
|
+
extractDateFromFilename(filename) {
|
|
292
|
+
// Try new format first: YYYYMMDD_HHmmSSZZZ
|
|
293
|
+
const newFormatMatch = filename.match(new RegExp(`${this.logBaseName}\\.(\\d{4})(\\d{2})(\\d{2})_(\\d{2})(\\d{2})(\\d{2})(\\d{3})\\.log$`));
|
|
294
|
+
if (newFormatMatch) {
|
|
295
|
+
const [, year, month, day, hours, minutes, seconds, ms] = newFormatMatch;
|
|
296
|
+
return new Date(parseInt(year, 10), parseInt(month, 10) - 1, // months are 0-indexed
|
|
297
|
+
parseInt(day, 10), parseInt(hours, 10), parseInt(minutes, 10), parseInt(seconds, 10), parseInt(ms, 10));
|
|
298
|
+
}
|
|
299
|
+
// Try old format: YYYY-MM-DD (backward compatibility)
|
|
300
|
+
const oldFormatMatch = filename.match(new RegExp(`${this.logBaseName}\\.(\\d{4}-\\d{2}-\\d{2})\\.log$`));
|
|
301
|
+
if (oldFormatMatch && oldFormatMatch[1]) {
|
|
302
|
+
return new Date(oldFormatMatch[1]);
|
|
303
|
+
}
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Development mode logging setup.
|
|
3
|
+
* This file contains development log initialization and management.
|
|
4
|
+
*/
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import { LogRotator, type RotatorConfig } from '../log-rotator.js';
|
|
7
|
+
/**
|
|
8
|
+
* Development logger configuration and setup.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DevLogger {
|
|
11
|
+
private logFileStream;
|
|
12
|
+
private devLogRotator;
|
|
13
|
+
/**
|
|
14
|
+
* Get the current log file stream.
|
|
15
|
+
*/
|
|
16
|
+
get stream(): fs.WriteStream | null;
|
|
17
|
+
/**
|
|
18
|
+
* Get the dev log rotator (for testing only).
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
get rotator(): LogRotator | null;
|
|
22
|
+
/**
|
|
23
|
+
* Enables development logging mode with file output and enhanced debugging.
|
|
24
|
+
*
|
|
25
|
+
* This method configures the logger to:
|
|
26
|
+
* - Write all log output to a file in the logs/ directory
|
|
27
|
+
* - Use timestamp-based log file naming (dev-server.YYYYMMDD_HHmmSSZZZ.log)
|
|
28
|
+
* - Automatically clean up old log files (default: 7 days retention)
|
|
29
|
+
*
|
|
30
|
+
* @param rotatorConfig - Optional custom rotation configuration (default: 7 days retention)
|
|
31
|
+
* @param onLogEnabled - Optional callback when log is enabled, receives the log file path
|
|
32
|
+
*/
|
|
33
|
+
enableDevLog(rotatorConfig?: RotatorConfig, onLogEnabled?: (logFilePath: string) => void): void;
|
|
34
|
+
/**
|
|
35
|
+
* Close the dev log file stream if open.
|
|
36
|
+
*/
|
|
37
|
+
close(): void;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=dev-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/dev-logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEnE;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,aAAa,CAA2B;IAEhD;;OAEG;IACH,IAAI,MAAM,IAAI,EAAE,CAAC,WAAW,GAAG,IAAI,CAElC;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,UAAU,GAAG,IAAI,CAE/B;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAoB/F;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Development mode logging setup.
|
|
3
|
+
* This file contains development log initialization and management.
|
|
4
|
+
*/
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
import { LogRotator } from '../log-rotator.js';
|
|
8
|
+
/**
|
|
9
|
+
* Development logger configuration and setup.
|
|
10
|
+
*/
|
|
11
|
+
export class DevLogger {
|
|
12
|
+
logFileStream = null;
|
|
13
|
+
devLogRotator = null;
|
|
14
|
+
/**
|
|
15
|
+
* Get the current log file stream.
|
|
16
|
+
*/
|
|
17
|
+
get stream() {
|
|
18
|
+
return this.logFileStream;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the dev log rotator (for testing only).
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
get rotator() {
|
|
25
|
+
return this.devLogRotator;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Enables development logging mode with file output and enhanced debugging.
|
|
29
|
+
*
|
|
30
|
+
* This method configures the logger to:
|
|
31
|
+
* - Write all log output to a file in the logs/ directory
|
|
32
|
+
* - Use timestamp-based log file naming (dev-server.YYYYMMDD_HHmmSSZZZ.log)
|
|
33
|
+
* - Automatically clean up old log files (default: 7 days retention)
|
|
34
|
+
*
|
|
35
|
+
* @param rotatorConfig - Optional custom rotation configuration (default: 7 days retention)
|
|
36
|
+
* @param onLogEnabled - Optional callback when log is enabled, receives the log file path
|
|
37
|
+
*/
|
|
38
|
+
enableDevLog(rotatorConfig, onLogEnabled) {
|
|
39
|
+
if (this.logFileStream)
|
|
40
|
+
return;
|
|
41
|
+
const logDir = path.join(process.cwd(), 'logs');
|
|
42
|
+
if (!fs.existsSync(logDir)) {
|
|
43
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
44
|
+
}
|
|
45
|
+
const config = rotatorConfig || { rotationAge: '7d' };
|
|
46
|
+
this.devLogRotator = new LogRotator(logDir, 'dev-server', config);
|
|
47
|
+
this.devLogRotator.rotateLogs();
|
|
48
|
+
const logFile = this.devLogRotator.createNewLogFilePath();
|
|
49
|
+
this.logFileStream = fs.createWriteStream(logFile, { flags: 'a' });
|
|
50
|
+
if (onLogEnabled) {
|
|
51
|
+
onLogEnabled(logFile);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Close the dev log file stream if open.
|
|
56
|
+
*/
|
|
57
|
+
close() {
|
|
58
|
+
if (this.logFileStream) {
|
|
59
|
+
this.logFileStream.end();
|
|
60
|
+
this.logFileStream = null;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger module exports.
|
|
3
|
+
* This file provides backward-compatible exports for the refactored logger module.
|
|
4
|
+
*/
|
|
5
|
+
export type { LogContext, LogOptions } from './log-context.js';
|
|
6
|
+
export { LOG_MODULES } from './log-modules.js';
|
|
7
|
+
export type { LogModuleKey, LogModule } from './log-modules.js';
|
|
8
|
+
export { COLORS, getColorCodeForLevel, getResetColor } from './log-colors.js';
|
|
9
|
+
export { formatTimestamp, formatLogLevel, formatPid, createColoredLogMessage, createLogMessage, formatError } from './log-formatter.js';
|
|
10
|
+
export { isToolsListResponse, simplifyToolsListResponse, hasImageContent, simplifyImageContent, formatMcpMessageForLogging, isNotificationMessage, logNotificationMessage } from './log-output.js';
|
|
11
|
+
export { Logger } from './logger.js';
|
|
12
|
+
import { Logger } from './logger.js';
|
|
13
|
+
import type { LogContext } from './log-context.js';
|
|
14
|
+
export declare const logger: Logger;
|
|
15
|
+
/**
|
|
16
|
+
* Log a message with color formatting for console and plain text for file output.
|
|
17
|
+
*
|
|
18
|
+
* This function provides a convenient way to log messages that appear with
|
|
19
|
+
* ANSI color codes in the console but are written as plain text to log files.
|
|
20
|
+
* It uses the logger's internal formatting methods to ensure consistent output.
|
|
21
|
+
*
|
|
22
|
+
* @param coloredMessage - The message to display in the console with color formatting
|
|
23
|
+
* @param plainMessage - The message to write to log files in plain text format
|
|
24
|
+
* @param context - Optional logging context including PID, server name, trace ID, etc.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* logWithColor(
|
|
29
|
+
* '\x1b[32m[SUCCESS]\x1b[0m Server started',
|
|
30
|
+
* '[SUCCESS] Server started',
|
|
31
|
+
* { serverName: 'mcp-hub', pid: process.pid }
|
|
32
|
+
* );
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function logWithColor(coloredMessage: string, plainMessage: string, context?: LogContext): void;
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGhE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG9E,OAAO,EACL,eAAe,EACf,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,gBAAgB,EAChB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAC1B,cAAc,EAAE,MAAM,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,UAAU,GACnB,IAAI,CAQN"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger module exports.
|
|
3
|
+
* This file provides backward-compatible exports for the refactored logger module.
|
|
4
|
+
*/
|
|
5
|
+
// Re-export log module constants
|
|
6
|
+
export { LOG_MODULES } from './log-modules.js';
|
|
7
|
+
// Re-export color utilities
|
|
8
|
+
export { COLORS, getColorCodeForLevel, getResetColor } from './log-colors.js';
|
|
9
|
+
// Re-export formatter utilities
|
|
10
|
+
export { formatTimestamp, formatLogLevel, formatPid, createColoredLogMessage, createLogMessage, formatError } from './log-formatter.js';
|
|
11
|
+
// Re-export output utilities
|
|
12
|
+
export { isToolsListResponse, simplifyToolsListResponse, hasImageContent, simplifyImageContent, formatMcpMessageForLogging, isNotificationMessage, logNotificationMessage } from './log-output.js';
|
|
13
|
+
// Re-export main Logger class
|
|
14
|
+
export { Logger } from './logger.js';
|
|
15
|
+
// Create and export the default logger instance
|
|
16
|
+
import { Logger } from './logger.js';
|
|
17
|
+
import { createColoredLogMessage, createLogMessage } from './log-formatter.js';
|
|
18
|
+
export const logger = new Logger();
|
|
19
|
+
/**
|
|
20
|
+
* Log a message with color formatting for console and plain text for file output.
|
|
21
|
+
*
|
|
22
|
+
* This function provides a convenient way to log messages that appear with
|
|
23
|
+
* ANSI color codes in the console but are written as plain text to log files.
|
|
24
|
+
* It uses the logger's internal formatting methods to ensure consistent output.
|
|
25
|
+
*
|
|
26
|
+
* @param coloredMessage - The message to display in the console with color formatting
|
|
27
|
+
* @param plainMessage - The message to write to log files in plain text format
|
|
28
|
+
* @param context - Optional logging context including PID, server name, trace ID, etc.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* logWithColor(
|
|
33
|
+
* '\x1b[32m[SUCCESS]\x1b[0m Server started',
|
|
34
|
+
* '[SUCCESS] Server started',
|
|
35
|
+
* { serverName: 'mcp-hub', pid: process.pid }
|
|
36
|
+
* );
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export function logWithColor(coloredMessage, plainMessage, context) {
|
|
40
|
+
const coloredLogMsg = createColoredLogMessage('info', coloredMessage, context);
|
|
41
|
+
console.info(coloredLogMsg);
|
|
42
|
+
if (logger.logFileStream) {
|
|
43
|
+
const plainLogMsg = createLogMessage('info', plainMessage, context);
|
|
44
|
+
logger.logFileStream.write(plainLogMsg + '\n');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ANSI color codes for logging.
|
|
3
|
+
* This file contains all color-related constants and helpers.
|
|
4
|
+
*/
|
|
5
|
+
import type { LogLevel } from '../../../shared/types/common.types.js';
|
|
6
|
+
export declare const COLORS: {
|
|
7
|
+
readonly reset: "\u001B[0m";
|
|
8
|
+
readonly cyan: "\u001B[36m";
|
|
9
|
+
readonly green: "\u001B[32m";
|
|
10
|
+
readonly yellow: "\u001B[33m";
|
|
11
|
+
readonly red: "\u001B[31m";
|
|
12
|
+
readonly gray: "\u001B[90m";
|
|
13
|
+
readonly brightCyan: "\u001B[96m";
|
|
14
|
+
readonly brightMagenta: "\u001B[95m";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Get color code for a specific log level.
|
|
18
|
+
* @param level - The log level
|
|
19
|
+
* @returns ANSI color code string
|
|
20
|
+
*/
|
|
21
|
+
export declare function getColorCodeForLevel(level: LogLevel): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get reset color code.
|
|
24
|
+
* @returns ANSI reset color code
|
|
25
|
+
*/
|
|
26
|
+
export declare function getResetColor(): string;
|
|
27
|
+
//# sourceMappingURL=log-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-colors.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-colors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D,eAAO,MAAM,MAAM;;;;;;;;;CAST,CAAC;AAEX;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAa5D;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ANSI color codes for logging.
|
|
3
|
+
* This file contains all color-related constants and helpers.
|
|
4
|
+
*/
|
|
5
|
+
// ANSI color codes
|
|
6
|
+
export const COLORS = {
|
|
7
|
+
reset: '\x1b[0m',
|
|
8
|
+
cyan: '\x1b[36m',
|
|
9
|
+
green: '\x1b[32m',
|
|
10
|
+
yellow: '\x1b[33m',
|
|
11
|
+
red: '\x1b[31m',
|
|
12
|
+
gray: '\x1b[90m',
|
|
13
|
+
brightCyan: '\x1b[96m',
|
|
14
|
+
brightMagenta: '\x1b[95m'
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Get color code for a specific log level.
|
|
18
|
+
* @param level - The log level
|
|
19
|
+
* @returns ANSI color code string
|
|
20
|
+
*/
|
|
21
|
+
export function getColorCodeForLevel(level) {
|
|
22
|
+
switch (level) {
|
|
23
|
+
case 'debug':
|
|
24
|
+
return COLORS.cyan;
|
|
25
|
+
case 'info':
|
|
26
|
+
return COLORS.green;
|
|
27
|
+
case 'warn':
|
|
28
|
+
return COLORS.yellow;
|
|
29
|
+
case 'error':
|
|
30
|
+
return COLORS.red;
|
|
31
|
+
default:
|
|
32
|
+
return COLORS.reset;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get reset color code.
|
|
37
|
+
* @returns ANSI reset color code
|
|
38
|
+
*/
|
|
39
|
+
export function getResetColor() {
|
|
40
|
+
return COLORS.reset;
|
|
41
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log context types and interfaces.
|
|
3
|
+
* This file contains all type definitions for logging context.
|
|
4
|
+
*/
|
|
5
|
+
export interface LogContext {
|
|
6
|
+
pid?: number;
|
|
7
|
+
serverName?: string;
|
|
8
|
+
module?: string;
|
|
9
|
+
traceId?: string;
|
|
10
|
+
spanId?: string;
|
|
11
|
+
}
|
|
12
|
+
export type LogOptions = Omit<LogContext, 'pid' | 'serverName'>;
|
|
13
|
+
//# sourceMappingURL=log-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-context.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log formatting utilities.
|
|
3
|
+
* This file contains all log message formatting logic.
|
|
4
|
+
*/
|
|
5
|
+
import type { LogLevel } from '../../../shared/types/common.types.js';
|
|
6
|
+
import type { LogContext } from './log-context.js';
|
|
7
|
+
/**
|
|
8
|
+
* Format a timestamp for logging.
|
|
9
|
+
* @param date - The date to format
|
|
10
|
+
* @returns Formatted timestamp string
|
|
11
|
+
*/
|
|
12
|
+
export declare function formatTimestamp(date: Date): string;
|
|
13
|
+
/**
|
|
14
|
+
* Format a log level for display.
|
|
15
|
+
* @param level - The log level
|
|
16
|
+
* @returns Formatted log level string
|
|
17
|
+
*/
|
|
18
|
+
export declare function formatLogLevel(level: LogLevel): string;
|
|
19
|
+
/**
|
|
20
|
+
* Format a PID for display.
|
|
21
|
+
* @param pid - The process ID
|
|
22
|
+
* @returns Formatted PID string
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatPid(pid: number): string;
|
|
25
|
+
/**
|
|
26
|
+
* Create a colored log message for console output.
|
|
27
|
+
* @param level - The log level
|
|
28
|
+
* @param message - The log message
|
|
29
|
+
* @param context - Optional log context
|
|
30
|
+
* @returns Colored log message string
|
|
31
|
+
*/
|
|
32
|
+
export declare function createColoredLogMessage(level: LogLevel, message: string, context?: LogContext): string;
|
|
33
|
+
/**
|
|
34
|
+
* Create a plain text log message for file output.
|
|
35
|
+
* @param level - The log level
|
|
36
|
+
* @param message - The log message
|
|
37
|
+
* @param context - Optional log context
|
|
38
|
+
* @returns Plain text log message string
|
|
39
|
+
*/
|
|
40
|
+
export declare function createLogMessage(level: LogLevel, message: string, context?: LogContext): string;
|
|
41
|
+
/**
|
|
42
|
+
* Format an error object for logging.
|
|
43
|
+
* @param error - The error to format
|
|
44
|
+
* @returns Formatted error string
|
|
45
|
+
*/
|
|
46
|
+
export declare function formatError(error: unknown): string;
|
|
47
|
+
//# sourceMappingURL=log-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-formatter.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CASlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAatD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CAiCR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CAyB/F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiClD"}
|