@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,164 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { getServerStatus } from '../server.js';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
/**
|
|
5
|
+
* CLI command for retrieving the current status of the MCP Hub Lite server.
|
|
6
|
+
*
|
|
7
|
+
* This command provides comprehensive information about the running MCP Hub Lite instance,
|
|
8
|
+
* including process details, configuration status, and managed MCP servers. It is designed
|
|
9
|
+
* to help users monitor their MCP gateway service and troubleshoot any operational issues.
|
|
10
|
+
*
|
|
11
|
+
* The status command performs the following functions:
|
|
12
|
+
* - Checks if the MCP Hub Lite process is currently running
|
|
13
|
+
* - Retrieves the process ID (PID) from the PID file
|
|
14
|
+
* - Displays the configured host and port settings
|
|
15
|
+
* - Shows the current MCP integration endpoint configuration
|
|
16
|
+
* - Lists all managed MCP servers and their connection status
|
|
17
|
+
* - Provides detailed operational status information
|
|
18
|
+
*
|
|
19
|
+
* Usage scenarios:
|
|
20
|
+
* - Verifying that the MCP Hub Lite service is running correctly
|
|
21
|
+
* - Debugging connection issues with managed MCP servers
|
|
22
|
+
* - Monitoring system health and resource usage
|
|
23
|
+
* - Validating configuration after changes or updates
|
|
24
|
+
* - Checking the status before performing maintenance operations
|
|
25
|
+
*
|
|
26
|
+
* The command supports an optional --pid parameter to check a specific process ID,
|
|
27
|
+
* which is useful when multiple instances might be running or when the PID file
|
|
28
|
+
* is unavailable or corrupted.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Basic usage - check default instance
|
|
32
|
+
* mcp-hub-lite status
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* // Check specific process ID
|
|
36
|
+
* mcp-hub-lite status --pid 12345
|
|
37
|
+
*
|
|
38
|
+
* @returns {Command} The configured status command instance for registration with Commander.js
|
|
39
|
+
*/
|
|
40
|
+
export const statusCommand = new Command('status')
|
|
41
|
+
.description('Get the status of MCP Hub Lite server')
|
|
42
|
+
.option('--pid <pid>', 'PID of the server to check')
|
|
43
|
+
.action(async (options) => {
|
|
44
|
+
try {
|
|
45
|
+
const status = await getServerStatus(options.pid);
|
|
46
|
+
printFormattedStatus(status);
|
|
47
|
+
process.exit(0);
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error('Failed to get server status:', error);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Prints formatted status output with emojis and sections.
|
|
56
|
+
*
|
|
57
|
+
* @param status - The enhanced server status object to display
|
|
58
|
+
*/
|
|
59
|
+
function printFormattedStatus(status) {
|
|
60
|
+
// ANSI color codes
|
|
61
|
+
const reset = '\x1b[0m';
|
|
62
|
+
const green = '\x1b[32m';
|
|
63
|
+
const red = '\x1b[31m';
|
|
64
|
+
const yellow = '\x1b[33m';
|
|
65
|
+
const cyan = '\x1b[36m';
|
|
66
|
+
const dim = '\x1b[2m';
|
|
67
|
+
const webUiUrl = `http://${status.host}:${status.port}`;
|
|
68
|
+
const mcpEndpoint = `${webUiUrl}/mcp`;
|
|
69
|
+
// Main header
|
|
70
|
+
console.log('');
|
|
71
|
+
console.log(`${cyan}📊 MCP Hub Lite - System Status${reset}`);
|
|
72
|
+
console.log(`${dim}════════════════════════════════════${reset}`);
|
|
73
|
+
// Status section
|
|
74
|
+
const statusIcon = status.running ? `${green}✅${reset}` : `${red}❌${reset}`;
|
|
75
|
+
const statusText = status.running ? 'Running' : 'Stopped';
|
|
76
|
+
console.log(`${statusIcon} Status: ${status.running ? green : red}${statusText}${reset}`);
|
|
77
|
+
if (status.pid) {
|
|
78
|
+
console.log(`🆔 Process ID: ${cyan}${status.pid}${reset}`);
|
|
79
|
+
}
|
|
80
|
+
console.log(`🌐 Host: ${cyan}${status.host}${reset}`);
|
|
81
|
+
console.log(`🔌 Port: ${cyan}${status.port}${reset}`);
|
|
82
|
+
console.log(`📡 Web UI: ${cyan}${webUiUrl}${reset}`);
|
|
83
|
+
console.log(`🔗 MCP Endpoint: ${cyan}${mcpEndpoint}${reset}`);
|
|
84
|
+
console.log(`📄 PID File: ${dim}${formatPath(status.pidFilePath)}${reset}`);
|
|
85
|
+
// MCP Servers section
|
|
86
|
+
if (status.mcpServers && status.mcpServers.length > 0) {
|
|
87
|
+
console.log('');
|
|
88
|
+
console.log(`${yellow}MCP Servers:${reset}`);
|
|
89
|
+
console.log(`${dim}═════════════${reset}`);
|
|
90
|
+
// Calculate column widths
|
|
91
|
+
let maxNameLen = 'Server Name'.length;
|
|
92
|
+
let maxTypeLen = 'Type'.length;
|
|
93
|
+
const maxStatusLen = 'Disconnected'.length;
|
|
94
|
+
for (const server of status.mcpServers) {
|
|
95
|
+
maxNameLen = Math.max(maxNameLen, (server.name || '').length);
|
|
96
|
+
maxTypeLen = Math.max(maxTypeLen, (server.type || '').length);
|
|
97
|
+
}
|
|
98
|
+
// Simple table without complex borders
|
|
99
|
+
const headerName = 'Server Name'.padEnd(maxNameLen);
|
|
100
|
+
const headerType = 'Type'.padEnd(maxTypeLen);
|
|
101
|
+
const headerStatus = 'Status'.padEnd(maxStatusLen);
|
|
102
|
+
console.log(`${cyan}${headerName} ${headerType} ${headerStatus} Tools Resources${reset}`);
|
|
103
|
+
console.log(`${dim}${'─'.repeat(maxNameLen + maxTypeLen + maxStatusLen + 20)}${reset}`);
|
|
104
|
+
for (const server of status.mcpServers) {
|
|
105
|
+
const name = (server.name || '').padEnd(maxNameLen);
|
|
106
|
+
const type = (server.type || '').padEnd(maxTypeLen);
|
|
107
|
+
const statusText = server.connected
|
|
108
|
+
? `${green}Connected${reset}`.padEnd(maxStatusLen + 9)
|
|
109
|
+
: `${red}Disconnected${reset}`.padEnd(maxStatusLen + 9);
|
|
110
|
+
const tools = server.toolsCount.toString().padStart(5);
|
|
111
|
+
const resources = server.resourcesCount.toString().padStart(9);
|
|
112
|
+
console.log(`${name} ${type} ${statusText} ${tools} ${resources}`);
|
|
113
|
+
if (server.error) {
|
|
114
|
+
console.log(` ${red}Error: ${server.error}${reset}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// MCP Client Configuration
|
|
119
|
+
console.log('');
|
|
120
|
+
console.log(`${yellow}🔌 MCP Client Configuration:${reset}`);
|
|
121
|
+
console.log(`${dim}═══════════════════════════════${reset}`);
|
|
122
|
+
console.log('Add this to your MCP client config:');
|
|
123
|
+
console.log('');
|
|
124
|
+
console.log(`${dim}{${reset}`);
|
|
125
|
+
console.log(`${dim} "mcpServers": {${reset}`);
|
|
126
|
+
console.log(`${dim} "mcp-hub-lite": {${reset}`);
|
|
127
|
+
console.log(`${dim} "url": "${cyan}${mcpEndpoint}${dim}"${reset}`);
|
|
128
|
+
console.log(`${dim} }${reset}`);
|
|
129
|
+
console.log(`${dim} }${reset}`);
|
|
130
|
+
console.log(`${dim}}${reset}`);
|
|
131
|
+
// Quick Commands
|
|
132
|
+
console.log('');
|
|
133
|
+
console.log(`${yellow}💡 Quick Commands:${reset}`);
|
|
134
|
+
console.log(` ${cyan}mcp-hub-lite ui${reset} ${dim}# Open web interface${reset}`);
|
|
135
|
+
console.log(` ${cyan}mcp-hub-lite list${reset} ${dim}# List all MCP servers${reset}`);
|
|
136
|
+
if (status.running) {
|
|
137
|
+
console.log(` ${cyan}mcp-hub-lite stop${reset} ${dim}# Stop the server${reset}`);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.log(` ${cyan}mcp-hub-lite start${reset} ${dim}# Start the server${reset}`);
|
|
141
|
+
}
|
|
142
|
+
console.log('');
|
|
143
|
+
// Final message
|
|
144
|
+
if (status.running) {
|
|
145
|
+
console.log(`${green}🚀 Ready to use!${reset}`);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log(`${yellow}⏸️ Server not running. Use "mcp-hub-lite start" to start it.${reset}`);
|
|
149
|
+
}
|
|
150
|
+
console.log('');
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Formats a file path for display, replacing home directory with ~.
|
|
154
|
+
*
|
|
155
|
+
* @param filePath - The full file path to format
|
|
156
|
+
* @returns Formatted path with ~ for home directory
|
|
157
|
+
*/
|
|
158
|
+
function formatPath(filePath) {
|
|
159
|
+
const homeDir = os.homedir();
|
|
160
|
+
if (filePath.startsWith(homeDir)) {
|
|
161
|
+
return '~' + filePath.slice(homeDir.length);
|
|
162
|
+
}
|
|
163
|
+
return filePath;
|
|
164
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stop command implementation for MCP Hub Lite CLI.
|
|
3
|
+
*
|
|
4
|
+
* This command handles the graceful shutdown of the MCP Hub Lite server.
|
|
5
|
+
* It can stop either the currently running server instance or a specific
|
|
6
|
+
* server process identified by PID.
|
|
7
|
+
*
|
|
8
|
+
* @module cli/commands/stop
|
|
9
|
+
*/
|
|
10
|
+
import { Command } from 'commander';
|
|
11
|
+
/**
|
|
12
|
+
* Creates and configures the stop command for the CLI.
|
|
13
|
+
*
|
|
14
|
+
* The stop command gracefully terminates the MCP Hub Lite server process,
|
|
15
|
+
* ensuring proper cleanup of resources, active connections, and persistent
|
|
16
|
+
* session data. It reads the PID from the PID file or accepts a specific
|
|
17
|
+
* PID as an option.
|
|
18
|
+
*
|
|
19
|
+
* Available options:
|
|
20
|
+
* - `--pid`: Specify a specific PID to stop (optional)
|
|
21
|
+
*
|
|
22
|
+
* @returns {Command} Configured Commander.js command instance
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```bash
|
|
26
|
+
* # Stop the currently running server
|
|
27
|
+
* mcp-hub-lite stop
|
|
28
|
+
*
|
|
29
|
+
* # Stop a specific server process by PID
|
|
30
|
+
* mcp-hub-lite stop --pid 12345
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare const stopCommand: Command;
|
|
34
|
+
//# sourceMappingURL=stop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/stop.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,SAYpB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stop command implementation for MCP Hub Lite CLI.
|
|
3
|
+
*
|
|
4
|
+
* This command handles the graceful shutdown of the MCP Hub Lite server.
|
|
5
|
+
* It can stop either the currently running server instance or a specific
|
|
6
|
+
* server process identified by PID.
|
|
7
|
+
*
|
|
8
|
+
* @module cli/commands/stop
|
|
9
|
+
*/
|
|
10
|
+
import { Command } from 'commander';
|
|
11
|
+
import { stopServer } from '../server.js';
|
|
12
|
+
/**
|
|
13
|
+
* Creates and configures the stop command for the CLI.
|
|
14
|
+
*
|
|
15
|
+
* The stop command gracefully terminates the MCP Hub Lite server process,
|
|
16
|
+
* ensuring proper cleanup of resources, active connections, and persistent
|
|
17
|
+
* session data. It reads the PID from the PID file or accepts a specific
|
|
18
|
+
* PID as an option.
|
|
19
|
+
*
|
|
20
|
+
* Available options:
|
|
21
|
+
* - `--pid`: Specify a specific PID to stop (optional)
|
|
22
|
+
*
|
|
23
|
+
* @returns {Command} Configured Commander.js command instance
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```bash
|
|
27
|
+
* # Stop the currently running server
|
|
28
|
+
* mcp-hub-lite stop
|
|
29
|
+
*
|
|
30
|
+
* # Stop a specific server process by PID
|
|
31
|
+
* mcp-hub-lite stop --pid 12345
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export const stopCommand = new Command('stop')
|
|
35
|
+
.description('Stop the MCP Hub Lite server')
|
|
36
|
+
.option('--pid <pid>', 'PID of the server to stop')
|
|
37
|
+
.action(async (options) => {
|
|
38
|
+
try {
|
|
39
|
+
await stopServer(options.pid);
|
|
40
|
+
console.log('MCP Hub Lite server stopped successfully');
|
|
41
|
+
process.exit(0);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error('Failed to stop server:', error);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* CLI command to open the MCP Hub Lite web user interface in the default system browser.
|
|
4
|
+
*
|
|
5
|
+
* This command provides a convenient way for users to access the web-based management
|
|
6
|
+
* interface without manually typing the URL. It automatically constructs the URL using
|
|
7
|
+
* the specified host and port options, then opens it in the user's default browser.
|
|
8
|
+
*
|
|
9
|
+
* The command is designed to work with both local development instances and production
|
|
10
|
+
* deployments, allowing users to easily access the UI regardless of the server configuration.
|
|
11
|
+
*
|
|
12
|
+
* Priority order for host and port resolution:
|
|
13
|
+
* 1. Command line options (--host, --port)
|
|
14
|
+
* 2. Environment variables (HOST, PORT)
|
|
15
|
+
* 3. Configuration file settings
|
|
16
|
+
* 4. Default values (localhost:7788)
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```bash
|
|
20
|
+
* # Open UI with configured settings from .mcp-hub.json
|
|
21
|
+
* mcp-hub-lite ui
|
|
22
|
+
*
|
|
23
|
+
* # Open UI on a specific port
|
|
24
|
+
* mcp-hub-lite ui --port 7788
|
|
25
|
+
*
|
|
26
|
+
* # Open UI on a specific host and port
|
|
27
|
+
* mcp-hub-lite ui --host 192.168.1.100 --port 8080
|
|
28
|
+
*
|
|
29
|
+
* # Using short option flags
|
|
30
|
+
* mcp-hub-lite ui -p 7788 -h my-server.local
|
|
31
|
+
*
|
|
32
|
+
* # Using environment variables
|
|
33
|
+
* PORT=9999 mcp-hub-lite ui
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @command ui
|
|
37
|
+
* @description Opens the MCP Hub Lite web UI in the default system browser
|
|
38
|
+
* @option {string} -p, --port <port> - Port where the MCP Hub Lite server is running
|
|
39
|
+
* @option {string} -h, --host <host> - Host where the MCP Hub Lite server is running
|
|
40
|
+
* @throws {Error} If the browser fails to open or the system encounters an error during execution
|
|
41
|
+
* @returns {Promise<void>} Resolves when the browser has been successfully opened
|
|
42
|
+
*/
|
|
43
|
+
export declare const uiCommand: Command;
|
|
44
|
+
//# sourceMappingURL=ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,SAAS,SAmDlB,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { exec } from 'child_process';
|
|
3
|
+
import { getConfigManager } from '../../config/config-manager.js';
|
|
4
|
+
/**
|
|
5
|
+
* CLI command to open the MCP Hub Lite web user interface in the default system browser.
|
|
6
|
+
*
|
|
7
|
+
* This command provides a convenient way for users to access the web-based management
|
|
8
|
+
* interface without manually typing the URL. It automatically constructs the URL using
|
|
9
|
+
* the specified host and port options, then opens it in the user's default browser.
|
|
10
|
+
*
|
|
11
|
+
* The command is designed to work with both local development instances and production
|
|
12
|
+
* deployments, allowing users to easily access the UI regardless of the server configuration.
|
|
13
|
+
*
|
|
14
|
+
* Priority order for host and port resolution:
|
|
15
|
+
* 1. Command line options (--host, --port)
|
|
16
|
+
* 2. Environment variables (HOST, PORT)
|
|
17
|
+
* 3. Configuration file settings
|
|
18
|
+
* 4. Default values (localhost:7788)
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```bash
|
|
22
|
+
* # Open UI with configured settings from .mcp-hub.json
|
|
23
|
+
* mcp-hub-lite ui
|
|
24
|
+
*
|
|
25
|
+
* # Open UI on a specific port
|
|
26
|
+
* mcp-hub-lite ui --port 7788
|
|
27
|
+
*
|
|
28
|
+
* # Open UI on a specific host and port
|
|
29
|
+
* mcp-hub-lite ui --host 192.168.1.100 --port 8080
|
|
30
|
+
*
|
|
31
|
+
* # Using short option flags
|
|
32
|
+
* mcp-hub-lite ui -p 7788 -h my-server.local
|
|
33
|
+
*
|
|
34
|
+
* # Using environment variables
|
|
35
|
+
* PORT=9999 mcp-hub-lite ui
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @command ui
|
|
39
|
+
* @description Opens the MCP Hub Lite web UI in the default system browser
|
|
40
|
+
* @option {string} -p, --port <port> - Port where the MCP Hub Lite server is running
|
|
41
|
+
* @option {string} -h, --host <host> - Host where the MCP Hub Lite server is running
|
|
42
|
+
* @throws {Error} If the browser fails to open or the system encounters an error during execution
|
|
43
|
+
* @returns {Promise<void>} Resolves when the browser has been successfully opened
|
|
44
|
+
*/
|
|
45
|
+
export const uiCommand = new Command('ui')
|
|
46
|
+
.description('Open the MCP Hub Lite web UI in browser')
|
|
47
|
+
.option('-p, --port <port>', 'Port where server is running')
|
|
48
|
+
.option('-h, --host <host>', 'Host where server is running')
|
|
49
|
+
.action(async (options) => {
|
|
50
|
+
try {
|
|
51
|
+
const configManager = getConfigManager();
|
|
52
|
+
const config = configManager.getConfig();
|
|
53
|
+
// Priority: command line options > environment variables > config file > defaults
|
|
54
|
+
const host = options.host || process.env.HOST || config.system.host || 'localhost';
|
|
55
|
+
const port = options.port || process.env.PORT || String(config.system.port) || '7788';
|
|
56
|
+
const url = `http://${host}:${port}`;
|
|
57
|
+
console.log(`Opening MCP Hub Lite UI at ${url}`);
|
|
58
|
+
// Open URL in browser based on platform
|
|
59
|
+
const platform = process.platform;
|
|
60
|
+
let openCommand = '';
|
|
61
|
+
if (platform === 'win32') {
|
|
62
|
+
// Windows
|
|
63
|
+
openCommand = `start ${url}`;
|
|
64
|
+
}
|
|
65
|
+
else if (platform === 'darwin') {
|
|
66
|
+
// macOS
|
|
67
|
+
openCommand = `open ${url}`;
|
|
68
|
+
}
|
|
69
|
+
else if (platform === 'linux') {
|
|
70
|
+
// Linux
|
|
71
|
+
openCommand = `xdg-open ${url}`;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
console.error('Unsupported platform for opening browser');
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
exec(openCommand, (error) => {
|
|
78
|
+
if (error) {
|
|
79
|
+
console.error('Failed to open browser:', error.message);
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
process.exit(0);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
// Set a timeout to exit in case exec callback doesn't fire
|
|
87
|
+
setTimeout(() => {
|
|
88
|
+
process.exit(0);
|
|
89
|
+
}, 2000);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
console.error('Failed to open UI:', error);
|
|
93
|
+
process.exit(1);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP Hub Lite CLI Entry Point
|
|
4
|
+
* Implements 6 core commands: start, stop, status, ui, list, restart
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
/**
|
|
8
|
+
* Creates and configures the CLI application using Commander.js
|
|
9
|
+
*
|
|
10
|
+
* This function initializes the main CLI program with its name, description, and version,
|
|
11
|
+
* then registers all available commands to provide a complete command-line interface
|
|
12
|
+
* for managing the MCP Hub Lite service.
|
|
13
|
+
*
|
|
14
|
+
* The CLI provides six core commands:
|
|
15
|
+
* - start: Launches the MCP Hub Lite service in daemon or foreground mode
|
|
16
|
+
* - stop: Gracefully terminates the running service instance
|
|
17
|
+
* - status: Displays current service status including PID, port, host, and server count
|
|
18
|
+
* - ui: Opens the web-based user interface in the default browser
|
|
19
|
+
* - list: Shows all configured MCP servers in a tabular format
|
|
20
|
+
* - restart: Stops and restarts the service with the same configuration
|
|
21
|
+
*
|
|
22
|
+
* Usage examples:
|
|
23
|
+
* ```bash
|
|
24
|
+
* # Start service in daemon mode
|
|
25
|
+
* mcp-hub-lite start
|
|
26
|
+
*
|
|
27
|
+
* # Start service in foreground mode on custom port
|
|
28
|
+
* mcp-hub-lite start --port 8080 --foreground
|
|
29
|
+
*
|
|
30
|
+
* # Stop the running service
|
|
31
|
+
* mcp-hub-lite stop
|
|
32
|
+
*
|
|
33
|
+
* # Check service status
|
|
34
|
+
* mcp-hub-lite status
|
|
35
|
+
*
|
|
36
|
+
* # Open web UI
|
|
37
|
+
* mcp-hub-lite ui
|
|
38
|
+
*
|
|
39
|
+
* # List all configured servers
|
|
40
|
+
* mcp-hub-lite list
|
|
41
|
+
*
|
|
42
|
+
* # Restart the service
|
|
43
|
+
* mcp-hub-lite restart
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @returns {Command} The configured CLI program instance ready for parsing
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const cli = createCli();
|
|
51
|
+
* cli.parse(); // Parse command line arguments and execute
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see {@link startCommand} - Implementation of the start command
|
|
55
|
+
* @see {@link stopCommand} - Implementation of the stop command
|
|
56
|
+
* @see {@link statusCommand} - Implementation of the status command
|
|
57
|
+
* @see {@link uiCommand} - Implementation of the ui command
|
|
58
|
+
* @see {@link listCommand} - Implementation of the list command
|
|
59
|
+
* @see {@link restartCommand} - Implementation of the restart command
|
|
60
|
+
*/
|
|
61
|
+
export declare function createCli(): Command;
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAiBnC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* MCP Hub Lite CLI Entry Point
|
|
4
|
+
* Implements 6 core commands: start, stop, status, ui, list, restart
|
|
5
|
+
*/
|
|
6
|
+
import { Command } from 'commander';
|
|
7
|
+
import { argv } from 'node:process';
|
|
8
|
+
import { pathToFileURL } from 'node:url';
|
|
9
|
+
import { startCommand } from './commands/start.js';
|
|
10
|
+
import { stopCommand } from './commands/stop.js';
|
|
11
|
+
import { statusCommand } from './commands/status.js';
|
|
12
|
+
import { uiCommand } from './commands/ui.js';
|
|
13
|
+
import { listCommand } from './commands/list.js';
|
|
14
|
+
import { restartCommand } from './commands/restart.js';
|
|
15
|
+
/**
|
|
16
|
+
* Creates and configures the CLI application using Commander.js
|
|
17
|
+
*
|
|
18
|
+
* This function initializes the main CLI program with its name, description, and version,
|
|
19
|
+
* then registers all available commands to provide a complete command-line interface
|
|
20
|
+
* for managing the MCP Hub Lite service.
|
|
21
|
+
*
|
|
22
|
+
* The CLI provides six core commands:
|
|
23
|
+
* - start: Launches the MCP Hub Lite service in daemon or foreground mode
|
|
24
|
+
* - stop: Gracefully terminates the running service instance
|
|
25
|
+
* - status: Displays current service status including PID, port, host, and server count
|
|
26
|
+
* - ui: Opens the web-based user interface in the default browser
|
|
27
|
+
* - list: Shows all configured MCP servers in a tabular format
|
|
28
|
+
* - restart: Stops and restarts the service with the same configuration
|
|
29
|
+
*
|
|
30
|
+
* Usage examples:
|
|
31
|
+
* ```bash
|
|
32
|
+
* # Start service in daemon mode
|
|
33
|
+
* mcp-hub-lite start
|
|
34
|
+
*
|
|
35
|
+
* # Start service in foreground mode on custom port
|
|
36
|
+
* mcp-hub-lite start --port 8080 --foreground
|
|
37
|
+
*
|
|
38
|
+
* # Stop the running service
|
|
39
|
+
* mcp-hub-lite stop
|
|
40
|
+
*
|
|
41
|
+
* # Check service status
|
|
42
|
+
* mcp-hub-lite status
|
|
43
|
+
*
|
|
44
|
+
* # Open web UI
|
|
45
|
+
* mcp-hub-lite ui
|
|
46
|
+
*
|
|
47
|
+
* # List all configured servers
|
|
48
|
+
* mcp-hub-lite list
|
|
49
|
+
*
|
|
50
|
+
* # Restart the service
|
|
51
|
+
* mcp-hub-lite restart
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @returns {Command} The configured CLI program instance ready for parsing
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const cli = createCli();
|
|
59
|
+
* cli.parse(); // Parse command line arguments and execute
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @see {@link startCommand} - Implementation of the start command
|
|
63
|
+
* @see {@link stopCommand} - Implementation of the stop command
|
|
64
|
+
* @see {@link statusCommand} - Implementation of the status command
|
|
65
|
+
* @see {@link uiCommand} - Implementation of the ui command
|
|
66
|
+
* @see {@link listCommand} - Implementation of the list command
|
|
67
|
+
* @see {@link restartCommand} - Implementation of the restart command
|
|
68
|
+
*/
|
|
69
|
+
export function createCli() {
|
|
70
|
+
const program = new Command();
|
|
71
|
+
program
|
|
72
|
+
.name('mcp-hub-lite')
|
|
73
|
+
.description('Lightweight MCP Gateway for managing MCP servers')
|
|
74
|
+
.version('1.0.0');
|
|
75
|
+
// Register all core commands
|
|
76
|
+
program.addCommand(startCommand);
|
|
77
|
+
program.addCommand(stopCommand);
|
|
78
|
+
program.addCommand(statusCommand);
|
|
79
|
+
program.addCommand(uiCommand);
|
|
80
|
+
program.addCommand(listCommand);
|
|
81
|
+
program.addCommand(restartCommand);
|
|
82
|
+
return program;
|
|
83
|
+
}
|
|
84
|
+
// Execute the CLI if this file is run directly
|
|
85
|
+
if (argv[1] && pathToFileURL(argv[1]).href === import.meta.url) {
|
|
86
|
+
const cli = createCli();
|
|
87
|
+
cli.parse();
|
|
88
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI argument parsing utility
|
|
3
|
+
* Provides parameter validation and parsing functions
|
|
4
|
+
*/
|
|
5
|
+
import type { LogLevel } from '../../shared/types/common.types.js';
|
|
6
|
+
export interface CliOptions {
|
|
7
|
+
port?: number;
|
|
8
|
+
host?: string;
|
|
9
|
+
config?: string;
|
|
10
|
+
foreground?: boolean;
|
|
11
|
+
stdio?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Parses and validates a port number from a string input.
|
|
15
|
+
*
|
|
16
|
+
* This function converts a string representation of a port number to an integer
|
|
17
|
+
* and validates that it falls within the valid TCP/UDP port range (1-65535).
|
|
18
|
+
* It is primarily used for CLI argument parsing when users specify custom ports
|
|
19
|
+
* via command line options like `--port` or `-p`.
|
|
20
|
+
*
|
|
21
|
+
* @param value - The string representation of the port number to parse
|
|
22
|
+
* @returns The validated port number as an integer
|
|
23
|
+
* @throws {Error} If the input is not a valid number or outside the valid port range (1-65535)
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* const port = parsePort("8080"); // Returns 8080
|
|
28
|
+
* const invalidPort = parsePort("99999"); // Throws Error: Invalid port: 99999. Must be between 1 and 65535.
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function parsePort(value: string): number;
|
|
32
|
+
/**
|
|
33
|
+
* Parses and validates a hostname or IP address from a string input.
|
|
34
|
+
*
|
|
35
|
+
* This function performs basic validation on hostname/IP address inputs by ensuring
|
|
36
|
+
* the value is not empty or whitespace-only. It trims any leading/trailing whitespace
|
|
37
|
+
* from the input and returns the cleaned hostname. This function is used when parsing
|
|
38
|
+
* CLI arguments for host configuration via options like `--host` or `-h`.
|
|
39
|
+
*
|
|
40
|
+
* Note: This function performs only basic validation (non-empty check). More complex
|
|
41
|
+
* hostname format validation (e.g., DNS compliance, IP address format) should be
|
|
42
|
+
* handled at the network layer or by the underlying server implementation.
|
|
43
|
+
*
|
|
44
|
+
* @param value - The hostname or IP address string to parse and validate
|
|
45
|
+
* @returns The trimmed hostname/IP address string
|
|
46
|
+
* @throws {Error} If the input is null, undefined, or contains only whitespace
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const host = parseHost("localhost"); // Returns "localhost"
|
|
51
|
+
* const hostWithSpaces = parseHost(" 127.0.0.1 "); // Returns "127.0.0.1"
|
|
52
|
+
* const emptyHost = parseHost(""); // Throws Error: Host cannot be empty
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function parseHost(value: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Validates a configuration file path to ensure it points to a valid JSON file.
|
|
58
|
+
*
|
|
59
|
+
* This function checks that the provided file path ends with the `.json` extension,
|
|
60
|
+
* ensuring that only JSON configuration files are accepted. It is used during CLI
|
|
61
|
+
* argument parsing when users specify custom configuration files via the `--config`
|
|
62
|
+
* option. The function does not verify file existence or accessibility, as those
|
|
63
|
+
* checks should be performed by the file system operations that actually read the file.
|
|
64
|
+
*
|
|
65
|
+
* @param path - The file path to validate as a configuration file path
|
|
66
|
+
* @returns The original path string if validation passes
|
|
67
|
+
* @throws {Error} If the path does not end with the '.json' extension
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* const validPath = validateConfigPath("./config.json"); // Returns "./config.json"
|
|
72
|
+
* const invalidPath = validateConfigPath("./config.txt"); // Throws Error: Config file must be a .json file
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function validateConfigPath(path: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Validate log level
|
|
78
|
+
*/
|
|
79
|
+
export declare function validateLogLevel(level: string): LogLevel;
|
|
80
|
+
/**
|
|
81
|
+
* Merges CLI options with default values to create a complete configuration object.
|
|
82
|
+
*
|
|
83
|
+
* This function takes partial CLI options (which may contain only some of the available
|
|
84
|
+
* options) and merges them with a complete set of default values. It uses nullish coalescing
|
|
85
|
+
* (??) to ensure that only undefined or null values are replaced with defaults, preserving
|
|
86
|
+
* explicitly set falsy values like `false` for boolean options.
|
|
87
|
+
*
|
|
88
|
+
* The function handles all standard CLI options including:
|
|
89
|
+
* - port: TCP port number for the server
|
|
90
|
+
* - host: Hostname or IP address to bind to
|
|
91
|
+
* - config: Path to configuration file
|
|
92
|
+
* - foreground: Whether to run in foreground mode
|
|
93
|
+
* - stdio: Whether to use stdio transport mode
|
|
94
|
+
*
|
|
95
|
+
* @param options - Partial CLI options object containing user-specified values
|
|
96
|
+
* @param defaults - Complete CLI options object containing default values
|
|
97
|
+
* @returns {CliOptions} A complete CLI options object with merged values
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* ```typescript
|
|
101
|
+
* const userOptions = { port: 8080 };
|
|
102
|
+
* const defaultOptions = { port: 7788, host: 'localhost', config: '.mcp-hub.json', foreground: false, stdio: false };
|
|
103
|
+
* const merged = mergeOptions(userOptions, defaultOptions);
|
|
104
|
+
* // Result: { port: 8080, host: 'localhost', config: '.mcp-hub.json', foreground: false, stdio: false }
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
export declare function mergeOptions(options: Partial<CliOptions>, defaults: CliOptions): CliOptions;
|
|
108
|
+
//# sourceMappingURL=parse-args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-args.d.ts","sourceRoot":"","sources":["../../../../src/cli/parse-args.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM/C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAOxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,UAAU,GAAG,UAAU,CAQ3F"}
|