@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,103 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* MCP Server Configuration Schema
|
|
4
|
+
* Simplified schema for MCP-HUB-LITE Lite version
|
|
5
|
+
*/
|
|
6
|
+
// Server configuration schema (keyed by server name)
|
|
7
|
+
export const ServerConfigSchema = z.object({
|
|
8
|
+
command: z.string().optional(),
|
|
9
|
+
args: z.array(z.string()).default([]),
|
|
10
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
11
|
+
enabled: z.boolean().default(true),
|
|
12
|
+
tags: z.record(z.string(), z.string()).optional(),
|
|
13
|
+
type: z.enum(['stdio', 'sse', 'streamable-http', 'http']).default('stdio'),
|
|
14
|
+
timeout: z.number().default(60000),
|
|
15
|
+
url: z.string().optional(),
|
|
16
|
+
allowedTools: z.array(z.string()).default([]),
|
|
17
|
+
description: z.string().optional()
|
|
18
|
+
});
|
|
19
|
+
// Server instance schema (each instance contains id, timestamp, hash)
|
|
20
|
+
export const ServerInstanceConfigSchema = z.object({
|
|
21
|
+
id: z.string(),
|
|
22
|
+
timestamp: z.number(), // Startup time
|
|
23
|
+
hash: z.string(),
|
|
24
|
+
pid: z.number().optional(), // Process ID
|
|
25
|
+
startTime: z.number().optional() // Startup time (same as timestamp, for compatibility)
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Logging Configuration Schema
|
|
29
|
+
*/
|
|
30
|
+
export const LoggingConfigSchema = z
|
|
31
|
+
.object({
|
|
32
|
+
level: z.custom().default('info'),
|
|
33
|
+
rotationAge: z.string().default('7d'), // e.g., "7d", "30d"
|
|
34
|
+
jsonPretty: z.boolean().default(true), // Enable pretty JSON formatting in logs
|
|
35
|
+
mcpCommDebug: z.boolean().default(false), // Enable MCP communication debug logging
|
|
36
|
+
sessionDebug: z.boolean().default(false) // Enable session debug logging
|
|
37
|
+
})
|
|
38
|
+
.default({
|
|
39
|
+
level: 'info',
|
|
40
|
+
rotationAge: '7d',
|
|
41
|
+
jsonPretty: true,
|
|
42
|
+
mcpCommDebug: false,
|
|
43
|
+
sessionDebug: false
|
|
44
|
+
});
|
|
45
|
+
/**
|
|
46
|
+
* Security Configuration Schema
|
|
47
|
+
*/
|
|
48
|
+
export const SecurityConfigSchema = z
|
|
49
|
+
.object({
|
|
50
|
+
allowedNetworks: z
|
|
51
|
+
.array(z.string())
|
|
52
|
+
.default(['127.0.0.1', '192.168.0.0/16', '10.0.0.0/8', '172.16.0.0/12']),
|
|
53
|
+
maxConcurrentConnections: z.number().min(1).max(1000).default(50),
|
|
54
|
+
connectionTimeout: z.number().min(1000).default(30000),
|
|
55
|
+
idleConnectionTimeout: z.number().min(30000).default(300000),
|
|
56
|
+
sessionTimeout: z
|
|
57
|
+
.number()
|
|
58
|
+
.min(60000)
|
|
59
|
+
.default(30 * 60 * 1000), // Default 30 minutes, min 1 minute
|
|
60
|
+
sessionFlushInterval: z
|
|
61
|
+
.number()
|
|
62
|
+
.min(1000)
|
|
63
|
+
.default(15 * 60 * 1000), // Default 15 minutes, min 1 second
|
|
64
|
+
maxConnections: z.number().min(1).max(1000).default(50)
|
|
65
|
+
})
|
|
66
|
+
.default({
|
|
67
|
+
allowedNetworks: ['127.0.0.1', '192.168.0.0/16', '10.0.0.0/8', '172.16.0.0/12'],
|
|
68
|
+
maxConcurrentConnections: 50,
|
|
69
|
+
connectionTimeout: 30000,
|
|
70
|
+
idleConnectionTimeout: 300000,
|
|
71
|
+
sessionTimeout: 30 * 60 * 1000,
|
|
72
|
+
sessionFlushInterval: 15 * 60 * 1000,
|
|
73
|
+
maxConnections: 50
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* System Configuration Schema
|
|
77
|
+
*/
|
|
78
|
+
export const SystemConfigSchema = z.object({
|
|
79
|
+
version: z.string().default('1.0.0'),
|
|
80
|
+
system: z
|
|
81
|
+
.object({
|
|
82
|
+
host: z.string().default('localhost'),
|
|
83
|
+
port: z.number().default(7788),
|
|
84
|
+
language: z.enum(['zh', 'en']).default('zh'),
|
|
85
|
+
theme: z.enum(['light', 'dark', 'system']).default('system'),
|
|
86
|
+
logging: LoggingConfigSchema
|
|
87
|
+
})
|
|
88
|
+
.default({
|
|
89
|
+
host: 'localhost',
|
|
90
|
+
port: 7788,
|
|
91
|
+
language: 'zh',
|
|
92
|
+
theme: 'system',
|
|
93
|
+
logging: {
|
|
94
|
+
level: 'info',
|
|
95
|
+
rotationAge: '7d',
|
|
96
|
+
jsonPretty: true,
|
|
97
|
+
mcpCommDebug: false,
|
|
98
|
+
sessionDebug: false
|
|
99
|
+
}
|
|
100
|
+
}),
|
|
101
|
+
security: SecurityConfigSchema,
|
|
102
|
+
servers: z.record(z.string(), ServerConfigSchema).default({})
|
|
103
|
+
});
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server configuration management utilities.
|
|
3
|
+
* Handles CRUD operations for server configurations and instances.
|
|
4
|
+
*/
|
|
5
|
+
import type { ServerConfig, ServerInstanceConfig } from './config.schema.js';
|
|
6
|
+
/**
|
|
7
|
+
* Adds multiple server configurations to the system in a single operation.
|
|
8
|
+
*
|
|
9
|
+
* @param servers - Array of server objects containing name and partial configuration
|
|
10
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
11
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
12
|
+
* @returns The updated servers configuration
|
|
13
|
+
*/
|
|
14
|
+
export declare function addServers(servers: Array<{
|
|
15
|
+
name: string;
|
|
16
|
+
config: Partial<ServerConfig>;
|
|
17
|
+
}>, currentServers: Record<string, ServerConfig>, serverInstances: Record<string, ServerInstanceConfig[]>): Record<string, ServerConfig>;
|
|
18
|
+
/**
|
|
19
|
+
* Adds a new server configuration to the system.
|
|
20
|
+
*
|
|
21
|
+
* @param name - The unique name for the server
|
|
22
|
+
* @param config - The server configuration (partial, will be validated)
|
|
23
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
24
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
25
|
+
* @returns The validated and complete server configuration
|
|
26
|
+
*/
|
|
27
|
+
export declare function addServer(name: string, config: Partial<ServerConfig>, currentServers: Record<string, ServerConfig>, serverInstances: Record<string, ServerInstanceConfig[]>): ServerConfig;
|
|
28
|
+
/**
|
|
29
|
+
* Adds a new server instance for the specified server.
|
|
30
|
+
*
|
|
31
|
+
* @param name - The name of the server to add an instance for
|
|
32
|
+
* @param instance - The server instance configuration (partial, will be validated)
|
|
33
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
34
|
+
* @returns The validated and complete server instance configuration
|
|
35
|
+
*/
|
|
36
|
+
export declare function addServerInstance(name: string, instance: Partial<ServerInstanceConfig>, serverInstances: Record<string, ServerInstanceConfig[]>): ServerInstanceConfig;
|
|
37
|
+
/**
|
|
38
|
+
* Updates an existing server configuration with the provided changes.
|
|
39
|
+
*
|
|
40
|
+
* @param name - The name of the server to update
|
|
41
|
+
* @param updates - The partial configuration updates to apply
|
|
42
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
43
|
+
* @returns True if the server was updated, false if it didn't exist
|
|
44
|
+
*/
|
|
45
|
+
export declare function updateServer(name: string, updates: Partial<ServerConfig>, currentServers: Record<string, ServerConfig>): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Updates an existing server instance configuration with the provided changes.
|
|
48
|
+
*
|
|
49
|
+
* @param name - The name of the server containing the instance to update
|
|
50
|
+
* @param index - The index of the instance to update in the instances array
|
|
51
|
+
* @param updates - The partial instance configuration updates to apply
|
|
52
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
53
|
+
* @returns True if the instance was updated, false if it didn't exist
|
|
54
|
+
*/
|
|
55
|
+
export declare function updateServerInstance(name: string, index: number, updates: Partial<ServerInstanceConfig>, serverInstances: Record<string, ServerInstanceConfig[]>): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Removes a server configuration and all its instances from the system.
|
|
58
|
+
*
|
|
59
|
+
* @param name - The name of the server to remove
|
|
60
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
61
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
62
|
+
* @returns True if the server was removed, false if it didn't exist
|
|
63
|
+
*/
|
|
64
|
+
export declare function removeServer(name: string, currentServers: Record<string, ServerConfig>, serverInstances: Record<string, ServerInstanceConfig[]>): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Removes a specific server instance from the system.
|
|
67
|
+
*
|
|
68
|
+
* @param name - The name of the server containing the instance to remove
|
|
69
|
+
* @param index - The index of the instance to remove from the instances array
|
|
70
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
71
|
+
* @returns True if the instance was removed, false if it didn't exist
|
|
72
|
+
*/
|
|
73
|
+
export declare function removeServerInstance(name: string, index: number, serverInstances: Record<string, ServerInstanceConfig[]>): boolean;
|
|
74
|
+
//# sourceMappingURL=server-config-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-config-manager.d.ts","sourceRoot":"","sources":["../../../../src/config/server-config-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAc7E;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAAE,CAAC,EAC/D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC5C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACtD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAU9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,EAC7B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC5C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACtD,YAAY,CAiBd;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACvC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACtD,oBAAoB,CActB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAC3C,OAAO,CAkBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACtD,OAAO,CAMT;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EAC5C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACtD,OAAO,CAiBT;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GACtD,OAAO,CAST"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server configuration management utilities.
|
|
3
|
+
* Handles CRUD operations for server configurations and instances.
|
|
4
|
+
*/
|
|
5
|
+
import { ServerConfigSchema, ServerInstanceConfigSchema } from './config.schema.js';
|
|
6
|
+
import { convertHttpToStreamableHttp } from './type-converter.js';
|
|
7
|
+
/**
|
|
8
|
+
* Generates a unique server instance ID.
|
|
9
|
+
*
|
|
10
|
+
* @param serverName - Name of the server
|
|
11
|
+
* @returns A unique instance ID
|
|
12
|
+
*/
|
|
13
|
+
function generateInstanceId(serverName) {
|
|
14
|
+
const ts = Date.now();
|
|
15
|
+
return `${serverName}-${ts}-${Math.random().toString(36).substr(2, 5)}`;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Adds multiple server configurations to the system in a single operation.
|
|
19
|
+
*
|
|
20
|
+
* @param servers - Array of server objects containing name and partial configuration
|
|
21
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
22
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
23
|
+
* @returns The updated servers configuration
|
|
24
|
+
*/
|
|
25
|
+
export function addServers(servers, currentServers, serverInstances) {
|
|
26
|
+
for (const { name, config } of servers) {
|
|
27
|
+
// Unified type conversion: convert http to streamable-http
|
|
28
|
+
const convertedConfig = convertHttpToStreamableHttp(config);
|
|
29
|
+
currentServers[name] = ServerConfigSchema.parse(convertedConfig);
|
|
30
|
+
if (!serverInstances[name])
|
|
31
|
+
serverInstances[name] = [];
|
|
32
|
+
}
|
|
33
|
+
// Ensure server configurations are sorted by name
|
|
34
|
+
return Object.fromEntries(Object.entries(currentServers).sort(([a], [b]) => a.localeCompare(b)));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Adds a new server configuration to the system.
|
|
38
|
+
*
|
|
39
|
+
* @param name - The unique name for the server
|
|
40
|
+
* @param config - The server configuration (partial, will be validated)
|
|
41
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
42
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
43
|
+
* @returns The validated and complete server configuration
|
|
44
|
+
*/
|
|
45
|
+
export function addServer(name, config, currentServers, serverInstances) {
|
|
46
|
+
// Unified type conversion: convert http to streamable-http
|
|
47
|
+
const convertedConfig = convertHttpToStreamableHttp(config);
|
|
48
|
+
const validated = ServerConfigSchema.parse(convertedConfig);
|
|
49
|
+
currentServers[name] = validated;
|
|
50
|
+
if (!serverInstances[name])
|
|
51
|
+
serverInstances[name] = [];
|
|
52
|
+
// Ensure server configurations are sorted by name
|
|
53
|
+
const sortedServers = Object.fromEntries(Object.entries(currentServers).sort(([a], [b]) => a.localeCompare(b)));
|
|
54
|
+
// Update the reference
|
|
55
|
+
Object.keys(currentServers).forEach((key) => delete currentServers[key]);
|
|
56
|
+
Object.assign(currentServers, sortedServers);
|
|
57
|
+
return validated;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Adds a new server instance for the specified server.
|
|
61
|
+
*
|
|
62
|
+
* @param name - The name of the server to add an instance for
|
|
63
|
+
* @param instance - The server instance configuration (partial, will be validated)
|
|
64
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
65
|
+
* @returns The validated and complete server instance configuration
|
|
66
|
+
*/
|
|
67
|
+
export function addServerInstance(name, instance, serverInstances) {
|
|
68
|
+
if (!serverInstances[name])
|
|
69
|
+
serverInstances[name] = [];
|
|
70
|
+
// Minimal identity generation logic
|
|
71
|
+
if (!instance.id) {
|
|
72
|
+
const ts = Date.now();
|
|
73
|
+
instance.id = generateInstanceId(name);
|
|
74
|
+
instance.timestamp = ts;
|
|
75
|
+
instance.hash = Math.random().toString(36);
|
|
76
|
+
}
|
|
77
|
+
const validated = ServerInstanceConfigSchema.parse(instance);
|
|
78
|
+
serverInstances[name].push(validated);
|
|
79
|
+
return validated;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Updates an existing server configuration with the provided changes.
|
|
83
|
+
*
|
|
84
|
+
* @param name - The name of the server to update
|
|
85
|
+
* @param updates - The partial configuration updates to apply
|
|
86
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
87
|
+
* @returns True if the server was updated, false if it didn't exist
|
|
88
|
+
*/
|
|
89
|
+
export function updateServer(name, updates, currentServers) {
|
|
90
|
+
if (currentServers[name]) {
|
|
91
|
+
// Unified type conversion: convert http to streamable-http
|
|
92
|
+
const convertedUpdates = convertHttpToStreamableHttp(updates);
|
|
93
|
+
currentServers[name] = { ...currentServers[name], ...convertedUpdates };
|
|
94
|
+
// Ensure server configurations are sorted by name
|
|
95
|
+
const sortedServers = Object.fromEntries(Object.entries(currentServers).sort(([a], [b]) => a.localeCompare(b)));
|
|
96
|
+
// Update the reference
|
|
97
|
+
Object.keys(currentServers).forEach((key) => delete currentServers[key]);
|
|
98
|
+
Object.assign(currentServers, sortedServers);
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Updates an existing server instance configuration with the provided changes.
|
|
105
|
+
*
|
|
106
|
+
* @param name - The name of the server containing the instance to update
|
|
107
|
+
* @param index - The index of the instance to update in the instances array
|
|
108
|
+
* @param updates - The partial instance configuration updates to apply
|
|
109
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
110
|
+
* @returns True if the instance was updated, false if it didn't exist
|
|
111
|
+
*/
|
|
112
|
+
export function updateServerInstance(name, index, updates, serverInstances) {
|
|
113
|
+
if (serverInstances[name]?.[index]) {
|
|
114
|
+
serverInstances[name][index] = { ...serverInstances[name][index], ...updates };
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Removes a server configuration and all its instances from the system.
|
|
121
|
+
*
|
|
122
|
+
* @param name - The name of the server to remove
|
|
123
|
+
* @param currentServers - Current servers configuration object (will be modified)
|
|
124
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
125
|
+
* @returns True if the server was removed, false if it didn't exist
|
|
126
|
+
*/
|
|
127
|
+
export function removeServer(name, currentServers, serverInstances) {
|
|
128
|
+
if (currentServers[name]) {
|
|
129
|
+
delete currentServers[name];
|
|
130
|
+
delete serverInstances[name];
|
|
131
|
+
// Ensure server configurations are sorted by name
|
|
132
|
+
const sortedServers = Object.fromEntries(Object.entries(currentServers).sort(([a], [b]) => a.localeCompare(b)));
|
|
133
|
+
// Update the reference
|
|
134
|
+
Object.keys(currentServers).forEach((key) => delete currentServers[key]);
|
|
135
|
+
Object.assign(currentServers, sortedServers);
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Removes a specific server instance from the system.
|
|
142
|
+
*
|
|
143
|
+
* @param name - The name of the server containing the instance to remove
|
|
144
|
+
* @param index - The index of the instance to remove from the instances array
|
|
145
|
+
* @param serverInstances - Current server instances record (will be modified)
|
|
146
|
+
* @returns True if the instance was removed, false if it didn't exist
|
|
147
|
+
*/
|
|
148
|
+
export function removeServerInstance(name, index, serverInstances) {
|
|
149
|
+
if (serverInstances[name]) {
|
|
150
|
+
serverInstances[name].splice(index, 1);
|
|
151
|
+
if (serverInstances[name].length === 0) {
|
|
152
|
+
delete serverInstances[name];
|
|
153
|
+
}
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type conversion utilities for configuration management.
|
|
3
|
+
* Handles backward compatibility type conversions.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Unified type conversion method: convert type: 'http' to type: 'streamable-http'
|
|
7
|
+
* Ensure compatibility across all scenarios (loading, adding, updating)
|
|
8
|
+
*
|
|
9
|
+
* @param config - The configuration object to convert
|
|
10
|
+
* @returns The converted configuration object
|
|
11
|
+
*/
|
|
12
|
+
export declare function convertHttpToStreamableHttp(config: unknown): unknown;
|
|
13
|
+
//# sourceMappingURL=type-converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-converter.d.ts","sourceRoot":"","sources":["../../../../src/config/type-converter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CA2BpE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type conversion utilities for configuration management.
|
|
3
|
+
* Handles backward compatibility type conversions.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Unified type conversion method: convert type: 'http' to type: 'streamable-http'
|
|
7
|
+
* Ensure compatibility across all scenarios (loading, adding, updating)
|
|
8
|
+
*
|
|
9
|
+
* @param config - The configuration object to convert
|
|
10
|
+
* @returns The converted configuration object
|
|
11
|
+
*/
|
|
12
|
+
export function convertHttpToStreamableHttp(config) {
|
|
13
|
+
if (!config)
|
|
14
|
+
return config;
|
|
15
|
+
// If it's an array, process each element
|
|
16
|
+
if (Array.isArray(config)) {
|
|
17
|
+
return config.map((item) => convertHttpToStreamableHttp(item));
|
|
18
|
+
}
|
|
19
|
+
// If it's an object, create a copy to avoid directly modifying the original object
|
|
20
|
+
if (typeof config === 'object' && config !== null) {
|
|
21
|
+
const result = {};
|
|
22
|
+
for (const [key, value] of Object.entries(config)) {
|
|
23
|
+
if (key === 'type' && value === 'http') {
|
|
24
|
+
result[key] = 'streamable-http';
|
|
25
|
+
}
|
|
26
|
+
else if (typeof value === 'object' && value !== null) {
|
|
27
|
+
result[key] = convertHttpToStreamableHttp(value);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
result[key] = value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
// Return primitive types directly
|
|
36
|
+
return config;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":""}
|