@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,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI argument parsing utility
|
|
3
|
+
* Provides parameter validation and parsing functions
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Parses and validates a port number from a string input.
|
|
7
|
+
*
|
|
8
|
+
* This function converts a string representation of a port number to an integer
|
|
9
|
+
* and validates that it falls within the valid TCP/UDP port range (1-65535).
|
|
10
|
+
* It is primarily used for CLI argument parsing when users specify custom ports
|
|
11
|
+
* via command line options like `--port` or `-p`.
|
|
12
|
+
*
|
|
13
|
+
* @param value - The string representation of the port number to parse
|
|
14
|
+
* @returns The validated port number as an integer
|
|
15
|
+
* @throws {Error} If the input is not a valid number or outside the valid port range (1-65535)
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const port = parsePort("8080"); // Returns 8080
|
|
20
|
+
* const invalidPort = parsePort("99999"); // Throws Error: Invalid port: 99999. Must be between 1 and 65535.
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export function parsePort(value) {
|
|
24
|
+
const port = parseInt(value, 10);
|
|
25
|
+
if (isNaN(port) || port < 1 || port > 65535) {
|
|
26
|
+
throw new Error(`Invalid port: ${value}. Must be between 1 and 65535.`);
|
|
27
|
+
}
|
|
28
|
+
return port;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parses and validates a hostname or IP address from a string input.
|
|
32
|
+
*
|
|
33
|
+
* This function performs basic validation on hostname/IP address inputs by ensuring
|
|
34
|
+
* the value is not empty or whitespace-only. It trims any leading/trailing whitespace
|
|
35
|
+
* from the input and returns the cleaned hostname. This function is used when parsing
|
|
36
|
+
* CLI arguments for host configuration via options like `--host` or `-h`.
|
|
37
|
+
*
|
|
38
|
+
* Note: This function performs only basic validation (non-empty check). More complex
|
|
39
|
+
* hostname format validation (e.g., DNS compliance, IP address format) should be
|
|
40
|
+
* handled at the network layer or by the underlying server implementation.
|
|
41
|
+
*
|
|
42
|
+
* @param value - The hostname or IP address string to parse and validate
|
|
43
|
+
* @returns The trimmed hostname/IP address string
|
|
44
|
+
* @throws {Error} If the input is null, undefined, or contains only whitespace
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* const host = parseHost("localhost"); // Returns "localhost"
|
|
49
|
+
* const hostWithSpaces = parseHost(" 127.0.0.1 "); // Returns "127.0.0.1"
|
|
50
|
+
* const emptyHost = parseHost(""); // Throws Error: Host cannot be empty
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export function parseHost(value) {
|
|
54
|
+
// Simple hostname format validation
|
|
55
|
+
if (!value || value.trim().length === 0) {
|
|
56
|
+
throw new Error('Host cannot be empty');
|
|
57
|
+
}
|
|
58
|
+
return value.trim();
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Validates a configuration file path to ensure it points to a valid JSON file.
|
|
62
|
+
*
|
|
63
|
+
* This function checks that the provided file path ends with the `.json` extension,
|
|
64
|
+
* ensuring that only JSON configuration files are accepted. It is used during CLI
|
|
65
|
+
* argument parsing when users specify custom configuration files via the `--config`
|
|
66
|
+
* option. The function does not verify file existence or accessibility, as those
|
|
67
|
+
* checks should be performed by the file system operations that actually read the file.
|
|
68
|
+
*
|
|
69
|
+
* @param path - The file path to validate as a configuration file path
|
|
70
|
+
* @returns The original path string if validation passes
|
|
71
|
+
* @throws {Error} If the path does not end with the '.json' extension
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const validPath = validateConfigPath("./config.json"); // Returns "./config.json"
|
|
76
|
+
* const invalidPath = validateConfigPath("./config.txt"); // Throws Error: Config file must be a .json file
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export function validateConfigPath(path) {
|
|
80
|
+
if (!path.endsWith('.json')) {
|
|
81
|
+
throw new Error('Config file must be a .json file');
|
|
82
|
+
}
|
|
83
|
+
return path;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Validate log level
|
|
87
|
+
*/
|
|
88
|
+
export function validateLogLevel(level) {
|
|
89
|
+
const validLevels = ['error', 'warn', 'info', 'debug'];
|
|
90
|
+
const lowerLevel = level.toLowerCase();
|
|
91
|
+
if (!validLevels.includes(lowerLevel)) {
|
|
92
|
+
throw new Error(`Invalid log level: ${level}. Must be one of: ${validLevels.join(', ')}`);
|
|
93
|
+
}
|
|
94
|
+
return lowerLevel;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Merges CLI options with default values to create a complete configuration object.
|
|
98
|
+
*
|
|
99
|
+
* This function takes partial CLI options (which may contain only some of the available
|
|
100
|
+
* options) and merges them with a complete set of default values. It uses nullish coalescing
|
|
101
|
+
* (??) to ensure that only undefined or null values are replaced with defaults, preserving
|
|
102
|
+
* explicitly set falsy values like `false` for boolean options.
|
|
103
|
+
*
|
|
104
|
+
* The function handles all standard CLI options including:
|
|
105
|
+
* - port: TCP port number for the server
|
|
106
|
+
* - host: Hostname or IP address to bind to
|
|
107
|
+
* - config: Path to configuration file
|
|
108
|
+
* - foreground: Whether to run in foreground mode
|
|
109
|
+
* - stdio: Whether to use stdio transport mode
|
|
110
|
+
*
|
|
111
|
+
* @param options - Partial CLI options object containing user-specified values
|
|
112
|
+
* @param defaults - Complete CLI options object containing default values
|
|
113
|
+
* @returns {CliOptions} A complete CLI options object with merged values
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const userOptions = { port: 8080 };
|
|
118
|
+
* const defaultOptions = { port: 7788, host: 'localhost', config: '.mcp-hub.json', foreground: false, stdio: false };
|
|
119
|
+
* const merged = mergeOptions(userOptions, defaultOptions);
|
|
120
|
+
* // Result: { port: 8080, host: 'localhost', config: '.mcp-hub.json', foreground: false, stdio: false }
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
export function mergeOptions(options, defaults) {
|
|
124
|
+
return {
|
|
125
|
+
port: options.port ?? defaults.port,
|
|
126
|
+
host: options.host ?? defaults.host,
|
|
127
|
+
config: options.config ?? defaults.config,
|
|
128
|
+
foreground: options.foreground ?? defaults.foreground,
|
|
129
|
+
stdio: options.stdio ?? defaults.stdio
|
|
130
|
+
};
|
|
131
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Server Management Functions
|
|
3
|
+
* Handles start, stop, status, restart operations
|
|
4
|
+
*/
|
|
5
|
+
interface ServerOptions {
|
|
6
|
+
port: number;
|
|
7
|
+
host: string;
|
|
8
|
+
configPath?: string;
|
|
9
|
+
}
|
|
10
|
+
interface McpServerStatus {
|
|
11
|
+
name: string;
|
|
12
|
+
type: string;
|
|
13
|
+
connected: boolean;
|
|
14
|
+
toolsCount: number;
|
|
15
|
+
resourcesCount: number;
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface EnhancedServerStatus {
|
|
19
|
+
running: boolean;
|
|
20
|
+
pid?: string;
|
|
21
|
+
host: string;
|
|
22
|
+
port: number;
|
|
23
|
+
message?: string;
|
|
24
|
+
pidFilePath: string;
|
|
25
|
+
mcpServers?: McpServerStatus[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Starts the MCP Hub Lite server with the specified configuration options.
|
|
29
|
+
*
|
|
30
|
+
* This function initializes and starts the full MCP Hub Lite server, including:
|
|
31
|
+
* - Fastify HTTP server with web interface and API
|
|
32
|
+
* - Automatic connection to enabled MCP servers
|
|
33
|
+
* - Port conflict detection
|
|
34
|
+
* - Graceful shutdown handlers
|
|
35
|
+
* - PID file management
|
|
36
|
+
*
|
|
37
|
+
* After successful startup, the process ID is written to a PID file for
|
|
38
|
+
* process management and monitoring purposes.
|
|
39
|
+
*
|
|
40
|
+
* Note: The `configPath` option is accepted for API consistency but is not
|
|
41
|
+
* currently used by this function. Configuration loading is handled by the
|
|
42
|
+
* ConfigManager singleton during module initialization.
|
|
43
|
+
*
|
|
44
|
+
* @param {ServerOptions} options - Configuration options for server startup
|
|
45
|
+
* @param {number} options.port - The port number to listen on (e.g., 7788)
|
|
46
|
+
* @param {string} options.host - The host address to bind to (e.g., 'localhost', '0.0.0.0')
|
|
47
|
+
* @param {string} [options.configPath] - Optional path to custom configuration file (currently unused)
|
|
48
|
+
* @returns {Promise<void>} A promise that resolves when the server is successfully started
|
|
49
|
+
* @throws {Error} If the server fails to start due to port conflicts, permission issues, or configuration errors
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* await startServer({
|
|
54
|
+
* port: 7788,
|
|
55
|
+
* host: 'localhost'
|
|
56
|
+
* });
|
|
57
|
+
* console.log(`Server running on http://localhost:7788`);
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* @see {@link runServer} for the full server startup implementation
|
|
61
|
+
* @see {@link PidManager} for process ID management
|
|
62
|
+
*/
|
|
63
|
+
export declare function startServer(options: ServerOptions): Promise<void>;
|
|
64
|
+
/**
|
|
65
|
+
* Stops the MCP Hub Lite server gracefully by sending a termination signal.
|
|
66
|
+
*
|
|
67
|
+
* This function terminates the running server process by:
|
|
68
|
+
* - Reading the PID from the PID file (or using provided PID)
|
|
69
|
+
* - Sending SIGTERM signal to gracefully terminate the process
|
|
70
|
+
* - Cleaning up the PID file to prevent stale process detection
|
|
71
|
+
*
|
|
72
|
+
* If no PID is provided, it reads from the PID file managed by PidManager.
|
|
73
|
+
* If the PID file doesn't exist or the process is already terminated,
|
|
74
|
+
* the function handles this gracefully without throwing errors.
|
|
75
|
+
*
|
|
76
|
+
* @param pid - Optional specific process ID to stop. If not provided, uses PID from PID file.
|
|
77
|
+
* @returns {Promise<void>} Resolves when the stop operation completes (regardless of success/failure)
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* // Stop the currently running server
|
|
82
|
+
* await stopServer();
|
|
83
|
+
*
|
|
84
|
+
* // Stop a specific process ID
|
|
85
|
+
* await stopServer('12345');
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare function stopServer(pid?: string): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Retrieves the current status of the MCP Hub Lite server.
|
|
91
|
+
*
|
|
92
|
+
* This function checks if the server is running by:
|
|
93
|
+
* - Reading the PID from the PID file (or using provided PID)
|
|
94
|
+
* - Verifying if the process with that PID is still active
|
|
95
|
+
* - If running, attempts to fetch additional runtime status via HTTP API
|
|
96
|
+
* - Returns enhanced status with configuration and runtime information
|
|
97
|
+
*
|
|
98
|
+
* The function uses `process.kill(pid, 0)` which doesn't actually kill the process
|
|
99
|
+
* but checks if a process with the given PID exists and is accessible.
|
|
100
|
+
*
|
|
101
|
+
* @param pid - Optional specific process ID to check. If not provided, uses PID from PID file.
|
|
102
|
+
* @returns {Promise<EnhancedServerStatus>} Enhanced status object with full details
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const status = await getServerStatus();
|
|
107
|
+
* if (status.running) {
|
|
108
|
+
* console.log(`Server running on ${status.host}:${status.port} with PID ${status.pid}`);
|
|
109
|
+
* }
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
112
|
+
export declare function getServerStatus(pid?: string): Promise<EnhancedServerStatus>;
|
|
113
|
+
/**
|
|
114
|
+
* Restarts the MCP Hub Lite server with the same configuration options.
|
|
115
|
+
*
|
|
116
|
+
* This function performs a graceful restart by:
|
|
117
|
+
* - First stopping the currently running server (if any)
|
|
118
|
+
* - Then starting a new server instance with the provided options
|
|
119
|
+
*
|
|
120
|
+
* This is useful for applying configuration changes or recovering from
|
|
121
|
+
* transient issues without manual intervention.
|
|
122
|
+
*
|
|
123
|
+
* @param options - Configuration options for the new server instance
|
|
124
|
+
* @param {number} options.port - The port number to listen on
|
|
125
|
+
* @param {string} options.host - The host address to bind to
|
|
126
|
+
* @param {string} [options.configPath] - Optional path to custom configuration file
|
|
127
|
+
* @returns {Promise<void>} A promise that resolves when the server is successfully restarted
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* await restartServer({
|
|
132
|
+
* port: 7788,
|
|
133
|
+
* host: 'localhost'
|
|
134
|
+
* });
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export declare function restartServer(options: ServerOptions): Promise<void>;
|
|
138
|
+
/**
|
|
139
|
+
* Lists all configured MCP servers with their instances.
|
|
140
|
+
*
|
|
141
|
+
* This function retrieves all servers managed by the HubManager and
|
|
142
|
+
* enriches them with their associated instances (if any). Each server
|
|
143
|
+
* object includes its configuration and an array of active instances.
|
|
144
|
+
*
|
|
145
|
+
* This is primarily used by the CLI `list` command to display the
|
|
146
|
+
* current server configuration to users.
|
|
147
|
+
*
|
|
148
|
+
* @returns {Promise<Array>} Array of server objects with instances included
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* const servers = await listServers();
|
|
153
|
+
* servers.forEach(server => {
|
|
154
|
+
* console.log(`Server: ${server.name}`);
|
|
155
|
+
* console.log(`Instances: ${server.instances.length}`);
|
|
156
|
+
* });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
export declare function listServers(): Promise<{
|
|
160
|
+
instances: {
|
|
161
|
+
id: string;
|
|
162
|
+
timestamp: number;
|
|
163
|
+
hash: string;
|
|
164
|
+
pid?: number | undefined;
|
|
165
|
+
startTime?: number | undefined;
|
|
166
|
+
}[];
|
|
167
|
+
name: string;
|
|
168
|
+
config: import("../config/config-manager.js").ServerConfig;
|
|
169
|
+
}[]>;
|
|
170
|
+
export {};
|
|
171
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/cli/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvE;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,iBAO5C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA0CjF;AAgED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,WAAW;;;;;;;;;;KAUhC"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI Server Management Functions
|
|
3
|
+
* Handles start, stop, status, restart operations
|
|
4
|
+
*/
|
|
5
|
+
import { PidManager } from '../pid/manager.js';
|
|
6
|
+
import { getConfigManager } from '../config/config-manager.js';
|
|
7
|
+
import { getPidFilePath } from '../pid/file.js';
|
|
8
|
+
import { runServer } from '../server/runner.js';
|
|
9
|
+
/**
|
|
10
|
+
* Starts the MCP Hub Lite server with the specified configuration options.
|
|
11
|
+
*
|
|
12
|
+
* This function initializes and starts the full MCP Hub Lite server, including:
|
|
13
|
+
* - Fastify HTTP server with web interface and API
|
|
14
|
+
* - Automatic connection to enabled MCP servers
|
|
15
|
+
* - Port conflict detection
|
|
16
|
+
* - Graceful shutdown handlers
|
|
17
|
+
* - PID file management
|
|
18
|
+
*
|
|
19
|
+
* After successful startup, the process ID is written to a PID file for
|
|
20
|
+
* process management and monitoring purposes.
|
|
21
|
+
*
|
|
22
|
+
* Note: The `configPath` option is accepted for API consistency but is not
|
|
23
|
+
* currently used by this function. Configuration loading is handled by the
|
|
24
|
+
* ConfigManager singleton during module initialization.
|
|
25
|
+
*
|
|
26
|
+
* @param {ServerOptions} options - Configuration options for server startup
|
|
27
|
+
* @param {number} options.port - The port number to listen on (e.g., 7788)
|
|
28
|
+
* @param {string} options.host - The host address to bind to (e.g., 'localhost', '0.0.0.0')
|
|
29
|
+
* @param {string} [options.configPath] - Optional path to custom configuration file (currently unused)
|
|
30
|
+
* @returns {Promise<void>} A promise that resolves when the server is successfully started
|
|
31
|
+
* @throws {Error} If the server fails to start due to port conflicts, permission issues, or configuration errors
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* await startServer({
|
|
36
|
+
* port: 7788,
|
|
37
|
+
* host: 'localhost'
|
|
38
|
+
* });
|
|
39
|
+
* console.log(`Server running on http://localhost:7788`);
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @see {@link runServer} for the full server startup implementation
|
|
43
|
+
* @see {@link PidManager} for process ID management
|
|
44
|
+
*/
|
|
45
|
+
export async function startServer(options) {
|
|
46
|
+
// Use the full runServer implementation which includes auto-connection of MCP servers
|
|
47
|
+
await runServer({
|
|
48
|
+
port: options.port,
|
|
49
|
+
host: options.host
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Stops the MCP Hub Lite server gracefully by sending a termination signal.
|
|
54
|
+
*
|
|
55
|
+
* This function terminates the running server process by:
|
|
56
|
+
* - Reading the PID from the PID file (or using provided PID)
|
|
57
|
+
* - Sending SIGTERM signal to gracefully terminate the process
|
|
58
|
+
* - Cleaning up the PID file to prevent stale process detection
|
|
59
|
+
*
|
|
60
|
+
* If no PID is provided, it reads from the PID file managed by PidManager.
|
|
61
|
+
* If the PID file doesn't exist or the process is already terminated,
|
|
62
|
+
* the function handles this gracefully without throwing errors.
|
|
63
|
+
*
|
|
64
|
+
* @param pid - Optional specific process ID to stop. If not provided, uses PID from PID file.
|
|
65
|
+
* @returns {Promise<void>} Resolves when the stop operation completes (regardless of success/failure)
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* // Stop the currently running server
|
|
70
|
+
* await stopServer();
|
|
71
|
+
*
|
|
72
|
+
* // Stop a specific process ID
|
|
73
|
+
* await stopServer('12345');
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export async function stopServer(pid) {
|
|
77
|
+
const actualPid = pid || PidManager.getPid()?.toString();
|
|
78
|
+
if (actualPid) {
|
|
79
|
+
process.kill(parseInt(actualPid), 'SIGTERM');
|
|
80
|
+
PidManager.removePid();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Retrieves the current status of the MCP Hub Lite server.
|
|
85
|
+
*
|
|
86
|
+
* This function checks if the server is running by:
|
|
87
|
+
* - Reading the PID from the PID file (or using provided PID)
|
|
88
|
+
* - Verifying if the process with that PID is still active
|
|
89
|
+
* - If running, attempts to fetch additional runtime status via HTTP API
|
|
90
|
+
* - Returns enhanced status with configuration and runtime information
|
|
91
|
+
*
|
|
92
|
+
* The function uses `process.kill(pid, 0)` which doesn't actually kill the process
|
|
93
|
+
* but checks if a process with the given PID exists and is accessible.
|
|
94
|
+
*
|
|
95
|
+
* @param pid - Optional specific process ID to check. If not provided, uses PID from PID file.
|
|
96
|
+
* @returns {Promise<EnhancedServerStatus>} Enhanced status object with full details
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const status = await getServerStatus();
|
|
101
|
+
* if (status.running) {
|
|
102
|
+
* console.log(`Server running on ${status.host}:${status.port} with PID ${status.pid}`);
|
|
103
|
+
* }
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export async function getServerStatus(pid) {
|
|
107
|
+
const configManager = getConfigManager();
|
|
108
|
+
const config = configManager.getConfig();
|
|
109
|
+
const host = process.env.HOST || config.system.host;
|
|
110
|
+
const port = process.env.PORT ? parseInt(process.env.PORT, 10) : config.system.port;
|
|
111
|
+
const pidFilePath = getPidFilePath();
|
|
112
|
+
const actualPid = pid || PidManager.getPid()?.toString();
|
|
113
|
+
if (!actualPid) {
|
|
114
|
+
return {
|
|
115
|
+
running: false,
|
|
116
|
+
host,
|
|
117
|
+
port,
|
|
118
|
+
pidFilePath,
|
|
119
|
+
message: 'Server not running'
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
try {
|
|
123
|
+
process.kill(parseInt(actualPid), 0); // Signal 0 just checks if process exists
|
|
124
|
+
// Try to fetch runtime status via HTTP API
|
|
125
|
+
const mcpServers = await fetchRuntimeStatus(host, port);
|
|
126
|
+
return {
|
|
127
|
+
running: true,
|
|
128
|
+
pid: actualPid,
|
|
129
|
+
host,
|
|
130
|
+
port,
|
|
131
|
+
pidFilePath,
|
|
132
|
+
mcpServers
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return {
|
|
137
|
+
running: false,
|
|
138
|
+
host,
|
|
139
|
+
port,
|
|
140
|
+
pidFilePath,
|
|
141
|
+
message: 'Server process not found'
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Fetches runtime status from the running server via HTTP API.
|
|
147
|
+
*
|
|
148
|
+
* This function attempts to connect to the local server API to retrieve
|
|
149
|
+
* real-time status information about connected MCP servers. It uses a
|
|
150
|
+
* short timeout to ensure the status command remains responsive even
|
|
151
|
+
* if the server is unresponsive.
|
|
152
|
+
*
|
|
153
|
+
* @param host - The host address to connect to
|
|
154
|
+
* @param port - The port number to connect to
|
|
155
|
+
* @returns Promise with array of MCP server status, or undefined if API call fails
|
|
156
|
+
*/
|
|
157
|
+
async function fetchRuntimeStatus(host, port) {
|
|
158
|
+
try {
|
|
159
|
+
const controller = new AbortController();
|
|
160
|
+
const timeoutId = setTimeout(() => controller.abort(), 500);
|
|
161
|
+
const response = await fetch(`http://${host}:${port}/web/mcp/status`, {
|
|
162
|
+
signal: controller.signal,
|
|
163
|
+
headers: {
|
|
164
|
+
Accept: 'application/json'
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
clearTimeout(timeoutId);
|
|
168
|
+
if (!response.ok) {
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
171
|
+
const statusData = (await response.json());
|
|
172
|
+
// Map status data directly (API now includes name and type)
|
|
173
|
+
const result = statusData.map((item) => ({
|
|
174
|
+
name: item.name,
|
|
175
|
+
type: item.type,
|
|
176
|
+
connected: item.status.connected,
|
|
177
|
+
toolsCount: item.status.toolsCount,
|
|
178
|
+
resourcesCount: item.status.resourcesCount,
|
|
179
|
+
error: item.status.error
|
|
180
|
+
}));
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
// Silent failure - API not available, just return undefined
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Restarts the MCP Hub Lite server with the same configuration options.
|
|
190
|
+
*
|
|
191
|
+
* This function performs a graceful restart by:
|
|
192
|
+
* - First stopping the currently running server (if any)
|
|
193
|
+
* - Then starting a new server instance with the provided options
|
|
194
|
+
*
|
|
195
|
+
* This is useful for applying configuration changes or recovering from
|
|
196
|
+
* transient issues without manual intervention.
|
|
197
|
+
*
|
|
198
|
+
* @param options - Configuration options for the new server instance
|
|
199
|
+
* @param {number} options.port - The port number to listen on
|
|
200
|
+
* @param {string} options.host - The host address to bind to
|
|
201
|
+
* @param {string} [options.configPath] - Optional path to custom configuration file
|
|
202
|
+
* @returns {Promise<void>} A promise that resolves when the server is successfully restarted
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* await restartServer({
|
|
207
|
+
* port: 7788,
|
|
208
|
+
* host: 'localhost'
|
|
209
|
+
* });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
export async function restartServer(options) {
|
|
213
|
+
await stopServer();
|
|
214
|
+
await startServer(options);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Lists all configured MCP servers with their instances.
|
|
218
|
+
*
|
|
219
|
+
* This function retrieves all servers managed by the HubManager and
|
|
220
|
+
* enriches them with their associated instances (if any). Each server
|
|
221
|
+
* object includes its configuration and an array of active instances.
|
|
222
|
+
*
|
|
223
|
+
* This is primarily used by the CLI `list` command to display the
|
|
224
|
+
* current server configuration to users.
|
|
225
|
+
*
|
|
226
|
+
* @returns {Promise<Array>} Array of server objects with instances included
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```typescript
|
|
230
|
+
* const servers = await listServers();
|
|
231
|
+
* servers.forEach(server => {
|
|
232
|
+
* console.log(`Server: ${server.name}`);
|
|
233
|
+
* console.log(`Instances: ${server.instances.length}`);
|
|
234
|
+
* });
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
export async function listServers() {
|
|
238
|
+
// Dynamic import to avoid loading heavyweight services for simple commands
|
|
239
|
+
const { hubManager } = await import('../services/hub-manager.service.js');
|
|
240
|
+
const servers = hubManager.getAllServers();
|
|
241
|
+
const serverInstances = hubManager.getServerInstances();
|
|
242
|
+
return servers.map((server) => ({
|
|
243
|
+
...server,
|
|
244
|
+
instances: serverInstances[server.name] || []
|
|
245
|
+
}));
|
|
246
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration change logging utilities.
|
|
3
|
+
* Handles comparison and logging of configuration changes.
|
|
4
|
+
*/
|
|
5
|
+
import type { SystemConfig } from './config.schema.js';
|
|
6
|
+
/**
|
|
7
|
+
* Logs the differences between two system configurations.
|
|
8
|
+
*
|
|
9
|
+
* This function performs a deep comparison of two configuration objects
|
|
10
|
+
* and logs all changes at the field level for audit purposes.
|
|
11
|
+
*
|
|
12
|
+
* @param oldConfig - The original configuration
|
|
13
|
+
* @param newConfig - The new configuration
|
|
14
|
+
*/
|
|
15
|
+
export declare function logConfigChanges(oldConfig: SystemConfig, newConfig: SystemConfig): void;
|
|
16
|
+
//# sourceMappingURL=config-change-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-change-logger.d.ts","sourceRoot":"","sources":["../../../../src/config/config-change-logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,IAAI,CAoCvF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration change logging utilities.
|
|
3
|
+
* Handles comparison and logging of configuration changes.
|
|
4
|
+
*/
|
|
5
|
+
import { logger, LOG_MODULES } from '../utils/logger.js';
|
|
6
|
+
/**
|
|
7
|
+
* Logs the differences between two system configurations.
|
|
8
|
+
*
|
|
9
|
+
* This function performs a deep comparison of two configuration objects
|
|
10
|
+
* and logs all changes at the field level for audit purposes.
|
|
11
|
+
*
|
|
12
|
+
* @param oldConfig - The original configuration
|
|
13
|
+
* @param newConfig - The new configuration
|
|
14
|
+
*/
|
|
15
|
+
export function logConfigChanges(oldConfig, newConfig) {
|
|
16
|
+
const changes = [];
|
|
17
|
+
const compare = (obj1, obj2, path) => {
|
|
18
|
+
const allKeys = new Set([...Object.keys(obj1 || {}), ...Object.keys(obj2 || {})]);
|
|
19
|
+
for (const key of allKeys) {
|
|
20
|
+
const currentPath = path ? `${path}.${key}` : key;
|
|
21
|
+
const val1 = obj1 && typeof obj1 === 'object' ? obj1[key] : undefined;
|
|
22
|
+
const val2 = obj2 && typeof obj2 === 'object' ? obj2[key] : undefined;
|
|
23
|
+
if (JSON.stringify(val1) === JSON.stringify(val2))
|
|
24
|
+
continue;
|
|
25
|
+
if (typeof val1 === 'object' &&
|
|
26
|
+
val1 !== null &&
|
|
27
|
+
typeof val2 === 'object' &&
|
|
28
|
+
val2 !== null &&
|
|
29
|
+
!Array.isArray(val1) &&
|
|
30
|
+
!Array.isArray(val2)) {
|
|
31
|
+
compare(val1, val2, currentPath);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
const formatVal = (v) => (v === undefined ? 'undefined' : JSON.stringify(v));
|
|
35
|
+
changes.push(`${currentPath} = ${formatVal(val1)} -> ${formatVal(val2)}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
compare(oldConfig, newConfig, '');
|
|
40
|
+
if (changes.length > 0) {
|
|
41
|
+
logger.info(`${changes.join('\n')}`, LOG_MODULES.CONFIG_CHANGES);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration loading utilities.
|
|
3
|
+
* Handles loading and parsing configuration from files with validation.
|
|
4
|
+
*/
|
|
5
|
+
import type { SystemConfig } from './config.schema.js';
|
|
6
|
+
/**
|
|
7
|
+
* Loads configuration from the specified file path.
|
|
8
|
+
*
|
|
9
|
+
* This function handles the complete configuration loading process:
|
|
10
|
+
* - Checks if the config file exists at the specified path
|
|
11
|
+
* - Reads and parses the JSON configuration
|
|
12
|
+
* - Performs type conversion for compatibility (e.g., 'http' to 'streamable-http')
|
|
13
|
+
* - Validates the configuration using Zod schema
|
|
14
|
+
* - Handles validation failures gracefully by falling back to default configuration
|
|
15
|
+
*
|
|
16
|
+
* If the config file doesn't exist or fails to load, a default configuration is returned.
|
|
17
|
+
*
|
|
18
|
+
* @param configPath - Path to the configuration file
|
|
19
|
+
* @returns The loaded and validated system configuration
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadConfig(configPath: string): SystemConfig;
|
|
22
|
+
//# sourceMappingURL=config-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../../src/config/config-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CA0C3D"}
|