@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,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration loading utilities.
|
|
3
|
+
* Handles loading and parsing configuration from files with validation.
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import { logger, LOG_MODULES } from '../utils/logger.js';
|
|
7
|
+
import { SystemConfigSchema } from './config.schema.js';
|
|
8
|
+
import { convertHttpToStreamableHttp } from './type-converter.js';
|
|
9
|
+
/**
|
|
10
|
+
* Loads configuration from the specified file path.
|
|
11
|
+
*
|
|
12
|
+
* This function handles the complete configuration loading process:
|
|
13
|
+
* - Checks if the config file exists at the specified path
|
|
14
|
+
* - Reads and parses the JSON configuration
|
|
15
|
+
* - Performs type conversion for compatibility (e.g., 'http' to 'streamable-http')
|
|
16
|
+
* - Validates the configuration using Zod schema
|
|
17
|
+
* - Handles validation failures gracefully by falling back to default configuration
|
|
18
|
+
*
|
|
19
|
+
* If the config file doesn't exist or fails to load, a default configuration is returned.
|
|
20
|
+
*
|
|
21
|
+
* @param configPath - Path to the configuration file
|
|
22
|
+
* @returns The loaded and validated system configuration
|
|
23
|
+
*/
|
|
24
|
+
export function loadConfig(configPath) {
|
|
25
|
+
try {
|
|
26
|
+
if (fs.existsSync(configPath)) {
|
|
27
|
+
logger.info(`Loading configuration from: ${configPath}`, LOG_MODULES.CONFIG_MANAGER);
|
|
28
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
29
|
+
let config = JSON.parse(content);
|
|
30
|
+
// Unified type conversion: convert http to streamable-http
|
|
31
|
+
config = convertHttpToStreamableHttp(config);
|
|
32
|
+
// Ensure defaults without validation errors blocking
|
|
33
|
+
try {
|
|
34
|
+
// Use safeParse to validate configuration
|
|
35
|
+
const parsed = SystemConfigSchema.safeParse(config);
|
|
36
|
+
if (parsed.success) {
|
|
37
|
+
// Ensure server configurations are sorted by name
|
|
38
|
+
const configWithSortedServers = {
|
|
39
|
+
...parsed.data,
|
|
40
|
+
servers: Object.fromEntries(Object.entries(parsed.data.servers).sort(([a], [b]) => a.localeCompare(b)))
|
|
41
|
+
};
|
|
42
|
+
return configWithSortedServers;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
// On validation failure, log error and use default configuration
|
|
46
|
+
logger.error(`Config validation failed: ${parsed.error}`);
|
|
47
|
+
return SystemConfigSchema.parse({});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
logger.error(`Failed to parse config: ${e}`);
|
|
52
|
+
// On parsing failure, use default configuration
|
|
53
|
+
return SystemConfigSchema.parse({});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// When config file doesn't exist, create default config in memory only
|
|
58
|
+
return SystemConfigSchema.parse({});
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
logger.error(`Failed to load config: ${error}`);
|
|
63
|
+
// On config file load failure, use default configuration
|
|
64
|
+
return SystemConfigSchema.parse({});
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Manager for MCP Hub Lite system.
|
|
3
|
+
*
|
|
4
|
+
* This class provides comprehensive configuration management capabilities including:
|
|
5
|
+
* - Loading and parsing configuration from JSON files
|
|
6
|
+
* - Runtime configuration updates with validation
|
|
7
|
+
* - Server and server instance lifecycle management
|
|
8
|
+
* - Automatic configuration persistence to disk
|
|
9
|
+
* - Type conversion and compatibility handling (e.g., 'http' to 'streamable-http')
|
|
10
|
+
* - Configuration change logging and tracking
|
|
11
|
+
*
|
|
12
|
+
* This is a thin wrapper around modular utilities for better maintainability.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Get the config manager instance
|
|
17
|
+
* const configManager = getConfigManager();
|
|
18
|
+
*
|
|
19
|
+
* // Get all servers
|
|
20
|
+
* const servers = configManager.getServers();
|
|
21
|
+
*
|
|
22
|
+
* // Add a new server
|
|
23
|
+
* await configManager.addServer('my-server', {
|
|
24
|
+
* type: 'stdio',
|
|
25
|
+
* command: 'npx my-mcp-server',
|
|
26
|
+
* enabled: true
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import { SystemConfigSchema, ServerConfigSchema, ServerInstanceConfigSchema } from './config.schema.js';
|
|
31
|
+
import type { ServerConfig, SystemConfig, ServerInstanceConfig } from './config.schema.js';
|
|
32
|
+
export { ServerConfig, SystemConfig, ServerInstanceConfig, SystemConfigSchema, ServerConfigSchema, ServerInstanceConfigSchema };
|
|
33
|
+
export declare class ConfigManager {
|
|
34
|
+
private configPath;
|
|
35
|
+
private config;
|
|
36
|
+
private serverInstances;
|
|
37
|
+
constructor(configPath?: string);
|
|
38
|
+
private initServerInstances;
|
|
39
|
+
/**
|
|
40
|
+
* Retrieves the current system configuration.
|
|
41
|
+
*
|
|
42
|
+
* @returns A deep copy of the current system configuration
|
|
43
|
+
*/
|
|
44
|
+
getConfig(): SystemConfig;
|
|
45
|
+
/**
|
|
46
|
+
* Retrieves all configured servers with their configurations.
|
|
47
|
+
*
|
|
48
|
+
* @param sortByName - Whether to sort servers by name
|
|
49
|
+
* @returns Array of server objects with name and config
|
|
50
|
+
*/
|
|
51
|
+
getServers(sortByName?: boolean): Array<{
|
|
52
|
+
name: string;
|
|
53
|
+
config: ServerConfig;
|
|
54
|
+
}>;
|
|
55
|
+
/**
|
|
56
|
+
* Retrieves a server configuration by name.
|
|
57
|
+
*
|
|
58
|
+
* @param name - The name of the server to retrieve
|
|
59
|
+
* @returns The server configuration or undefined if not found
|
|
60
|
+
*/
|
|
61
|
+
getServerByName(name: string): ServerConfig | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* Retrieves all server instances grouped by server name.
|
|
64
|
+
*
|
|
65
|
+
* @returns Server instances grouped by server name
|
|
66
|
+
*/
|
|
67
|
+
getServerInstances(): Record<string, ServerInstanceConfig[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Retrieves all server instances for a specific server by name.
|
|
70
|
+
*
|
|
71
|
+
* @param name - The name of the server to retrieve instances for
|
|
72
|
+
* @returns Array of server instances, or empty array if none exist
|
|
73
|
+
*/
|
|
74
|
+
getServerInstanceByName(name: string): ServerInstanceConfig[];
|
|
75
|
+
/**
|
|
76
|
+
* Retrieves server information by its unique instance ID.
|
|
77
|
+
*
|
|
78
|
+
* @param id - The unique instance ID to search for
|
|
79
|
+
* @returns Complete server information including name, configuration, and instance details
|
|
80
|
+
*/
|
|
81
|
+
getServerById(id: string): {
|
|
82
|
+
name: string;
|
|
83
|
+
config: ServerConfig;
|
|
84
|
+
instance: ServerInstanceConfig;
|
|
85
|
+
} | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Adds multiple server configurations to the system in a single operation.
|
|
88
|
+
*
|
|
89
|
+
* @param servers - Array of server objects containing name and partial configuration
|
|
90
|
+
*/
|
|
91
|
+
addServers(servers: Array<{
|
|
92
|
+
name: string;
|
|
93
|
+
config: Partial<ServerConfig>;
|
|
94
|
+
}>): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Adds a new server configuration to the system.
|
|
97
|
+
*
|
|
98
|
+
* @param name - The unique name for the server
|
|
99
|
+
* @param config - The server configuration
|
|
100
|
+
* @returns The validated and complete server configuration
|
|
101
|
+
*/
|
|
102
|
+
addServer(name: string, config: Partial<ServerConfig>): Promise<ServerConfig>;
|
|
103
|
+
/**
|
|
104
|
+
* Adds a new server instance for the specified server.
|
|
105
|
+
*
|
|
106
|
+
* @param name - The name of the server to add an instance for
|
|
107
|
+
* @param instance - The server instance configuration
|
|
108
|
+
* @returns The validated and complete server instance configuration
|
|
109
|
+
*/
|
|
110
|
+
addServerInstance(name: string, instance: Partial<ServerInstanceConfig>): Promise<ServerInstanceConfig>;
|
|
111
|
+
/**
|
|
112
|
+
* Updates an existing server configuration with the provided changes.
|
|
113
|
+
*
|
|
114
|
+
* @param name - The name of the server to update
|
|
115
|
+
* @param updates - The partial configuration updates to apply
|
|
116
|
+
*/
|
|
117
|
+
updateServer(name: string, updates: Partial<ServerConfig>): Promise<void>;
|
|
118
|
+
/**
|
|
119
|
+
* Updates an existing server instance configuration with the provided changes.
|
|
120
|
+
*
|
|
121
|
+
* @param name - The name of the server containing the instance to update
|
|
122
|
+
* @param index - The index of the instance to update in the instances array
|
|
123
|
+
* @param updates - The partial instance configuration updates to apply
|
|
124
|
+
*/
|
|
125
|
+
updateServerInstance(name: string, index: number, updates: Partial<ServerInstanceConfig>): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Removes a server configuration and all its instances from the system.
|
|
128
|
+
*
|
|
129
|
+
* @param name - The name of the server to remove
|
|
130
|
+
* @returns True if the server was removed, false if it didn't exist
|
|
131
|
+
*/
|
|
132
|
+
removeServer(name: string): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Removes a specific server instance from the system.
|
|
135
|
+
*
|
|
136
|
+
* @param name - The name of the server containing the instance to remove
|
|
137
|
+
* @param index - The index of the instance to remove from the instances array
|
|
138
|
+
*/
|
|
139
|
+
removeServerInstance(name: string, index: number): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Updates the entire system configuration with the provided partial configuration.
|
|
142
|
+
*
|
|
143
|
+
* @param newConfig - Partial system configuration containing updates
|
|
144
|
+
*/
|
|
145
|
+
updateConfig(newConfig: Partial<SystemConfig>): Promise<void>;
|
|
146
|
+
private persistConfig;
|
|
147
|
+
/**
|
|
148
|
+
* Synchronizes the in-memory configuration with the on-disk configuration file.
|
|
149
|
+
*/
|
|
150
|
+
syncConfig(): Promise<void>;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get the config manager instance
|
|
154
|
+
* In test environment, always creates a new instance to prevent test pollution
|
|
155
|
+
*/
|
|
156
|
+
export declare function getConfigManager(): ConfigManager;
|
|
157
|
+
export declare const configManager: ConfigManager;
|
|
158
|
+
//# sourceMappingURL=config-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../../../src/config/config-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAgB3F,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC3B,CAAC;AAEF,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAA8C;gBAEzD,UAAU,CAAC,EAAE,MAAM;IAU/B,OAAO,CAAC,mBAAmB;IAW3B;;;;OAIG;IACI,SAAS,IAAI,YAAY;IAIhC;;;;;OAKG;IACI,UAAU,CAAC,UAAU,GAAE,OAAe,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAW7F;;;;;OAKG;IACI,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI9D;;;;OAIG;IACI,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAInE;;;;;OAKG;IACI,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,EAAE;IAIpE;;;;;OAKG;IACI,aAAa,CAClB,EAAE,EAAE,MAAM,GACT;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE,oBAAoB,CAAA;KAAE,GAAG,SAAS;IAUrF;;;;OAIG;IACU,UAAU,CACrB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;KAAE,CAAC,GAC9D,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IAM1F;;;;;;OAMG;IACU,iBAAiB,CAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC,oBAAoB,CAAC;IAIhC;;;;;OAKG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtF;;;;;;OAMG;IACU,oBAAoB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;OAKG;IACU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD;;;;;OAKG;IACU,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7E;;;;OAIG;IACU,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1E,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC;AAKD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAchD;AAGD,eAAO,MAAM,aAAa,eAAqB,CAAC"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Manager for MCP Hub Lite system.
|
|
3
|
+
*
|
|
4
|
+
* This class provides comprehensive configuration management capabilities including:
|
|
5
|
+
* - Loading and parsing configuration from JSON files
|
|
6
|
+
* - Runtime configuration updates with validation
|
|
7
|
+
* - Server and server instance lifecycle management
|
|
8
|
+
* - Automatic configuration persistence to disk
|
|
9
|
+
* - Type conversion and compatibility handling (e.g., 'http' to 'streamable-http')
|
|
10
|
+
* - Configuration change logging and tracking
|
|
11
|
+
*
|
|
12
|
+
* This is a thin wrapper around modular utilities for better maintainability.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Get the config manager instance
|
|
17
|
+
* const configManager = getConfigManager();
|
|
18
|
+
*
|
|
19
|
+
* // Get all servers
|
|
20
|
+
* const servers = configManager.getServers();
|
|
21
|
+
*
|
|
22
|
+
* // Add a new server
|
|
23
|
+
* await configManager.addServer('my-server', {
|
|
24
|
+
* type: 'stdio',
|
|
25
|
+
* command: 'npx my-mcp-server',
|
|
26
|
+
* enabled: true
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import path from 'path';
|
|
31
|
+
import os from 'os';
|
|
32
|
+
import { logger, LOG_MODULES } from '../utils/logger.js';
|
|
33
|
+
import { SystemConfigSchema, ServerConfigSchema, ServerInstanceConfigSchema } from './config.schema.js';
|
|
34
|
+
import { loadConfig } from './config-loader.js';
|
|
35
|
+
import { saveConfig } from './config-saver.js';
|
|
36
|
+
import { convertHttpToStreamableHttp } from './type-converter.js';
|
|
37
|
+
import { logConfigChanges } from './config-change-logger.js';
|
|
38
|
+
import { addServers, addServer, addServerInstance, updateServer, updateServerInstance, removeServer, removeServerInstance } from './server-config-manager.js';
|
|
39
|
+
// Re-export types for external use
|
|
40
|
+
export { SystemConfigSchema, ServerConfigSchema, ServerInstanceConfigSchema };
|
|
41
|
+
export class ConfigManager {
|
|
42
|
+
configPath;
|
|
43
|
+
config;
|
|
44
|
+
serverInstances = {};
|
|
45
|
+
constructor(configPath) {
|
|
46
|
+
this.configPath =
|
|
47
|
+
configPath ||
|
|
48
|
+
process.env.MCP_HUB_CONFIG_PATH ||
|
|
49
|
+
path.join(os.homedir(), '.mcp-hub-lite', 'config', '.mcp-hub.json');
|
|
50
|
+
logger.info(`Using config file: ${this.configPath}`, LOG_MODULES.CONFIG_MANAGER);
|
|
51
|
+
this.config = loadConfig(this.configPath);
|
|
52
|
+
this.initServerInstances();
|
|
53
|
+
}
|
|
54
|
+
initServerInstances() {
|
|
55
|
+
// Init server instances
|
|
56
|
+
if (this.config && this.config.servers && typeof this.config.servers === 'object') {
|
|
57
|
+
Object.keys(this.config.servers).forEach((name) => {
|
|
58
|
+
if (!this.serverInstances[name])
|
|
59
|
+
this.serverInstances[name] = [];
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
else if (!this.config) {
|
|
63
|
+
this.config = SystemConfigSchema.parse({});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves the current system configuration.
|
|
68
|
+
*
|
|
69
|
+
* @returns A deep copy of the current system configuration
|
|
70
|
+
*/
|
|
71
|
+
getConfig() {
|
|
72
|
+
return { ...this.config };
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Retrieves all configured servers with their configurations.
|
|
76
|
+
*
|
|
77
|
+
* @param sortByName - Whether to sort servers by name
|
|
78
|
+
* @returns Array of server objects with name and config
|
|
79
|
+
*/
|
|
80
|
+
getServers(sortByName = false) {
|
|
81
|
+
let servers = Object.entries(this.config.servers || {}).map(([name, config]) => ({
|
|
82
|
+
name,
|
|
83
|
+
config
|
|
84
|
+
}));
|
|
85
|
+
if (sortByName) {
|
|
86
|
+
servers = [...servers].sort((a, b) => a.name.localeCompare(b.name));
|
|
87
|
+
}
|
|
88
|
+
return servers;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Retrieves a server configuration by name.
|
|
92
|
+
*
|
|
93
|
+
* @param name - The name of the server to retrieve
|
|
94
|
+
* @returns The server configuration or undefined if not found
|
|
95
|
+
*/
|
|
96
|
+
getServerByName(name) {
|
|
97
|
+
return this.config.servers?.[name];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Retrieves all server instances grouped by server name.
|
|
101
|
+
*
|
|
102
|
+
* @returns Server instances grouped by server name
|
|
103
|
+
*/
|
|
104
|
+
getServerInstances() {
|
|
105
|
+
return { ...this.serverInstances };
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Retrieves all server instances for a specific server by name.
|
|
109
|
+
*
|
|
110
|
+
* @param name - The name of the server to retrieve instances for
|
|
111
|
+
* @returns Array of server instances, or empty array if none exist
|
|
112
|
+
*/
|
|
113
|
+
getServerInstanceByName(name) {
|
|
114
|
+
return this.serverInstances[name] || [];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Retrieves server information by its unique instance ID.
|
|
118
|
+
*
|
|
119
|
+
* @param id - The unique instance ID to search for
|
|
120
|
+
* @returns Complete server information including name, configuration, and instance details
|
|
121
|
+
*/
|
|
122
|
+
getServerById(id) {
|
|
123
|
+
for (const [serverName, instances] of Object.entries(this.serverInstances)) {
|
|
124
|
+
const instance = instances.find((inst) => inst.id === id);
|
|
125
|
+
if (instance) {
|
|
126
|
+
return { name: serverName, config: this.config.servers[serverName], instance };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Adds multiple server configurations to the system in a single operation.
|
|
133
|
+
*
|
|
134
|
+
* @param servers - Array of server objects containing name and partial configuration
|
|
135
|
+
*/
|
|
136
|
+
async addServers(servers) {
|
|
137
|
+
this.config.servers = addServers(servers, this.config.servers, this.serverInstances);
|
|
138
|
+
this.persistConfig();
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Adds a new server configuration to the system.
|
|
142
|
+
*
|
|
143
|
+
* @param name - The unique name for the server
|
|
144
|
+
* @param config - The server configuration
|
|
145
|
+
* @returns The validated and complete server configuration
|
|
146
|
+
*/
|
|
147
|
+
async addServer(name, config) {
|
|
148
|
+
const validated = addServer(name, config, this.config.servers, this.serverInstances);
|
|
149
|
+
this.persistConfig();
|
|
150
|
+
return validated;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Adds a new server instance for the specified server.
|
|
154
|
+
*
|
|
155
|
+
* @param name - The name of the server to add an instance for
|
|
156
|
+
* @param instance - The server instance configuration
|
|
157
|
+
* @returns The validated and complete server instance configuration
|
|
158
|
+
*/
|
|
159
|
+
async addServerInstance(name, instance) {
|
|
160
|
+
return addServerInstance(name, instance, this.serverInstances);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Updates an existing server configuration with the provided changes.
|
|
164
|
+
*
|
|
165
|
+
* @param name - The name of the server to update
|
|
166
|
+
* @param updates - The partial configuration updates to apply
|
|
167
|
+
*/
|
|
168
|
+
async updateServer(name, updates) {
|
|
169
|
+
if (updateServer(name, updates, this.config.servers)) {
|
|
170
|
+
this.persistConfig();
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Updates an existing server instance configuration with the provided changes.
|
|
175
|
+
*
|
|
176
|
+
* @param name - The name of the server containing the instance to update
|
|
177
|
+
* @param index - The index of the instance to update in the instances array
|
|
178
|
+
* @param updates - The partial instance configuration updates to apply
|
|
179
|
+
*/
|
|
180
|
+
async updateServerInstance(name, index, updates) {
|
|
181
|
+
updateServerInstance(name, index, updates, this.serverInstances);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Removes a server configuration and all its instances from the system.
|
|
185
|
+
*
|
|
186
|
+
* @param name - The name of the server to remove
|
|
187
|
+
* @returns True if the server was removed, false if it didn't exist
|
|
188
|
+
*/
|
|
189
|
+
async removeServer(name) {
|
|
190
|
+
if (removeServer(name, this.config.servers, this.serverInstances)) {
|
|
191
|
+
this.persistConfig();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Removes a specific server instance from the system.
|
|
196
|
+
*
|
|
197
|
+
* @param name - The name of the server containing the instance to remove
|
|
198
|
+
* @param index - The index of the instance to remove from the instances array
|
|
199
|
+
*/
|
|
200
|
+
async removeServerInstance(name, index) {
|
|
201
|
+
removeServerInstance(name, index, this.serverInstances);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Updates the entire system configuration with the provided partial configuration.
|
|
205
|
+
*
|
|
206
|
+
* @param newConfig - Partial system configuration containing updates
|
|
207
|
+
*/
|
|
208
|
+
async updateConfig(newConfig) {
|
|
209
|
+
const oldConfig = JSON.parse(JSON.stringify(this.config));
|
|
210
|
+
const convertedConfig = convertHttpToStreamableHttp(newConfig);
|
|
211
|
+
this.config = SystemConfigSchema.parse({ ...this.config, ...convertedConfig });
|
|
212
|
+
logConfigChanges(oldConfig, this.config);
|
|
213
|
+
this.persistConfig();
|
|
214
|
+
}
|
|
215
|
+
persistConfig() {
|
|
216
|
+
saveConfig(this.configPath, this.config);
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Synchronizes the in-memory configuration with the on-disk configuration file.
|
|
220
|
+
*/
|
|
221
|
+
async syncConfig() {
|
|
222
|
+
this.config = loadConfig(this.configPath);
|
|
223
|
+
this.initServerInstances();
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// Lazy initialization of configManager to avoid creating instance during module import
|
|
227
|
+
let _configManager = null;
|
|
228
|
+
/**
|
|
229
|
+
* Get the config manager instance
|
|
230
|
+
* In test environment, always creates a new instance to prevent test pollution
|
|
231
|
+
*/
|
|
232
|
+
export function getConfigManager() {
|
|
233
|
+
// In test environment, always create a new instance to ensure test isolation
|
|
234
|
+
if (process.env.VITEST === 'true' || process.env.NODE_ENV === 'test') {
|
|
235
|
+
const testConfigPath = process.env.MCP_HUB_CONFIG_PATH ||
|
|
236
|
+
path.join(os.tmpdir(), `mcp-hub-test-fallback-${Date.now()}`, '.mcp-hub.json');
|
|
237
|
+
return new ConfigManager(testConfigPath);
|
|
238
|
+
}
|
|
239
|
+
// In production, use singleton pattern
|
|
240
|
+
if (!_configManager) {
|
|
241
|
+
_configManager = new ConfigManager();
|
|
242
|
+
}
|
|
243
|
+
return _configManager;
|
|
244
|
+
}
|
|
245
|
+
// Export the getter function directly
|
|
246
|
+
export const configManager = getConfigManager();
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration saving utilities.
|
|
3
|
+
* Handles persisting configuration to disk with proper directory creation.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Saves the configuration to disk at the specified path.
|
|
7
|
+
*
|
|
8
|
+
* This function writes the current configuration to the configured file path,
|
|
9
|
+
* creating the directory structure if it doesn't exist. Errors during the save
|
|
10
|
+
* operation are silently ignored to prevent crashes during normal operation.
|
|
11
|
+
*
|
|
12
|
+
* @param configPath - Path to save the configuration file
|
|
13
|
+
* @param config - The configuration object to save
|
|
14
|
+
*/
|
|
15
|
+
export declare function saveConfig(configPath: string, config: unknown): void;
|
|
16
|
+
//# sourceMappingURL=config-saver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-saver.d.ts","sourceRoot":"","sources":["../../../../src/config/config-saver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAUpE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration saving utilities.
|
|
3
|
+
* Handles persisting configuration to disk with proper directory creation.
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Saves the configuration to disk at the specified path.
|
|
9
|
+
*
|
|
10
|
+
* This function writes the current configuration to the configured file path,
|
|
11
|
+
* creating the directory structure if it doesn't exist. Errors during the save
|
|
12
|
+
* operation are silently ignored to prevent crashes during normal operation.
|
|
13
|
+
*
|
|
14
|
+
* @param configPath - Path to save the configuration file
|
|
15
|
+
* @param config - The configuration object to save
|
|
16
|
+
*/
|
|
17
|
+
export function saveConfig(configPath, config) {
|
|
18
|
+
try {
|
|
19
|
+
const dir = path.dirname(configPath);
|
|
20
|
+
if (!fs.existsSync(dir)) {
|
|
21
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// Ignore
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { LogLevel } from '../../shared/types/common.types.js';
|
|
3
|
+
/**
|
|
4
|
+
* MCP Server Configuration Schema
|
|
5
|
+
* Simplified schema for MCP-HUB-LITE Lite version
|
|
6
|
+
*/
|
|
7
|
+
export declare const ServerConfigSchema: z.ZodObject<{
|
|
8
|
+
command: z.ZodOptional<z.ZodString>;
|
|
9
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
10
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
11
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
13
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
14
|
+
stdio: "stdio";
|
|
15
|
+
sse: "sse";
|
|
16
|
+
"streamable-http": "streamable-http";
|
|
17
|
+
http: "http";
|
|
18
|
+
}>>;
|
|
19
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
20
|
+
url: z.ZodOptional<z.ZodString>;
|
|
21
|
+
allowedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
22
|
+
description: z.ZodOptional<z.ZodString>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export declare const ServerInstanceConfigSchema: z.ZodObject<{
|
|
25
|
+
id: z.ZodString;
|
|
26
|
+
timestamp: z.ZodNumber;
|
|
27
|
+
hash: z.ZodString;
|
|
28
|
+
pid: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
startTime: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
}, z.core.$strip>;
|
|
31
|
+
/**
|
|
32
|
+
* Logging Configuration Schema
|
|
33
|
+
*/
|
|
34
|
+
export declare const LoggingConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
35
|
+
level: z.ZodDefault<z.ZodCustom<LogLevel, LogLevel>>;
|
|
36
|
+
rotationAge: z.ZodDefault<z.ZodString>;
|
|
37
|
+
jsonPretty: z.ZodDefault<z.ZodBoolean>;
|
|
38
|
+
mcpCommDebug: z.ZodDefault<z.ZodBoolean>;
|
|
39
|
+
sessionDebug: z.ZodDefault<z.ZodBoolean>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
/**
|
|
42
|
+
* Security Configuration Schema
|
|
43
|
+
*/
|
|
44
|
+
export declare const SecurityConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
45
|
+
allowedNetworks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
46
|
+
maxConcurrentConnections: z.ZodDefault<z.ZodNumber>;
|
|
47
|
+
connectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
48
|
+
idleConnectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
49
|
+
sessionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
50
|
+
sessionFlushInterval: z.ZodDefault<z.ZodNumber>;
|
|
51
|
+
maxConnections: z.ZodDefault<z.ZodNumber>;
|
|
52
|
+
}, z.core.$strip>>;
|
|
53
|
+
/**
|
|
54
|
+
* System Configuration Schema
|
|
55
|
+
*/
|
|
56
|
+
export declare const SystemConfigSchema: z.ZodObject<{
|
|
57
|
+
version: z.ZodDefault<z.ZodString>;
|
|
58
|
+
system: z.ZodDefault<z.ZodObject<{
|
|
59
|
+
host: z.ZodDefault<z.ZodString>;
|
|
60
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
61
|
+
language: z.ZodDefault<z.ZodEnum<{
|
|
62
|
+
zh: "zh";
|
|
63
|
+
en: "en";
|
|
64
|
+
}>>;
|
|
65
|
+
theme: z.ZodDefault<z.ZodEnum<{
|
|
66
|
+
light: "light";
|
|
67
|
+
dark: "dark";
|
|
68
|
+
system: "system";
|
|
69
|
+
}>>;
|
|
70
|
+
logging: z.ZodDefault<z.ZodObject<{
|
|
71
|
+
level: z.ZodDefault<z.ZodCustom<LogLevel, LogLevel>>;
|
|
72
|
+
rotationAge: z.ZodDefault<z.ZodString>;
|
|
73
|
+
jsonPretty: z.ZodDefault<z.ZodBoolean>;
|
|
74
|
+
mcpCommDebug: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
sessionDebug: z.ZodDefault<z.ZodBoolean>;
|
|
76
|
+
}, z.core.$strip>>;
|
|
77
|
+
}, z.core.$strip>>;
|
|
78
|
+
security: z.ZodDefault<z.ZodObject<{
|
|
79
|
+
allowedNetworks: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
80
|
+
maxConcurrentConnections: z.ZodDefault<z.ZodNumber>;
|
|
81
|
+
connectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
82
|
+
idleConnectionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
83
|
+
sessionTimeout: z.ZodDefault<z.ZodNumber>;
|
|
84
|
+
sessionFlushInterval: z.ZodDefault<z.ZodNumber>;
|
|
85
|
+
maxConnections: z.ZodDefault<z.ZodNumber>;
|
|
86
|
+
}, z.core.$strip>>;
|
|
87
|
+
servers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
88
|
+
command: z.ZodOptional<z.ZodString>;
|
|
89
|
+
args: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
90
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
91
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
92
|
+
tags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
93
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
94
|
+
stdio: "stdio";
|
|
95
|
+
sse: "sse";
|
|
96
|
+
"streamable-http": "streamable-http";
|
|
97
|
+
http: "http";
|
|
98
|
+
}>>;
|
|
99
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
100
|
+
url: z.ZodOptional<z.ZodString>;
|
|
101
|
+
allowedTools: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
102
|
+
description: z.ZodOptional<z.ZodString>;
|
|
103
|
+
}, z.core.$strip>>>;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
export type SystemConfig = z.infer<typeof SystemConfigSchema>;
|
|
106
|
+
export type ServerConfig = z.infer<typeof ServerConfigSchema>;
|
|
107
|
+
export type ServerInstanceConfig = z.infer<typeof ServerInstanceConfigSchema>;
|
|
108
|
+
//# sourceMappingURL=config.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../../../src/config/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D;;;GAGG;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAW7B,CAAC;AAGH,eAAO,MAAM,0BAA0B;;;;;;iBAMrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;kBAc5B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;kBA0B7B,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB7B,CAAC;AAGH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|