@loop_ouroboros/mcp-hub-lite 1.0.2 → 1.1.1
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 +32 -0
- package/dist/client/assets/{HomeView-7rMg9C6t.js → HomeView-BBwvy1oj.js} +1 -1
- package/dist/client/assets/ResourceDetailView-CZ2aB73w.js +1 -0
- package/dist/client/assets/ResourceDetailView-DUJZbegl.css +1 -0
- package/dist/client/assets/ResourcesView-CN1NlhWs.js +1 -0
- package/dist/client/assets/ResourcesView-Cc8RHtia.css +1 -0
- package/dist/client/assets/ServerDashboard-BfLeFDGw.css +1 -0
- package/dist/client/assets/ServerDashboard-k652Vw4Z.js +1 -0
- package/dist/client/assets/ServerDetail-BLQ-a4cO.js +2 -0
- package/dist/client/assets/ServerDetail-CtnNKJGx.css +1 -0
- package/dist/client/assets/{ServerListView-Bws09jNR.css → ServerListView-B-bPljsO.css} +1 -1
- package/dist/client/assets/ServerListView-BHrsFD5i.js +36 -0
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHhwEuGe.js +1 -0
- package/dist/client/assets/SettingsView-CUOFNXrz.js +1 -0
- package/dist/client/assets/SettingsView-GkBOKL0V.css +1 -0
- package/dist/client/assets/ToolCallDialog-BfPjLxfV.js +1 -0
- package/dist/client/assets/ToolsView-BxgXvPC3.css +1 -0
- package/dist/client/assets/ToolsView-CyuhYAE2.js +1 -0
- package/dist/client/assets/{_baseClone-5q1b0P3O.js → _baseClone-DO5qfalW.js} +1 -1
- package/dist/client/assets/el-form-item-B4LbJ6OO.css +1 -0
- package/dist/client/assets/el-form-item-CcGsD2K_.js +12 -0
- package/dist/client/assets/el-input-BH4BZKnG.css +1 -0
- package/dist/client/assets/el-input-tYgeiaCT.js +1 -0
- package/dist/client/assets/{el-loading-H85n3BUC.js → el-loading-Dwl9E_Vr.js} +1 -1
- package/dist/client/assets/{el-select-C0U_l4IZ.css → el-overlay-CBvdpA69.css} +1 -1
- package/dist/client/assets/el-overlay-kqX_BABo.js +1 -0
- package/dist/client/assets/{ResourceDetailView-BdOaL_-o.css → el-radio-group-B0bauIRR.css} +1 -1
- package/dist/client/assets/el-radio-group-D8aWBVOT.js +1 -0
- package/dist/client/assets/el-skeleton-item-BLY1jEuR.css +1 -0
- package/dist/client/assets/el-skeleton-item-BRwIFspE.js +1 -0
- package/dist/client/assets/el-switch-BBrS-_6y.css +1 -0
- package/dist/client/assets/el-switch-BF8c-xeU.js +1 -0
- package/dist/client/assets/el-tab-pane-C4Ep94cd.js +1 -0
- package/dist/client/assets/el-table-column-BdvRS9Y2.css +1 -0
- package/dist/client/assets/el-table-column-Cog6uCh-.js +1 -0
- package/dist/client/assets/index-ByNBhPAR.js +1 -0
- package/dist/client/assets/index-CTB6oe-9.js +2 -0
- package/dist/client/assets/{index-BsDWtoIl.css → index-DpH6ZSbs.css} +1 -1
- package/dist/client/assets/omit-CUnDT6sS.js +1 -0
- package/dist/client/assets/{raf-DY5mgbuB.js → raf-CmzeRPMd.js} +1 -1
- package/dist/client/assets/{vue-vendor-6ny5zj9i.js → vue-vendor-CbgVSHIh.js} +3 -3
- package/dist/client/index.html +3 -3
- package/dist/server/shared/models/resource.model.d.ts +2 -1
- package/dist/server/shared/models/resource.model.d.ts.map +1 -1
- package/dist/server/shared/models/server.model.d.ts +362 -5
- package/dist/server/shared/models/server.model.d.ts.map +1 -1
- package/dist/server/shared/models/server.model.js +220 -1
- package/dist/server/shared/models/session.model.d.ts +1 -57
- package/dist/server/shared/models/session.model.d.ts.map +1 -1
- package/dist/server/shared/models/session.model.js +1 -55
- package/dist/server/shared/models/tool.model.d.ts +4 -2
- package/dist/server/shared/models/tool.model.d.ts.map +1 -1
- package/dist/server/shared/types/session-context.types.d.ts +0 -2
- package/dist/server/shared/types/session-context.types.d.ts.map +1 -1
- package/dist/server/shared/types/websocket.types.d.ts +17 -10
- package/dist/server/shared/types/websocket.types.d.ts.map +1 -1
- package/dist/server/src/api/mcp/debug-response-wrapper.js +2 -2
- package/dist/server/src/api/mcp/gateway.d.ts +1 -3
- package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
- package/dist/server/src/api/mcp/gateway.js +32 -49
- package/dist/server/src/api/web/hub-tools.d.ts +2 -2
- package/dist/server/src/api/web/hub-tools.d.ts.map +1 -1
- package/dist/server/src/api/web/hub-tools.js +3 -54
- package/dist/server/src/api/web/mcp-status.d.ts +1 -1
- package/dist/server/src/api/web/mcp-status.d.ts.map +1 -1
- package/dist/server/src/api/web/mcp-status.js +71 -30
- package/dist/server/src/api/web/resources.d.ts.map +1 -1
- package/dist/server/src/api/web/resources.js +28 -22
- package/dist/server/src/api/web/search.d.ts +2 -16
- package/dist/server/src/api/web/search.d.ts.map +1 -1
- package/dist/server/src/api/web/search.js +24 -45
- package/dist/server/src/api/web/servers.d.ts +3 -3
- package/dist/server/src/api/web/servers.d.ts.map +1 -1
- package/dist/server/src/api/web/servers.js +70 -25
- package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -1
- package/dist/server/src/api/ws/ws-handler.js +4 -2
- package/dist/server/src/app.d.ts.map +1 -1
- package/dist/server/src/app.js +0 -2
- package/dist/server/src/cli/commands/list.js +2 -2
- package/dist/server/src/cli/commands/server.d.ts +57 -0
- package/dist/server/src/cli/commands/server.d.ts.map +1 -0
- package/dist/server/src/cli/commands/server.js +169 -0
- package/dist/server/src/cli/commands/status.d.ts.map +1 -1
- package/dist/server/src/cli/commands/status.js +41 -30
- package/dist/server/src/cli/index.d.ts.map +1 -1
- package/dist/server/src/cli/index.js +2 -1
- package/dist/server/src/cli/server.d.ts +11 -2
- package/dist/server/src/cli/server.d.ts.map +1 -1
- package/dist/server/src/config/config-change-logger.d.ts +22 -0
- package/dist/server/src/config/config-change-logger.d.ts.map +1 -1
- package/dist/server/src/config/config-change-logger.js +135 -11
- package/dist/server/src/config/config-loader.d.ts +6 -5
- package/dist/server/src/config/config-loader.d.ts.map +1 -1
- package/dist/server/src/config/config-loader.js +54 -16
- package/dist/server/src/config/config-manager.d.ts +51 -43
- package/dist/server/src/config/config-manager.d.ts.map +1 -1
- package/dist/server/src/config/config-manager.js +84 -66
- package/dist/server/src/config/config-migrator.d.ts +82 -0
- package/dist/server/src/config/config-migrator.d.ts.map +1 -0
- package/dist/server/src/config/config-migrator.js +348 -0
- package/dist/server/src/config/config-saver.d.ts +2 -0
- package/dist/server/src/config/config-saver.d.ts.map +1 -1
- package/dist/server/src/config/config-saver.js +8 -2
- package/dist/server/src/config/config.schema.d.ts +10 -104
- package/dist/server/src/config/config.schema.d.ts.map +1 -1
- package/dist/server/src/config/config.schema.js +15 -99
- package/dist/server/src/config/path-validator.d.ts +27 -0
- package/dist/server/src/config/path-validator.d.ts.map +1 -0
- package/dist/server/src/config/path-validator.js +53 -0
- package/dist/server/src/config/server-config-manager.d.ts +37 -31
- package/dist/server/src/config/server-config-manager.d.ts.map +1 -1
- package/dist/server/src/config/server-config-manager.js +222 -66
- package/dist/server/src/config/type-converter.d.ts.map +1 -1
- package/dist/server/src/config/type-converter.js +3 -2
- package/dist/server/src/models/event.model.d.ts +17 -10
- package/dist/server/src/models/event.model.d.ts.map +1 -1
- package/dist/server/src/models/server.model.d.ts +17 -3
- package/dist/server/src/models/server.model.d.ts.map +1 -1
- package/dist/server/src/models/server.model.js +2 -1
- package/dist/server/src/models/system-tools.constants.d.ts +10 -27
- package/dist/server/src/models/system-tools.constants.d.ts.map +1 -1
- package/dist/server/src/models/system-tools.constants.js +4 -8
- package/dist/server/src/pid/manager.d.ts.map +1 -1
- package/dist/server/src/pid/manager.js +2 -1
- package/dist/server/src/server/dev-server.js +34 -20
- package/dist/server/src/server/runner.d.ts.map +1 -1
- package/dist/server/src/server/runner.js +41 -26
- package/dist/server/src/services/connection/connection-manager.d.ts +85 -103
- package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -1
- package/dist/server/src/services/connection/connection-manager.js +286 -241
- package/dist/server/src/services/connection/tool-cache.d.ts +27 -25
- package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -1
- package/dist/server/src/services/connection/tool-cache.js +50 -55
- package/dist/server/src/services/gateway/gateway.service.d.ts +2 -0
- package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -1
- package/dist/server/src/services/gateway/gateway.service.js +53 -23
- package/dist/server/src/services/gateway/global-transport.d.ts +19 -0
- package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -0
- package/dist/server/src/services/gateway/global-transport.js +66 -0
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +67 -65
- package/dist/server/src/services/gateway/request-handlers/index.d.ts +1 -1
- package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/index.js +1 -1
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +1 -4
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +20 -80
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts +35 -0
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts.map +1 -0
- package/dist/server/src/services/gateway/request-handlers/initialize.constants.js +44 -0
- package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/resources-handler.js +5 -4
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -1
- package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +32 -77
- package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -1
- package/dist/server/src/services/gateway/tool-list-generator.js +37 -16
- package/dist/server/src/services/gateway/types.d.ts +2 -1
- package/dist/server/src/services/gateway/types.d.ts.map +1 -1
- package/dist/server/src/services/hub-manager.service.d.ts +32 -238
- package/dist/server/src/services/hub-manager.service.d.ts.map +1 -1
- package/dist/server/src/services/hub-manager.service.js +89 -267
- package/dist/server/src/services/hub-tools/index.d.ts +1 -3
- package/dist/server/src/services/hub-tools/index.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/index.js +1 -2
- package/dist/server/src/services/hub-tools/instance-matcher.d.ts +62 -0
- package/dist/server/src/services/hub-tools/instance-matcher.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/instance-matcher.js +132 -0
- package/dist/server/src/services/hub-tools/instance-selector.d.ts +29 -0
- package/dist/server/src/services/hub-tools/instance-selector.d.ts.map +1 -0
- package/dist/server/src/services/hub-tools/instance-selector.js +103 -0
- package/dist/server/src/services/hub-tools/resource-generator.d.ts +24 -1
- package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/resource-generator.js +259 -39
- package/dist/server/src/services/hub-tools/server-selector.d.ts +26 -13
- package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/server-selector.js +44 -37
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +1 -4
- package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/system-tool-definitions.js +17 -80
- package/dist/server/src/services/hub-tools/tool-search.d.ts +7 -7
- package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools/tool-search.js +10 -4
- package/dist/server/src/services/hub-tools/types.d.ts +2 -2
- package/dist/server/src/services/hub-tools/types.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools.service.d.ts +43 -72
- package/dist/server/src/services/hub-tools.service.d.ts.map +1 -1
- package/dist/server/src/services/hub-tools.service.js +185 -110
- package/dist/server/src/services/system-tool-handler.d.ts.map +1 -1
- package/dist/server/src/services/system-tool-handler.js +7 -17
- package/dist/server/src/utils/composite-key.d.ts +29 -0
- package/dist/server/src/utils/composite-key.d.ts.map +1 -0
- package/dist/server/src/utils/composite-key.js +39 -0
- package/dist/server/src/utils/error-handler.d.ts.map +1 -1
- package/dist/server/src/utils/error-handler.js +3 -2
- package/dist/server/src/utils/index.d.ts +2 -0
- package/dist/server/src/utils/index.d.ts.map +1 -1
- package/dist/server/src/utils/index.js +2 -0
- package/dist/server/src/utils/instance-id.d.ts +22 -0
- package/dist/server/src/utils/instance-id.d.ts.map +1 -0
- package/dist/server/src/utils/instance-id.js +59 -0
- package/dist/server/src/utils/json-utils.d.ts +4 -4
- package/dist/server/src/utils/json-utils.d.ts.map +1 -1
- package/dist/server/src/utils/json-utils.js +4 -4
- package/dist/server/src/utils/logger/dev-logger.d.ts +2 -1
- package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-formatter.js +82 -5
- package/dist/server/src/utils/logger/log-modules.d.ts +15 -9
- package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -1
- package/dist/server/src/utils/logger/log-modules.js +8 -6
- package/dist/server/src/utils/parameter-validator.d.ts +10 -0
- package/dist/server/src/utils/parameter-validator.d.ts.map +1 -0
- package/dist/server/src/utils/parameter-validator.js +53 -0
- package/dist/server/src/utils/process-tree.d.ts +49 -0
- package/dist/server/src/utils/process-tree.d.ts.map +1 -0
- package/dist/server/src/utils/process-tree.js +285 -0
- package/dist/server/src/utils/sort-utils.d.ts +40 -0
- package/dist/server/src/utils/sort-utils.d.ts.map +1 -0
- package/dist/server/src/utils/sort-utils.js +131 -0
- package/dist/server/src/utils/transports/sse-transport.d.ts +16 -1
- package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/sse-transport.js +55 -9
- package/dist/server/src/utils/transports/stdio-transport.d.ts +24 -53
- package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/stdio-transport.js +66 -247
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts +24 -1
- package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -1
- package/dist/server/src/utils/transports/streamable-http-transport.js +68 -8
- package/dist/server/src/utils/transports/transport-factory.d.ts +9 -4
- package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -1
- package/dist/server/src/utils/transports/transport-factory.js +31 -11
- package/dist/server/src/utils/transports/transport.interface.d.ts +6 -0
- package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -1
- package/dist/server/src/utils/version.d.ts +11 -0
- package/dist/server/src/utils/version.d.ts.map +1 -0
- package/dist/server/src/utils/version.js +57 -0
- package/dist/server/tests/contract/mcp-protocol/initialize.test.js +24 -24
- package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +49 -45
- package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +35 -36
- package/dist/server/tests/integration/gateway/fault-tolerance.test.js +65 -25
- package/dist/server/tests/integration/gateway/mcp-connection.test.js +53 -61
- package/dist/server/tests/server.test.js +27 -16
- package/dist/server/tests/temp/temp-run-docling.d.ts +2 -0
- package/dist/server/tests/temp/temp-run-docling.d.ts.map +1 -0
- package/dist/server/tests/temp/temp-run-docling.js +53 -0
- package/dist/server/tests/types/test-helpers.d.ts +1 -2
- package/dist/server/tests/types/test-helpers.d.ts.map +1 -1
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-loader-automatic-migration.test.js +199 -0
- package/dist/server/tests/unit/config/config-migrator.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-migrator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-migrator.test.js +316 -0
- package/dist/server/tests/unit/config/config-saver.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config-saver.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config-saver.test.js +200 -0
- package/dist/server/tests/unit/config/config.schema.test.d.ts +2 -0
- package/dist/server/tests/unit/config/config.schema.test.d.ts.map +1 -0
- package/dist/server/tests/unit/config/config.schema.test.js +347 -0
- package/dist/server/tests/unit/server/runner.test.js +86 -62
- package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts +2 -0
- package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/connection/connection-manager.test.js +112 -0
- package/dist/server/tests/unit/services/hub-manager-service.test.js +112 -46
- package/dist/server/tests/unit/services/hub-manager.test.js +25 -15
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools/instance-selector.test.js +195 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts +2 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/hub-tools/server-selector.test.js +190 -0
- package/dist/server/tests/unit/services/hub-tools.service.test.js +560 -320
- package/dist/server/tests/unit/services/instance-matcher.test.d.ts +2 -0
- package/dist/server/tests/unit/services/instance-matcher.test.d.ts.map +1 -0
- package/dist/server/tests/unit/services/instance-matcher.test.js +256 -0
- package/dist/server/tests/unit/services/session-manager.test.js +26 -436
- package/dist/server/tests/unit/utils/config.test.js +88 -186
- package/dist/server/tests/unit/utils/json-utils.test.js +18 -18
- package/dist/server/tests/unit/utils/logger-formatter.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/logger-formatter.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/logger-formatter.test.js +66 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/parameter-validator.test.js +63 -0
- package/dist/server/tests/unit/utils/process-tree.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/process-tree.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/process-tree.test.js +129 -0
- package/dist/server/tests/unit/utils/sort-utils.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/sort-utils.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/sort-utils.test.js +220 -0
- package/dist/server/tests/unit/utils/transport-factory.test.d.ts +2 -0
- package/dist/server/tests/unit/utils/transport-factory.test.d.ts.map +1 -0
- package/dist/server/tests/unit/utils/transport-factory.test.js +55 -0
- package/package.json +3 -1
- package/dist/client/assets/ResourceDetailView-Bf-1ffbk.js +0 -1
- package/dist/client/assets/ResourcesView-CjMklkyv.css +0 -1
- package/dist/client/assets/ResourcesView-g5x4xCPh.js +0 -1
- package/dist/client/assets/ServerDashboard-Chpne8Q0.css +0 -1
- package/dist/client/assets/ServerDashboard-G8Wmp4hF.js +0 -2
- package/dist/client/assets/ServerListView-dV2XrPjo.js +0 -32
- package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +0 -1
- package/dist/client/assets/SessionsView-Ckd38lj1.js +0 -1
- package/dist/client/assets/SettingsView-BJUdepEQ.js +0 -1
- package/dist/client/assets/ToolCallDialog-C_bTCpHC.js +0 -1
- package/dist/client/assets/ToolsView-0c2eputu.js +0 -1
- package/dist/client/assets/ToolsView-E3Ps9c7i.css +0 -1
- package/dist/client/assets/el-form-item-BVMLpmVC.css +0 -1
- package/dist/client/assets/el-form-item-ClFnj49k.js +0 -12
- package/dist/client/assets/el-input-CDnuSKVZ.js +0 -1
- package/dist/client/assets/el-input-CmuHb8HS.css +0 -1
- package/dist/client/assets/el-overlay-B2ZKM6Up.css +0 -1
- package/dist/client/assets/el-overlay-CzMkXyYy.js +0 -1
- package/dist/client/assets/el-select-DvjGddk_.js +0 -1
- package/dist/client/assets/el-tab-pane-C_DQMcwe.js +0 -1
- package/dist/client/assets/el-table-column-CASRIbZM.js +0 -1
- package/dist/client/assets/el-table-column-T_mV9jNw.css +0 -1
- package/dist/client/assets/el-tag-DjxZVOpb.css +0 -1
- package/dist/client/assets/el-tag-npbwux4f.js +0 -1
- package/dist/client/assets/index-CCnAxNF8.js +0 -2
- package/dist/client/assets/index-d1DZeSfz.js +0 -1
- package/dist/client/assets/omit-DPsOVNIJ.js +0 -1
- package/dist/client/assets/vnode-CHomNjgN.js +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instance ID generation utilities using content-based hashing.
|
|
3
|
+
*/
|
|
4
|
+
import type { ServerInstance } from '../config/config.schema.js';
|
|
5
|
+
/**
|
|
6
|
+
* Generates a stable 8-character hash from an object.
|
|
7
|
+
* Uses SHA-256 and returns the first 8 hex characters.
|
|
8
|
+
*
|
|
9
|
+
* @param obj - The object to hash
|
|
10
|
+
* @returns An 8-character hex string
|
|
11
|
+
*/
|
|
12
|
+
export declare function generateInstanceHash(obj: Record<string, unknown>): string;
|
|
13
|
+
/**
|
|
14
|
+
* Generates a deterministic instance ID based on server name and instance configuration.
|
|
15
|
+
* The ID format is: ${serverName}-${hash}
|
|
16
|
+
*
|
|
17
|
+
* @param serverName - Name of the server
|
|
18
|
+
* @param instanceConfig - Partial instance configuration
|
|
19
|
+
* @returns A deterministic instance ID
|
|
20
|
+
*/
|
|
21
|
+
export declare function generateInstanceId(serverName: string, instanceConfig: Partial<ServerInstance>): string;
|
|
22
|
+
//# sourceMappingURL=instance-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-id.d.ts","sourceRoot":"","sources":["../../../../src/utils/instance-id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAyBzE;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GACtC,MAAM,CAiBR"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Instance ID generation utilities using content-based hashing.
|
|
3
|
+
*/
|
|
4
|
+
import { createHash } from 'node:crypto';
|
|
5
|
+
/**
|
|
6
|
+
* Generates a stable 8-character hash from an object.
|
|
7
|
+
* Uses SHA-256 and returns the first 8 hex characters.
|
|
8
|
+
*
|
|
9
|
+
* @param obj - The object to hash
|
|
10
|
+
* @returns An 8-character hex string
|
|
11
|
+
*/
|
|
12
|
+
export function generateInstanceHash(obj) {
|
|
13
|
+
function stableStringify(value) {
|
|
14
|
+
if (value === null || typeof value !== 'object') {
|
|
15
|
+
return JSON.stringify(value);
|
|
16
|
+
}
|
|
17
|
+
if (Array.isArray(value)) {
|
|
18
|
+
return '[' + value.map(stableStringify).join(',') + ']';
|
|
19
|
+
}
|
|
20
|
+
const sortedObj = {};
|
|
21
|
+
for (const key of Object.keys(value).sort()) {
|
|
22
|
+
sortedObj[key] = value[key];
|
|
23
|
+
}
|
|
24
|
+
return ('{' +
|
|
25
|
+
Object.keys(sortedObj)
|
|
26
|
+
.map((key) => JSON.stringify(key) + ':' + stableStringify(sortedObj[key]))
|
|
27
|
+
.join(',') +
|
|
28
|
+
'}');
|
|
29
|
+
}
|
|
30
|
+
const stableString = stableStringify(obj);
|
|
31
|
+
const hash = createHash('sha256');
|
|
32
|
+
hash.update(stableString);
|
|
33
|
+
return hash.digest('hex').slice(0, 8);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Generates a deterministic instance ID based on server name and instance configuration.
|
|
37
|
+
* The ID format is: ${serverName}-${hash}
|
|
38
|
+
*
|
|
39
|
+
* @param serverName - Name of the server
|
|
40
|
+
* @param instanceConfig - Partial instance configuration
|
|
41
|
+
* @returns A deterministic instance ID
|
|
42
|
+
*/
|
|
43
|
+
export function generateInstanceId(serverName, instanceConfig) {
|
|
44
|
+
const hashableContent = {};
|
|
45
|
+
if (instanceConfig.args && instanceConfig.args.length > 0) {
|
|
46
|
+
hashableContent.args = instanceConfig.args;
|
|
47
|
+
}
|
|
48
|
+
if (instanceConfig.env) {
|
|
49
|
+
hashableContent.env = instanceConfig.env;
|
|
50
|
+
}
|
|
51
|
+
if (instanceConfig.headers) {
|
|
52
|
+
hashableContent.headers = instanceConfig.headers;
|
|
53
|
+
}
|
|
54
|
+
if (instanceConfig.tags && Object.keys(instanceConfig.tags).length > 0) {
|
|
55
|
+
hashableContent.tags = instanceConfig.tags;
|
|
56
|
+
}
|
|
57
|
+
const hash = generateInstanceHash(hashableContent);
|
|
58
|
+
return `${serverName}-${hash}`;
|
|
59
|
+
}
|
|
@@ -23,7 +23,7 @@ type ConfigGetter = () => {
|
|
|
23
23
|
logging: {
|
|
24
24
|
jsonPretty: boolean;
|
|
25
25
|
mcpCommDebug: boolean;
|
|
26
|
-
|
|
26
|
+
apiDebug: boolean;
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
};
|
|
@@ -60,11 +60,11 @@ export declare function getJsonPrettySetting(): boolean;
|
|
|
60
60
|
*/
|
|
61
61
|
export declare function getMcpCommDebugSetting(): boolean;
|
|
62
62
|
/**
|
|
63
|
-
* Get
|
|
63
|
+
* Get API debug setting from config getter.
|
|
64
64
|
*
|
|
65
|
-
* @returns boolean indicating whether to enable
|
|
65
|
+
* @returns boolean indicating whether to enable API debug logging
|
|
66
66
|
*/
|
|
67
|
-
export declare function
|
|
67
|
+
export declare function getApiDebugSetting(): boolean;
|
|
68
68
|
/**
|
|
69
69
|
* Stringify object for logging with dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
|
|
70
70
|
* @param obj Object to stringify
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAiED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IACxB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YACtB,
|
|
1
|
+
{"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAiED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IACxB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YACtB,QAAQ,EAAE,OAAO,CAAC;SACnB,CAAC;KACH,CAAC;CACH,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAiB9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAU5C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAClD,MAAM,CAOR"}
|
|
@@ -165,15 +165,15 @@ export function getMcpCommDebugSetting() {
|
|
|
165
165
|
return getDefaultForDevMode(false);
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
168
|
-
* Get
|
|
168
|
+
* Get API debug setting from config getter.
|
|
169
169
|
*
|
|
170
|
-
* @returns boolean indicating whether to enable
|
|
170
|
+
* @returns boolean indicating whether to enable API debug logging
|
|
171
171
|
*/
|
|
172
|
-
export function
|
|
172
|
+
export function getApiDebugSetting() {
|
|
173
173
|
if (_configGetter) {
|
|
174
174
|
try {
|
|
175
175
|
const config = _configGetter();
|
|
176
|
-
return config.system.logging.
|
|
176
|
+
return config.system.logging.apiDebug;
|
|
177
177
|
}
|
|
178
178
|
catch {
|
|
179
179
|
// Fall through to default if config getter fails
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* This file contains development log initialization and management.
|
|
4
4
|
*/
|
|
5
5
|
import fs from 'fs';
|
|
6
|
-
import { LogRotator
|
|
6
|
+
import { LogRotator } from '../log-rotator.js';
|
|
7
|
+
import type { RotatorConfig } from '../log-rotator.js';
|
|
7
8
|
/**
|
|
8
9
|
* Development logger configuration and setup.
|
|
9
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/dev-logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/dev-logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,aAAa,CAA2B;IAEhD;;OAEG;IACH,IAAI,MAAM,IAAI,EAAE,CAAC,WAAW,GAAG,IAAI,CAElC;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,UAAU,GAAG,IAAI,CAE/B;IAED;;;;;;;;;;OAUG;IACH,YAAY,CAAC,aAAa,CAAC,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAoB/F;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-formatter.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,UAAU,SAAI,GAAG,UAAU,GAAG,IAAI,CAQ/D;AA2HD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CASlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAatD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CAsCR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CA6B/F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"log-formatter.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAsED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,UAAU,SAAI,GAAG,UAAU,GAAG,IAAI,CAQ/D;AA2HD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CASlD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAatD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,UAAU,GACnB,MAAM,CAsCR;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,CA6B/F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAyHlD"}
|
|
@@ -324,25 +324,102 @@ export function createLogMessage(level, message, context) {
|
|
|
324
324
|
* @returns Formatted error string
|
|
325
325
|
*/
|
|
326
326
|
export function formatError(error) {
|
|
327
|
+
// Special case: handle arrays that might contain errors
|
|
328
|
+
if (Array.isArray(error)) {
|
|
329
|
+
if (error.length === 0) {
|
|
330
|
+
return '';
|
|
331
|
+
}
|
|
332
|
+
// If it's a single-element array, unwrap it and format the element
|
|
333
|
+
if (error.length === 1) {
|
|
334
|
+
const element = error[0];
|
|
335
|
+
// Skip empty objects that are likely log context
|
|
336
|
+
if (typeof element === 'object' &&
|
|
337
|
+
element !== null &&
|
|
338
|
+
!Array.isArray(element) &&
|
|
339
|
+
('module' in element || 'traceId' in element || 'spanId' in element)) {
|
|
340
|
+
return '';
|
|
341
|
+
}
|
|
342
|
+
// Otherwise format the single element
|
|
343
|
+
return formatError(element);
|
|
344
|
+
}
|
|
345
|
+
// For multi-element arrays, format each element
|
|
346
|
+
const formattedElements = error
|
|
347
|
+
.map((elem) => {
|
|
348
|
+
const formatted = formatError(elem);
|
|
349
|
+
return formatted || '[skipped]';
|
|
350
|
+
})
|
|
351
|
+
.filter((f) => f !== '[skipped]');
|
|
352
|
+
if (formattedElements.length === 0) {
|
|
353
|
+
return '';
|
|
354
|
+
}
|
|
355
|
+
if (formattedElements.length === 1) {
|
|
356
|
+
return formattedElements[0];
|
|
357
|
+
}
|
|
358
|
+
return `[ ${formattedElements.join(', ')} ]`;
|
|
359
|
+
}
|
|
327
360
|
if (error instanceof Error) {
|
|
328
|
-
let result =
|
|
361
|
+
let result = '';
|
|
362
|
+
// Include error name if available
|
|
363
|
+
if (error.name) {
|
|
364
|
+
result += error.name;
|
|
365
|
+
}
|
|
366
|
+
// Include error message if available
|
|
367
|
+
if (error.message) {
|
|
368
|
+
result += result ? `: ${error.message}` : error.message;
|
|
369
|
+
}
|
|
370
|
+
// If no name and message, try string representation
|
|
371
|
+
if (!result) {
|
|
372
|
+
result = String(error);
|
|
373
|
+
}
|
|
374
|
+
// Include stack trace if available
|
|
329
375
|
if (error.stack) {
|
|
330
376
|
const stackLines = error.stack.split('\n').slice(1, 6);
|
|
331
377
|
if (stackLines.length > 0) {
|
|
332
378
|
result += '\n' + stackLines.join('\n');
|
|
333
379
|
}
|
|
334
380
|
}
|
|
381
|
+
// Check for non-enumerable properties using Object.getOwnPropertyNames
|
|
382
|
+
const ownProps = Object.getOwnPropertyNames(error);
|
|
383
|
+
const extraProps = [];
|
|
384
|
+
for (const prop of ownProps) {
|
|
385
|
+
if (prop !== 'name' && prop !== 'message' && prop !== 'stack') {
|
|
386
|
+
try {
|
|
387
|
+
const value = error[prop];
|
|
388
|
+
extraProps.push(`${prop}: ${stringifyForLogging(value)}`);
|
|
389
|
+
}
|
|
390
|
+
catch {
|
|
391
|
+
extraProps.push(`${prop}: [could not serialize]`);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
if (extraProps.length > 0) {
|
|
396
|
+
result += '\n Additional properties: ' + extraProps.join(', ');
|
|
397
|
+
}
|
|
335
398
|
return result;
|
|
336
399
|
}
|
|
337
400
|
if (typeof error === 'object' && error !== null) {
|
|
338
401
|
if ('module' in error || 'traceId' in error || 'spanId' in error) {
|
|
339
402
|
return '';
|
|
340
403
|
}
|
|
341
|
-
|
|
342
|
-
|
|
404
|
+
// Check for empty object (both enumerable and non-enumerable properties)
|
|
405
|
+
const enumKeys = Object.keys(error);
|
|
406
|
+
const allProps = Object.getOwnPropertyNames(error);
|
|
407
|
+
if (enumKeys.length === 0 && allProps.length === 0) {
|
|
408
|
+
return '[empty object]';
|
|
343
409
|
}
|
|
344
|
-
|
|
345
|
-
|
|
410
|
+
// If only non-enumerable properties, show them
|
|
411
|
+
if (enumKeys.length === 0 && allProps.length > 0) {
|
|
412
|
+
const props = [];
|
|
413
|
+
for (const prop of allProps) {
|
|
414
|
+
try {
|
|
415
|
+
const value = error[prop];
|
|
416
|
+
props.push(`${prop}: ${stringifyForLogging(value)}`);
|
|
417
|
+
}
|
|
418
|
+
catch {
|
|
419
|
+
props.push(`${prop}: [could not serialize]`);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
return `{ ${props.join(', ')} }`;
|
|
346
423
|
}
|
|
347
424
|
try {
|
|
348
425
|
return stringifyForLogging(error);
|
|
@@ -24,25 +24,22 @@ export declare const LOG_MODULES: {
|
|
|
24
24
|
readonly DEV_SERVER: {
|
|
25
25
|
module: string;
|
|
26
26
|
};
|
|
27
|
-
readonly
|
|
28
|
-
module: string;
|
|
29
|
-
};
|
|
30
|
-
readonly CONFIG_LOADER: {
|
|
27
|
+
readonly RUNNER: {
|
|
31
28
|
module: string;
|
|
32
29
|
};
|
|
33
|
-
readonly
|
|
30
|
+
readonly CONFIG_MANAGER: {
|
|
34
31
|
module: string;
|
|
35
32
|
};
|
|
36
|
-
readonly
|
|
33
|
+
readonly CONFIG_LOADER: {
|
|
37
34
|
module: string;
|
|
38
35
|
};
|
|
39
|
-
readonly
|
|
36
|
+
readonly CONFIG_SAVER: {
|
|
40
37
|
module: string;
|
|
41
38
|
};
|
|
42
|
-
readonly
|
|
39
|
+
readonly CONFIG_CHANGES: {
|
|
43
40
|
module: string;
|
|
44
41
|
};
|
|
45
|
-
readonly
|
|
42
|
+
readonly SERVER_CONFIG_MANAGER: {
|
|
46
43
|
module: string;
|
|
47
44
|
};
|
|
48
45
|
readonly CONNECTION_MANAGER: {
|
|
@@ -51,6 +48,9 @@ export declare const LOG_MODULES: {
|
|
|
51
48
|
readonly HUB_MANAGER: {
|
|
52
49
|
module: string;
|
|
53
50
|
};
|
|
51
|
+
readonly SERVER_SELECTOR: {
|
|
52
|
+
module: string;
|
|
53
|
+
};
|
|
54
54
|
readonly GATEWAY: {
|
|
55
55
|
module: string;
|
|
56
56
|
};
|
|
@@ -66,6 +66,9 @@ export declare const LOG_MODULES: {
|
|
|
66
66
|
readonly TOOL_LIST: {
|
|
67
67
|
module: string;
|
|
68
68
|
};
|
|
69
|
+
readonly TOOL_LIST_GENERATOR: {
|
|
70
|
+
module: string;
|
|
71
|
+
};
|
|
69
72
|
readonly INITIALIZE_HANDLER: {
|
|
70
73
|
module: string;
|
|
71
74
|
};
|
|
@@ -81,6 +84,9 @@ export declare const LOG_MODULES: {
|
|
|
81
84
|
readonly SEARCH: {
|
|
82
85
|
module: string;
|
|
83
86
|
};
|
|
87
|
+
readonly ERROR_HANDLER: {
|
|
88
|
+
module: string;
|
|
89
|
+
};
|
|
84
90
|
readonly COMMUNICATION: {
|
|
85
91
|
module: string;
|
|
86
92
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log-modules.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-modules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"log-modules.d.ts","sourceRoot":"","sources":["../../../../../src/utils/logger/log-modules.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8DtB;;;;;;;;;;;OAWG;mCACmB,MAAM;;;CACpB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,WAAW,EAAE,SAAS,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -21,18 +21,17 @@ export const LOG_MODULES = {
|
|
|
21
21
|
// Core system modules
|
|
22
22
|
SERVER: { module: 'Server' },
|
|
23
23
|
DEV_SERVER: { module: 'DevServer' },
|
|
24
|
+
RUNNER: { module: 'Runner' },
|
|
24
25
|
// Config management
|
|
25
26
|
CONFIG_MANAGER: { module: 'ConfigManager' },
|
|
26
27
|
CONFIG_LOADER: { module: 'ConfigLoader' },
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
SESSION: { module: 'Session' },
|
|
31
|
-
SESSION_API: { module: 'Session API' },
|
|
32
|
-
SESSION_TRACKER: { module: 'SessionTracker' },
|
|
28
|
+
CONFIG_SAVER: { module: 'ConfigSaver' },
|
|
29
|
+
CONFIG_CHANGES: { module: 'SystemConfigManager' },
|
|
30
|
+
SERVER_CONFIG_MANAGER: { module: 'ServerConfigManager' },
|
|
33
31
|
// Connection management
|
|
34
32
|
CONNECTION_MANAGER: { module: 'ConnectionManager' },
|
|
35
33
|
HUB_MANAGER: { module: 'HubManager' },
|
|
34
|
+
SERVER_SELECTOR: { module: 'ServerSelector' },
|
|
36
35
|
// Gateway related
|
|
37
36
|
GATEWAY: { module: 'Gateway' },
|
|
38
37
|
GATEWAY_SERVICE: { module: 'GatewayService' },
|
|
@@ -40,6 +39,7 @@ export const LOG_MODULES = {
|
|
|
40
39
|
HUB_TOOLS: { module: 'HubTools' },
|
|
41
40
|
SYSTEM_TOOL: { module: 'SystemTool' },
|
|
42
41
|
TOOL_LIST: { module: 'ToolList' },
|
|
42
|
+
TOOL_LIST_GENERATOR: { module: 'ToolListGenerator' },
|
|
43
43
|
// Gateway request handlers
|
|
44
44
|
INITIALIZE_HANDLER: { module: 'Initialize' },
|
|
45
45
|
SYSTEM_TOOLS_HANDLER: { module: 'SystemTools' },
|
|
@@ -47,6 +47,8 @@ export const LOG_MODULES = {
|
|
|
47
47
|
TOOLS_HANDLER: { module: 'Tools' },
|
|
48
48
|
// Search service
|
|
49
49
|
SEARCH: { module: 'Search' },
|
|
50
|
+
// Error handling
|
|
51
|
+
ERROR_HANDLER: { module: 'ErrorHandler' },
|
|
50
52
|
// Communication
|
|
51
53
|
COMMUNICATION: { module: 'Communication' },
|
|
52
54
|
CONTEXT: { module: 'Context' },
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { JsonSchema } from '../../shared/models/tool.model.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validates tool arguments against the provided JSON schema
|
|
4
|
+
*
|
|
5
|
+
* @param args - The tool arguments to validate
|
|
6
|
+
* @param schema - The JSON schema to validate against
|
|
7
|
+
* @returns null if valid, or an error message string if invalid
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateParameters(args: Record<string, unknown>, schema: JsonSchema): string | null;
|
|
10
|
+
//# sourceMappingURL=parameter-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-validator.d.ts","sourceRoot":"","sources":["../../../../src/utils/parameter-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,UAAU,GACjB,MAAM,GAAG,IAAI,CAyBf"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates tool arguments against the provided JSON schema
|
|
3
|
+
*
|
|
4
|
+
* @param args - The tool arguments to validate
|
|
5
|
+
* @param schema - The JSON schema to validate against
|
|
6
|
+
* @returns null if valid, or an error message string if invalid
|
|
7
|
+
*/
|
|
8
|
+
export function validateParameters(args, schema) {
|
|
9
|
+
// Check required fields
|
|
10
|
+
if (schema.required && Array.isArray(schema.required)) {
|
|
11
|
+
for (const requiredField of schema.required) {
|
|
12
|
+
if (!(requiredField in args)) {
|
|
13
|
+
return `Missing required parameter: '${requiredField}'. Required parameters: [${schema.required.join(', ')}]`;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
// Check parameter types (basic validation)
|
|
18
|
+
if (schema.properties) {
|
|
19
|
+
for (const [paramName, paramSchema] of Object.entries(schema.properties)) {
|
|
20
|
+
if (paramName in args) {
|
|
21
|
+
const argValue = args[paramName];
|
|
22
|
+
const expectedType = paramSchema.type;
|
|
23
|
+
if (expectedType && !isValidType(argValue, expectedType)) {
|
|
24
|
+
return `Invalid type for parameter '${paramName}'. Expected: ${expectedType}, got: ${typeof argValue}`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Validates if a value matches the expected type
|
|
33
|
+
*
|
|
34
|
+
* @param value - The value to validate
|
|
35
|
+
* @param expectedType - The expected JSON schema type
|
|
36
|
+
* @returns true if valid, false otherwise
|
|
37
|
+
*/
|
|
38
|
+
function isValidType(value, expectedType) {
|
|
39
|
+
switch (expectedType) {
|
|
40
|
+
case 'string':
|
|
41
|
+
return typeof value === 'string';
|
|
42
|
+
case 'number':
|
|
43
|
+
return typeof value === 'number';
|
|
44
|
+
case 'boolean':
|
|
45
|
+
return typeof value === 'boolean';
|
|
46
|
+
case 'object':
|
|
47
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
48
|
+
case 'array':
|
|
49
|
+
return Array.isArray(value);
|
|
50
|
+
default:
|
|
51
|
+
return true; // Cannot validate unknown types, so pass by default
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Windows Process Tree Utility Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides process tree management utilities specifically for Windows.
|
|
5
|
+
* It handles the case where shell: true spawns cmd.exe which then spawns
|
|
6
|
+
* the actual working process (like node.exe, python.exe, etc.).
|
|
7
|
+
*
|
|
8
|
+
* On non-Windows platforms, all methods return safe default values
|
|
9
|
+
* and don't perform any actual operations.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Gets all child process IDs for a given parent PID on Windows.
|
|
13
|
+
*
|
|
14
|
+
* @param pid - Parent process ID
|
|
15
|
+
@returns Promise resolving to array of child PID
|
|
16
|
+
*/
|
|
17
|
+
export declare function getChildren(pid: number): Promise<number[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Gets the entire process tree (all descendants) for a given PID.
|
|
20
|
+
* Includes the original PID at the beginning of the array.
|
|
21
|
+
*
|
|
22
|
+
* @param pid - Root process ID
|
|
23
|
+
* @returns Array of all process IDs in the tree
|
|
24
|
+
*/
|
|
25
|
+
export declare function getProcessTree(pid: number): Promise<number[]>;
|
|
26
|
+
/**
|
|
27
|
+
* Checks if any process in the process tree is still running.
|
|
28
|
+
*
|
|
29
|
+
* @param pid - Root process ID
|
|
30
|
+
* @returns True if any process in the tree is running
|
|
31
|
+
*/
|
|
32
|
+
export declare function isAnyInTreeRunning(pid: number): Promise<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* Tries to find the actual working process PID in the tree.
|
|
35
|
+
* This looks for processes that are likely the actual worker
|
|
36
|
+
* (node.exe, python.exe, etc.) rather than shell processes.
|
|
37
|
+
*
|
|
38
|
+
* @param pid - Root process ID
|
|
39
|
+
* @returns Working process PID if found, undefined otherwise
|
|
40
|
+
*/
|
|
41
|
+
export declare function getWorkingProcessPid(pid: number): Promise<number | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* Kills the entire process tree.
|
|
44
|
+
*
|
|
45
|
+
* @param pid - Root process ID
|
|
46
|
+
* @param signal - Signal to send (default: SIGTERM)
|
|
47
|
+
*/
|
|
48
|
+
export declare function killProcessTree(pid: number, signal?: NodeJS.Signals): Promise<void>;
|
|
49
|
+
//# sourceMappingURL=process-tree.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-tree.d.ts","sourceRoot":"","sources":["../../../../src/utils/process-tree.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAgBhE;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAqBnE;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBtE;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkCnF;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,OAAmB,GACjC,OAAO,CAAC,IAAI,CAAC,CAgCf"}
|