@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.
Files changed (322) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/client/assets/{HomeView-7rMg9C6t.js → HomeView-BBwvy1oj.js} +1 -1
  3. package/dist/client/assets/ResourceDetailView-CZ2aB73w.js +1 -0
  4. package/dist/client/assets/ResourceDetailView-DUJZbegl.css +1 -0
  5. package/dist/client/assets/ResourcesView-CN1NlhWs.js +1 -0
  6. package/dist/client/assets/ResourcesView-Cc8RHtia.css +1 -0
  7. package/dist/client/assets/ServerDashboard-BfLeFDGw.css +1 -0
  8. package/dist/client/assets/ServerDashboard-k652Vw4Z.js +1 -0
  9. package/dist/client/assets/ServerDetail-BLQ-a4cO.js +2 -0
  10. package/dist/client/assets/ServerDetail-CtnNKJGx.css +1 -0
  11. package/dist/client/assets/{ServerListView-Bws09jNR.css → ServerListView-B-bPljsO.css} +1 -1
  12. package/dist/client/assets/ServerListView-BHrsFD5i.js +36 -0
  13. package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHhwEuGe.js +1 -0
  14. package/dist/client/assets/SettingsView-CUOFNXrz.js +1 -0
  15. package/dist/client/assets/SettingsView-GkBOKL0V.css +1 -0
  16. package/dist/client/assets/ToolCallDialog-BfPjLxfV.js +1 -0
  17. package/dist/client/assets/ToolsView-BxgXvPC3.css +1 -0
  18. package/dist/client/assets/ToolsView-CyuhYAE2.js +1 -0
  19. package/dist/client/assets/{_baseClone-5q1b0P3O.js → _baseClone-DO5qfalW.js} +1 -1
  20. package/dist/client/assets/el-form-item-B4LbJ6OO.css +1 -0
  21. package/dist/client/assets/el-form-item-CcGsD2K_.js +12 -0
  22. package/dist/client/assets/el-input-BH4BZKnG.css +1 -0
  23. package/dist/client/assets/el-input-tYgeiaCT.js +1 -0
  24. package/dist/client/assets/{el-loading-H85n3BUC.js → el-loading-Dwl9E_Vr.js} +1 -1
  25. package/dist/client/assets/{el-select-C0U_l4IZ.css → el-overlay-CBvdpA69.css} +1 -1
  26. package/dist/client/assets/el-overlay-kqX_BABo.js +1 -0
  27. package/dist/client/assets/{ResourceDetailView-BdOaL_-o.css → el-radio-group-B0bauIRR.css} +1 -1
  28. package/dist/client/assets/el-radio-group-D8aWBVOT.js +1 -0
  29. package/dist/client/assets/el-skeleton-item-BLY1jEuR.css +1 -0
  30. package/dist/client/assets/el-skeleton-item-BRwIFspE.js +1 -0
  31. package/dist/client/assets/el-switch-BBrS-_6y.css +1 -0
  32. package/dist/client/assets/el-switch-BF8c-xeU.js +1 -0
  33. package/dist/client/assets/el-tab-pane-C4Ep94cd.js +1 -0
  34. package/dist/client/assets/el-table-column-BdvRS9Y2.css +1 -0
  35. package/dist/client/assets/el-table-column-Cog6uCh-.js +1 -0
  36. package/dist/client/assets/index-ByNBhPAR.js +1 -0
  37. package/dist/client/assets/index-CTB6oe-9.js +2 -0
  38. package/dist/client/assets/{index-BsDWtoIl.css → index-DpH6ZSbs.css} +1 -1
  39. package/dist/client/assets/omit-CUnDT6sS.js +1 -0
  40. package/dist/client/assets/{raf-DY5mgbuB.js → raf-CmzeRPMd.js} +1 -1
  41. package/dist/client/assets/{vue-vendor-6ny5zj9i.js → vue-vendor-CbgVSHIh.js} +3 -3
  42. package/dist/client/index.html +3 -3
  43. package/dist/server/shared/models/resource.model.d.ts +2 -1
  44. package/dist/server/shared/models/resource.model.d.ts.map +1 -1
  45. package/dist/server/shared/models/server.model.d.ts +362 -5
  46. package/dist/server/shared/models/server.model.d.ts.map +1 -1
  47. package/dist/server/shared/models/server.model.js +220 -1
  48. package/dist/server/shared/models/session.model.d.ts +1 -57
  49. package/dist/server/shared/models/session.model.d.ts.map +1 -1
  50. package/dist/server/shared/models/session.model.js +1 -55
  51. package/dist/server/shared/models/tool.model.d.ts +4 -2
  52. package/dist/server/shared/models/tool.model.d.ts.map +1 -1
  53. package/dist/server/shared/types/session-context.types.d.ts +0 -2
  54. package/dist/server/shared/types/session-context.types.d.ts.map +1 -1
  55. package/dist/server/shared/types/websocket.types.d.ts +17 -10
  56. package/dist/server/shared/types/websocket.types.d.ts.map +1 -1
  57. package/dist/server/src/api/mcp/debug-response-wrapper.js +2 -2
  58. package/dist/server/src/api/mcp/gateway.d.ts +1 -3
  59. package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
  60. package/dist/server/src/api/mcp/gateway.js +32 -49
  61. package/dist/server/src/api/web/hub-tools.d.ts +2 -2
  62. package/dist/server/src/api/web/hub-tools.d.ts.map +1 -1
  63. package/dist/server/src/api/web/hub-tools.js +3 -54
  64. package/dist/server/src/api/web/mcp-status.d.ts +1 -1
  65. package/dist/server/src/api/web/mcp-status.d.ts.map +1 -1
  66. package/dist/server/src/api/web/mcp-status.js +71 -30
  67. package/dist/server/src/api/web/resources.d.ts.map +1 -1
  68. package/dist/server/src/api/web/resources.js +28 -22
  69. package/dist/server/src/api/web/search.d.ts +2 -16
  70. package/dist/server/src/api/web/search.d.ts.map +1 -1
  71. package/dist/server/src/api/web/search.js +24 -45
  72. package/dist/server/src/api/web/servers.d.ts +3 -3
  73. package/dist/server/src/api/web/servers.d.ts.map +1 -1
  74. package/dist/server/src/api/web/servers.js +70 -25
  75. package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -1
  76. package/dist/server/src/api/ws/ws-handler.js +4 -2
  77. package/dist/server/src/app.d.ts.map +1 -1
  78. package/dist/server/src/app.js +0 -2
  79. package/dist/server/src/cli/commands/list.js +2 -2
  80. package/dist/server/src/cli/commands/server.d.ts +57 -0
  81. package/dist/server/src/cli/commands/server.d.ts.map +1 -0
  82. package/dist/server/src/cli/commands/server.js +169 -0
  83. package/dist/server/src/cli/commands/status.d.ts.map +1 -1
  84. package/dist/server/src/cli/commands/status.js +41 -30
  85. package/dist/server/src/cli/index.d.ts.map +1 -1
  86. package/dist/server/src/cli/index.js +2 -1
  87. package/dist/server/src/cli/server.d.ts +11 -2
  88. package/dist/server/src/cli/server.d.ts.map +1 -1
  89. package/dist/server/src/config/config-change-logger.d.ts +22 -0
  90. package/dist/server/src/config/config-change-logger.d.ts.map +1 -1
  91. package/dist/server/src/config/config-change-logger.js +135 -11
  92. package/dist/server/src/config/config-loader.d.ts +6 -5
  93. package/dist/server/src/config/config-loader.d.ts.map +1 -1
  94. package/dist/server/src/config/config-loader.js +54 -16
  95. package/dist/server/src/config/config-manager.d.ts +51 -43
  96. package/dist/server/src/config/config-manager.d.ts.map +1 -1
  97. package/dist/server/src/config/config-manager.js +84 -66
  98. package/dist/server/src/config/config-migrator.d.ts +82 -0
  99. package/dist/server/src/config/config-migrator.d.ts.map +1 -0
  100. package/dist/server/src/config/config-migrator.js +348 -0
  101. package/dist/server/src/config/config-saver.d.ts +2 -0
  102. package/dist/server/src/config/config-saver.d.ts.map +1 -1
  103. package/dist/server/src/config/config-saver.js +8 -2
  104. package/dist/server/src/config/config.schema.d.ts +10 -104
  105. package/dist/server/src/config/config.schema.d.ts.map +1 -1
  106. package/dist/server/src/config/config.schema.js +15 -99
  107. package/dist/server/src/config/path-validator.d.ts +27 -0
  108. package/dist/server/src/config/path-validator.d.ts.map +1 -0
  109. package/dist/server/src/config/path-validator.js +53 -0
  110. package/dist/server/src/config/server-config-manager.d.ts +37 -31
  111. package/dist/server/src/config/server-config-manager.d.ts.map +1 -1
  112. package/dist/server/src/config/server-config-manager.js +222 -66
  113. package/dist/server/src/config/type-converter.d.ts.map +1 -1
  114. package/dist/server/src/config/type-converter.js +3 -2
  115. package/dist/server/src/models/event.model.d.ts +17 -10
  116. package/dist/server/src/models/event.model.d.ts.map +1 -1
  117. package/dist/server/src/models/server.model.d.ts +17 -3
  118. package/dist/server/src/models/server.model.d.ts.map +1 -1
  119. package/dist/server/src/models/server.model.js +2 -1
  120. package/dist/server/src/models/system-tools.constants.d.ts +10 -27
  121. package/dist/server/src/models/system-tools.constants.d.ts.map +1 -1
  122. package/dist/server/src/models/system-tools.constants.js +4 -8
  123. package/dist/server/src/pid/manager.d.ts.map +1 -1
  124. package/dist/server/src/pid/manager.js +2 -1
  125. package/dist/server/src/server/dev-server.js +34 -20
  126. package/dist/server/src/server/runner.d.ts.map +1 -1
  127. package/dist/server/src/server/runner.js +41 -26
  128. package/dist/server/src/services/connection/connection-manager.d.ts +85 -103
  129. package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -1
  130. package/dist/server/src/services/connection/connection-manager.js +286 -241
  131. package/dist/server/src/services/connection/tool-cache.d.ts +27 -25
  132. package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -1
  133. package/dist/server/src/services/connection/tool-cache.js +50 -55
  134. package/dist/server/src/services/gateway/gateway.service.d.ts +2 -0
  135. package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -1
  136. package/dist/server/src/services/gateway/gateway.service.js +53 -23
  137. package/dist/server/src/services/gateway/global-transport.d.ts +19 -0
  138. package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -0
  139. package/dist/server/src/services/gateway/global-transport.js +66 -0
  140. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -1
  141. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +67 -65
  142. package/dist/server/src/services/gateway/request-handlers/index.d.ts +1 -1
  143. package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -1
  144. package/dist/server/src/services/gateway/request-handlers/index.js +1 -1
  145. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +1 -4
  146. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
  147. package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +20 -80
  148. package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts +35 -0
  149. package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts.map +1 -0
  150. package/dist/server/src/services/gateway/request-handlers/initialize.constants.js +44 -0
  151. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -1
  152. package/dist/server/src/services/gateway/request-handlers/resources-handler.js +5 -4
  153. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -1
  154. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +32 -77
  155. package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -1
  156. package/dist/server/src/services/gateway/tool-list-generator.js +37 -16
  157. package/dist/server/src/services/gateway/types.d.ts +2 -1
  158. package/dist/server/src/services/gateway/types.d.ts.map +1 -1
  159. package/dist/server/src/services/hub-manager.service.d.ts +32 -238
  160. package/dist/server/src/services/hub-manager.service.d.ts.map +1 -1
  161. package/dist/server/src/services/hub-manager.service.js +89 -267
  162. package/dist/server/src/services/hub-tools/index.d.ts +1 -3
  163. package/dist/server/src/services/hub-tools/index.d.ts.map +1 -1
  164. package/dist/server/src/services/hub-tools/index.js +1 -2
  165. package/dist/server/src/services/hub-tools/instance-matcher.d.ts +62 -0
  166. package/dist/server/src/services/hub-tools/instance-matcher.d.ts.map +1 -0
  167. package/dist/server/src/services/hub-tools/instance-matcher.js +132 -0
  168. package/dist/server/src/services/hub-tools/instance-selector.d.ts +29 -0
  169. package/dist/server/src/services/hub-tools/instance-selector.d.ts.map +1 -0
  170. package/dist/server/src/services/hub-tools/instance-selector.js +103 -0
  171. package/dist/server/src/services/hub-tools/resource-generator.d.ts +24 -1
  172. package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
  173. package/dist/server/src/services/hub-tools/resource-generator.js +259 -39
  174. package/dist/server/src/services/hub-tools/server-selector.d.ts +26 -13
  175. package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -1
  176. package/dist/server/src/services/hub-tools/server-selector.js +44 -37
  177. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +1 -4
  178. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -1
  179. package/dist/server/src/services/hub-tools/system-tool-definitions.js +17 -80
  180. package/dist/server/src/services/hub-tools/tool-search.d.ts +7 -7
  181. package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -1
  182. package/dist/server/src/services/hub-tools/tool-search.js +10 -4
  183. package/dist/server/src/services/hub-tools/types.d.ts +2 -2
  184. package/dist/server/src/services/hub-tools/types.d.ts.map +1 -1
  185. package/dist/server/src/services/hub-tools.service.d.ts +43 -72
  186. package/dist/server/src/services/hub-tools.service.d.ts.map +1 -1
  187. package/dist/server/src/services/hub-tools.service.js +185 -110
  188. package/dist/server/src/services/system-tool-handler.d.ts.map +1 -1
  189. package/dist/server/src/services/system-tool-handler.js +7 -17
  190. package/dist/server/src/utils/composite-key.d.ts +29 -0
  191. package/dist/server/src/utils/composite-key.d.ts.map +1 -0
  192. package/dist/server/src/utils/composite-key.js +39 -0
  193. package/dist/server/src/utils/error-handler.d.ts.map +1 -1
  194. package/dist/server/src/utils/error-handler.js +3 -2
  195. package/dist/server/src/utils/index.d.ts +2 -0
  196. package/dist/server/src/utils/index.d.ts.map +1 -1
  197. package/dist/server/src/utils/index.js +2 -0
  198. package/dist/server/src/utils/instance-id.d.ts +22 -0
  199. package/dist/server/src/utils/instance-id.d.ts.map +1 -0
  200. package/dist/server/src/utils/instance-id.js +59 -0
  201. package/dist/server/src/utils/json-utils.d.ts +4 -4
  202. package/dist/server/src/utils/json-utils.d.ts.map +1 -1
  203. package/dist/server/src/utils/json-utils.js +4 -4
  204. package/dist/server/src/utils/logger/dev-logger.d.ts +2 -1
  205. package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -1
  206. package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
  207. package/dist/server/src/utils/logger/log-formatter.js +82 -5
  208. package/dist/server/src/utils/logger/log-modules.d.ts +15 -9
  209. package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -1
  210. package/dist/server/src/utils/logger/log-modules.js +8 -6
  211. package/dist/server/src/utils/parameter-validator.d.ts +10 -0
  212. package/dist/server/src/utils/parameter-validator.d.ts.map +1 -0
  213. package/dist/server/src/utils/parameter-validator.js +53 -0
  214. package/dist/server/src/utils/process-tree.d.ts +49 -0
  215. package/dist/server/src/utils/process-tree.d.ts.map +1 -0
  216. package/dist/server/src/utils/process-tree.js +285 -0
  217. package/dist/server/src/utils/sort-utils.d.ts +40 -0
  218. package/dist/server/src/utils/sort-utils.d.ts.map +1 -0
  219. package/dist/server/src/utils/sort-utils.js +131 -0
  220. package/dist/server/src/utils/transports/sse-transport.d.ts +16 -1
  221. package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -1
  222. package/dist/server/src/utils/transports/sse-transport.js +55 -9
  223. package/dist/server/src/utils/transports/stdio-transport.d.ts +24 -53
  224. package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -1
  225. package/dist/server/src/utils/transports/stdio-transport.js +66 -247
  226. package/dist/server/src/utils/transports/streamable-http-transport.d.ts +24 -1
  227. package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -1
  228. package/dist/server/src/utils/transports/streamable-http-transport.js +68 -8
  229. package/dist/server/src/utils/transports/transport-factory.d.ts +9 -4
  230. package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -1
  231. package/dist/server/src/utils/transports/transport-factory.js +31 -11
  232. package/dist/server/src/utils/transports/transport.interface.d.ts +6 -0
  233. package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -1
  234. package/dist/server/src/utils/version.d.ts +11 -0
  235. package/dist/server/src/utils/version.d.ts.map +1 -0
  236. package/dist/server/src/utils/version.js +57 -0
  237. package/dist/server/tests/contract/mcp-protocol/initialize.test.js +24 -24
  238. package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +49 -45
  239. package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +35 -36
  240. package/dist/server/tests/integration/gateway/fault-tolerance.test.js +65 -25
  241. package/dist/server/tests/integration/gateway/mcp-connection.test.js +53 -61
  242. package/dist/server/tests/server.test.js +27 -16
  243. package/dist/server/tests/temp/temp-run-docling.d.ts +2 -0
  244. package/dist/server/tests/temp/temp-run-docling.d.ts.map +1 -0
  245. package/dist/server/tests/temp/temp-run-docling.js +53 -0
  246. package/dist/server/tests/types/test-helpers.d.ts +1 -2
  247. package/dist/server/tests/types/test-helpers.d.ts.map +1 -1
  248. package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts +2 -0
  249. package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts.map +1 -0
  250. package/dist/server/tests/unit/config/config-loader-automatic-migration.test.js +199 -0
  251. package/dist/server/tests/unit/config/config-migrator.test.d.ts +2 -0
  252. package/dist/server/tests/unit/config/config-migrator.test.d.ts.map +1 -0
  253. package/dist/server/tests/unit/config/config-migrator.test.js +316 -0
  254. package/dist/server/tests/unit/config/config-saver.test.d.ts +2 -0
  255. package/dist/server/tests/unit/config/config-saver.test.d.ts.map +1 -0
  256. package/dist/server/tests/unit/config/config-saver.test.js +200 -0
  257. package/dist/server/tests/unit/config/config.schema.test.d.ts +2 -0
  258. package/dist/server/tests/unit/config/config.schema.test.d.ts.map +1 -0
  259. package/dist/server/tests/unit/config/config.schema.test.js +347 -0
  260. package/dist/server/tests/unit/server/runner.test.js +86 -62
  261. package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts +2 -0
  262. package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts.map +1 -0
  263. package/dist/server/tests/unit/services/connection/connection-manager.test.js +112 -0
  264. package/dist/server/tests/unit/services/hub-manager-service.test.js +112 -46
  265. package/dist/server/tests/unit/services/hub-manager.test.js +25 -15
  266. package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts +2 -0
  267. package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts.map +1 -0
  268. package/dist/server/tests/unit/services/hub-tools/instance-selector.test.js +195 -0
  269. package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts +2 -0
  270. package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts.map +1 -0
  271. package/dist/server/tests/unit/services/hub-tools/server-selector.test.js +190 -0
  272. package/dist/server/tests/unit/services/hub-tools.service.test.js +560 -320
  273. package/dist/server/tests/unit/services/instance-matcher.test.d.ts +2 -0
  274. package/dist/server/tests/unit/services/instance-matcher.test.d.ts.map +1 -0
  275. package/dist/server/tests/unit/services/instance-matcher.test.js +256 -0
  276. package/dist/server/tests/unit/services/session-manager.test.js +26 -436
  277. package/dist/server/tests/unit/utils/config.test.js +88 -186
  278. package/dist/server/tests/unit/utils/json-utils.test.js +18 -18
  279. package/dist/server/tests/unit/utils/logger-formatter.test.d.ts +2 -0
  280. package/dist/server/tests/unit/utils/logger-formatter.test.d.ts.map +1 -0
  281. package/dist/server/tests/unit/utils/logger-formatter.test.js +66 -0
  282. package/dist/server/tests/unit/utils/parameter-validator.test.d.ts +2 -0
  283. package/dist/server/tests/unit/utils/parameter-validator.test.d.ts.map +1 -0
  284. package/dist/server/tests/unit/utils/parameter-validator.test.js +63 -0
  285. package/dist/server/tests/unit/utils/process-tree.test.d.ts +2 -0
  286. package/dist/server/tests/unit/utils/process-tree.test.d.ts.map +1 -0
  287. package/dist/server/tests/unit/utils/process-tree.test.js +129 -0
  288. package/dist/server/tests/unit/utils/sort-utils.test.d.ts +2 -0
  289. package/dist/server/tests/unit/utils/sort-utils.test.d.ts.map +1 -0
  290. package/dist/server/tests/unit/utils/sort-utils.test.js +220 -0
  291. package/dist/server/tests/unit/utils/transport-factory.test.d.ts +2 -0
  292. package/dist/server/tests/unit/utils/transport-factory.test.d.ts.map +1 -0
  293. package/dist/server/tests/unit/utils/transport-factory.test.js +55 -0
  294. package/package.json +3 -1
  295. package/dist/client/assets/ResourceDetailView-Bf-1ffbk.js +0 -1
  296. package/dist/client/assets/ResourcesView-CjMklkyv.css +0 -1
  297. package/dist/client/assets/ResourcesView-g5x4xCPh.js +0 -1
  298. package/dist/client/assets/ServerDashboard-Chpne8Q0.css +0 -1
  299. package/dist/client/assets/ServerDashboard-G8Wmp4hF.js +0 -2
  300. package/dist/client/assets/ServerListView-dV2XrPjo.js +0 -32
  301. package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +0 -1
  302. package/dist/client/assets/SessionsView-Ckd38lj1.js +0 -1
  303. package/dist/client/assets/SettingsView-BJUdepEQ.js +0 -1
  304. package/dist/client/assets/ToolCallDialog-C_bTCpHC.js +0 -1
  305. package/dist/client/assets/ToolsView-0c2eputu.js +0 -1
  306. package/dist/client/assets/ToolsView-E3Ps9c7i.css +0 -1
  307. package/dist/client/assets/el-form-item-BVMLpmVC.css +0 -1
  308. package/dist/client/assets/el-form-item-ClFnj49k.js +0 -12
  309. package/dist/client/assets/el-input-CDnuSKVZ.js +0 -1
  310. package/dist/client/assets/el-input-CmuHb8HS.css +0 -1
  311. package/dist/client/assets/el-overlay-B2ZKM6Up.css +0 -1
  312. package/dist/client/assets/el-overlay-CzMkXyYy.js +0 -1
  313. package/dist/client/assets/el-select-DvjGddk_.js +0 -1
  314. package/dist/client/assets/el-tab-pane-C_DQMcwe.js +0 -1
  315. package/dist/client/assets/el-table-column-CASRIbZM.js +0 -1
  316. package/dist/client/assets/el-table-column-T_mV9jNw.css +0 -1
  317. package/dist/client/assets/el-tag-DjxZVOpb.css +0 -1
  318. package/dist/client/assets/el-tag-npbwux4f.js +0 -1
  319. package/dist/client/assets/index-CCnAxNF8.js +0 -2
  320. package/dist/client/assets/index-d1DZeSfz.js +0 -1
  321. package/dist/client/assets/omit-DPsOVNIJ.js +0 -1
  322. package/dist/client/assets/vnode-CHomNjgN.js +0 -1
@@ -4,7 +4,6 @@
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema, McpError } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { logger, LOG_MODULES } from '../../../utils/index.js';
6
6
  import { stringifyForLogging } from '../../../utils/json-utils.js';
7
- import { getSessionCwd } from '../../../utils/request-context.js';
8
7
  import { mcpConnectionManager } from '../../mcp-connection-manager.js';
9
8
  import { SystemToolHandler } from '../../system-tool-handler.js';
10
9
  import { ErrorHandler } from '../../../utils/error-handler.js';
@@ -12,6 +11,64 @@ import { ToolArgsParser } from '../../../utils/tool-args-parser.js';
12
11
  import { SYSTEM_TOOL_NAMES, MCP_HUB_LITE_SERVER } from '../../../models/system-tools.constants.js';
13
12
  import { formatToolArgs, formatToolResponse } from '../log-formatter.js';
14
13
  import { generateGatewayToolsList } from '../tool-list-generator.js';
14
+ /**
15
+ * Type guard to check if a result is a valid CallToolResult.
16
+ *
17
+ * @param result - The result to check
18
+ * @returns True if result has the expected CallToolResult structure
19
+ */
20
+ function isCallToolResult(result) {
21
+ return (!!result && typeof result === 'object' && 'content' in result && Array.isArray(result.content));
22
+ }
23
+ /**
24
+ * Executes a system tool call via the SystemToolHandler.
25
+ *
26
+ * @param toolName - Name of the system tool to call
27
+ * @param toolArgs - Arguments to pass to the tool
28
+ * @returns CallToolResult with the tool execution result
29
+ */
30
+ async function executeSystemToolCall(toolName, toolArgs) {
31
+ try {
32
+ const result = await SystemToolHandler.handleSystemToolCall(toolName, toolArgs);
33
+ if (isCallToolResult(result)) {
34
+ return result;
35
+ }
36
+ return {
37
+ content: [
38
+ {
39
+ type: 'text',
40
+ text: stringifyForLogging(result)
41
+ }
42
+ ]
43
+ };
44
+ }
45
+ catch (error) {
46
+ ErrorHandler.handleSystemToolError(toolName, error);
47
+ }
48
+ }
49
+ /**
50
+ * Parses a tool name to check if it refers to a system tool.
51
+ * Handles both direct system tool names (e.g., "list_servers") and
52
+ * prefixed names (e.g., "mcp__mcp-hub-lite__list_servers").
53
+ *
54
+ * @param toolName - The tool name to parse
55
+ * @returns The system tool name if it's a system tool, null otherwise
56
+ */
57
+ function getSystemToolName(toolName) {
58
+ const parsedTool = ToolArgsParser.parsePrefixedToolName(toolName);
59
+ if (parsedTool) {
60
+ logger.debug(`Parsed prefixed tool name: "${toolName}" → server="${parsedTool.serverName}", tool="${parsedTool.toolName}"`, LOG_MODULES.GATEWAY);
61
+ if (parsedTool.serverName === MCP_HUB_LITE_SERVER &&
62
+ SYSTEM_TOOL_NAMES.includes(parsedTool.toolName)) {
63
+ logger.info(`System tool called via prefixed name: ${parsedTool.toolName}`, LOG_MODULES.GATEWAY);
64
+ return parsedTool.toolName;
65
+ }
66
+ }
67
+ if (SYSTEM_TOOL_NAMES.includes(toolName)) {
68
+ return toolName;
69
+ }
70
+ return null;
71
+ }
15
72
  /**
16
73
  * Register call tool handler on the MCP server.
17
74
  *
@@ -30,82 +87,27 @@ export function registerCallToolHandler(server, toolMap) {
30
87
  server.server.setRequestHandler(CallToolRequestSchema, async (request) => {
31
88
  const toolName = request.params.name;
32
89
  const toolArgs = request.params.arguments || {};
33
- // Parse prefixed tool names (like mcp__mcp-hub-lite__xxx) if applicable
34
- // This handles Claude Code style tool names with server prefix
35
- const parsedTool = ToolArgsParser.parsePrefixedToolName(toolName);
36
- if (parsedTool) {
37
- logger.debug(`Parsed prefixed tool name: "${toolName}" → server="${parsedTool.serverName}", tool="${parsedTool.toolName}"`, LOG_MODULES.GATEWAY);
38
- // Check if it's a system tool call
39
- if (parsedTool.serverName === MCP_HUB_LITE_SERVER &&
40
- SYSTEM_TOOL_NAMES.includes(parsedTool.toolName)) {
41
- logger.info(`System tool called via prefixed name: ${parsedTool.toolName}`, LOG_MODULES.GATEWAY);
42
- try {
43
- const result = await SystemToolHandler.handleSystemToolCall(parsedTool.toolName, toolArgs);
44
- if (result &&
45
- typeof result === 'object' &&
46
- 'content' in result &&
47
- Array.isArray(result.content)) {
48
- return result;
49
- }
50
- return {
51
- content: [
52
- {
53
- type: 'text',
54
- text: stringifyForLogging(result)
55
- }
56
- ]
57
- };
58
- }
59
- catch (error) {
60
- ErrorHandler.handleSystemToolError(parsedTool.toolName, error);
61
- }
62
- }
63
- }
90
+ const systemToolName = getSystemToolName(toolName);
64
91
  // Log incoming tool request with full context
65
92
  logger.info(`Tool call REQUEST received: toolName=${toolName}, args=${formatToolArgs(toolArgs)}`, LOG_MODULES.GATEWAY);
66
93
  logger.debug(`Tool context: toolMap size=${toolMap.size}, available tools=${Array.from(toolMap.keys()).slice(0, 10).join(', ')}${toolMap.size > 10 ? '...' : ''}`, LOG_MODULES.GATEWAY);
67
94
  // Handle system tools
68
- if (typeof toolName === 'string' && SYSTEM_TOOL_NAMES.includes(toolName)) {
69
- logger.debug(`System tool called: ${toolName}, args=${formatToolArgs(toolArgs)}`, LOG_MODULES.GATEWAY);
70
- try {
71
- const result = await SystemToolHandler.handleSystemToolCall(toolName, toolArgs);
72
- if (result &&
73
- typeof result === 'object' &&
74
- 'content' in result &&
75
- Array.isArray(result.content)) {
76
- return result;
77
- }
78
- return {
79
- content: [
80
- {
81
- type: 'text',
82
- text: stringifyForLogging(result)
83
- }
84
- ]
85
- };
86
- }
87
- catch (error) {
88
- ErrorHandler.handleSystemToolError(toolName, error);
89
- }
95
+ if (systemToolName) {
96
+ logger.debug(`System tool called: ${systemToolName}, args=${formatToolArgs(toolArgs)}`, LOG_MODULES.GATEWAY);
97
+ return await executeSystemToolCall(systemToolName, toolArgs);
90
98
  }
91
99
  const target = toolMap.get(toolName);
92
- logger.debug(`Tool lookup SUCCESS: toolName=${toolName} -> serverId=${target?.serverId}, realToolName=${target?.realToolName}`, LOG_MODULES.GATEWAY);
100
+ logger.debug(`Tool lookup SUCCESS: toolName=${toolName} -> serverName=${target?.serverName}, serverIndex=${target?.serverIndex}, realToolName=${target?.realToolName}`, LOG_MODULES.GATEWAY);
93
101
  if (!target) {
94
102
  logger.error(`Tool NOT FOUND: toolName=${toolName}, available tools=${Array.from(toolMap.keys()).join(', ')}`, LOG_MODULES.GATEWAY);
95
103
  throw new McpError(-32801, `Tool ${toolName} not found`);
96
104
  }
97
105
  const startTime = Date.now();
98
106
  try {
99
- // Inject CWD if available and not present in args
100
- const cwd = getSessionCwd();
101
- if (cwd && !toolArgs.cwd) {
102
- toolArgs.cwd = cwd;
103
- logger.debug(`Injected CWD into tool call ${toolName}: ${cwd}`, LOG_MODULES.dynamic(toolName));
104
- }
105
- logger.debug(`Tool call EXECUTING: serverId=${target.serverId}, realToolName=${target.realToolName}, args=${formatToolArgs(toolArgs)}`, LOG_MODULES.GATEWAY);
106
- const result = await mcpConnectionManager.callTool(target.serverId, target.realToolName, toolArgs);
107
+ logger.debug(`Tool call EXECUTING: serverName=${target.serverName}, serverIndex=${target.serverIndex}, realToolName=${target.realToolName}, args=${formatToolArgs(toolArgs)}`, LOG_MODULES.GATEWAY);
108
+ const result = await mcpConnectionManager.callTool(target.serverName, target.serverIndex, target.realToolName, toolArgs);
107
109
  const duration = Date.now() - startTime;
108
- logger.info(`Tool call SUCCESS: serverId=${target.serverId}, realToolName=${target.realToolName}, duration=${duration}ms, response=${formatToolResponse(result)}`, LOG_MODULES.GATEWAY);
110
+ logger.info(`Tool call SUCCESS: serverName=${target.serverName}, serverIndex=${target.serverIndex}, realToolName=${target.realToolName}, duration=${duration}ms, response=${formatToolResponse(result)}`, LOG_MODULES.GATEWAY);
109
111
  // Wrap the result in a valid CallToolResult structure
110
112
  if (typeof result === 'object' && result !== null) {
111
113
  return {
@@ -125,7 +127,7 @@ export function registerCallToolHandler(server, toolMap) {
125
127
  }
126
128
  }
127
129
  catch (error) {
128
- ErrorHandler.handleToolCallError(target.serverId, target.realToolName, error);
130
+ ErrorHandler.handleToolCallError(`${target.serverName}-${target.serverIndex}`, target.realToolName, error);
129
131
  }
130
132
  });
131
133
  }
@@ -2,8 +2,8 @@
2
2
  * Gateway request handlers index.
3
3
  */
4
4
  export { registerInitializeHandlers } from './initialize-handler.js';
5
- export { registerToolsHandlers } from './tools-handler.js';
6
5
  export { registerResourcesHandlers } from './resources-handler.js';
7
6
  export { registerSystemToolsHandlers } from './system-tools-handler.js';
8
7
  export { registerCallToolHandler } from './call-tool-handler.js';
8
+ export * from './initialize.constants.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,cAAc,2BAA2B,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Gateway request handlers index.
3
3
  */
4
4
  export { registerInitializeHandlers } from './initialize-handler.js';
5
- export { registerToolsHandlers } from './tools-handler.js';
6
5
  export { registerResourcesHandlers } from './resources-handler.js';
7
6
  export { registerSystemToolsHandlers } from './system-tools-handler.js';
8
7
  export { registerCallToolHandler } from './call-tool-handler.js';
8
+ export * from './initialize.constants.js';
@@ -1,7 +1,4 @@
1
- /**
2
- * Initialize and ping request handlers for Gateway service.
3
- */
4
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
2
  /**
6
3
  * Register initialize and ping handlers on the MCP server.
7
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"initialize-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/initialize-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8HlE"}
1
+ {"version":3,"file":"initialize-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/initialize-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+DlE"}
@@ -1,76 +1,28 @@
1
- /**
2
- * Initialize and ping request handlers for Gateway service.
3
- */
4
- import { z } from 'zod';
5
- import { logger, LOG_MODULES } from '../../../utils/index.js';
6
- import { getSessionContext } from '../../../utils/request-context.js';
7
- import { sessionTrackerService } from '../../session-tracker.service.js';
1
+ import { logger, LOG_MODULES } from '../../../utils/logger/index.js';
8
2
  import { MCP_HUB_LITE_SERVER } from '../../../models/system-tools.constants.js';
3
+ import { getAppVersion, getProtocolVersion } from '../../../utils/version.js';
4
+ import { InitializedNotificationSchema, InitializeRequestSchema, PingRequestSchema } from './initialize.constants.js';
9
5
  /**
10
6
  * Register initialize and ping handlers on the MCP server.
11
7
  *
12
8
  * @param server - MCP server instance to register handlers on
13
9
  */
14
10
  export function registerInitializeHandlers(server) {
15
- // MCP standard initialize handler
16
- const InitializeRequestSchema = z.object({
17
- method: z.literal('initialize'),
18
- params: z
19
- .object({
20
- clientInfo: z
21
- .object({
22
- name: z.string(),
23
- version: z.string(),
24
- mcpVersion: z.string().optional()
25
- })
26
- .optional(),
27
- capabilities: z
28
- .object({
29
- tools: z
30
- .object({
31
- list: z.boolean().optional(),
32
- execute: z.boolean().optional()
33
- })
34
- .optional(),
35
- roots: z
36
- .object({
37
- list: z.boolean().optional()
38
- })
39
- .optional(),
40
- experimental: z.record(z.string(), z.any()).optional()
41
- })
42
- .optional(),
43
- protocolVersion: z.string().optional()
44
- })
45
- .optional(),
46
- id: z.union([z.string(), z.number()]),
47
- jsonrpc: z.literal('2.0')
48
- });
49
11
  server.server.setRequestHandler(InitializeRequestSchema, async (request) => {
50
- // Capture session info
51
- const context = getSessionContext();
52
- if (context && request.params?.clientInfo) {
12
+ if (request.params?.clientInfo) {
53
13
  const { name, version } = request.params.clientInfo;
14
+ const protocolVersion = request.params?.protocolVersion || getProtocolVersion();
54
15
  const clientCapabilities = request.params?.capabilities;
55
- logger.info(`Initialized client: ${name} v${version} (ID: ${context.sessionId})`, LOG_MODULES.GATEWAY);
16
+ logger.debug(`Initialized client: Name=${name}, Version=${version}, ProtocolVersion=${protocolVersion}`, LOG_MODULES.GATEWAY);
56
17
  if (clientCapabilities?.roots) {
57
18
  logger.debug(`Client ${name} supports roots capability`, LOG_MODULES.GATEWAY);
58
19
  }
59
- // Update session info in tracker with capabilities
60
- sessionTrackerService.updateSession({
61
- ...context,
62
- clientName: name,
63
- clientVersion: version,
64
- protocolVersion: request.params?.protocolVersion,
65
- capabilities: clientCapabilities
66
- });
67
20
  }
68
21
  return {
69
- protocolVersion: '2024-11-05',
22
+ protocolVersion: getProtocolVersion(),
70
23
  serverInfo: {
71
24
  name: MCP_HUB_LITE_SERVER,
72
- version: '1.0.0',
73
- mcpVersion: '2024-11-05'
25
+ version: getAppVersion()
74
26
  },
75
27
  capabilities: {
76
28
  tools: {
@@ -85,33 +37,21 @@ export function registerInitializeHandlers(server) {
85
37
  }
86
38
  };
87
39
  });
88
- // MCP standard ping handler
89
- const PingRequestSchema = z.object({
90
- method: z.literal('ping'),
91
- params: z.object({}).optional(),
92
- id: z.union([z.string(), z.number()]),
93
- jsonrpc: z.literal('2.0')
94
- });
95
40
  server.server.setRequestHandler(PingRequestSchema, async () => {
96
- return { pong: true }; // Response format compliant with MCP specification
97
- });
98
- // MCP initialized notification handler
99
- const InitializedNotificationSchema = z.object({
100
- method: z.literal('notifications/initialized'),
101
- params: z.any().optional(),
102
- jsonrpc: z.literal('2.0')
41
+ return { pong: true };
103
42
  });
104
- server.server.setNotificationHandler(InitializedNotificationSchema, async () => {
105
- const context = getSessionContext();
106
- if (!context) {
107
- logger.warn('Received initialized notification but no session context available', LOG_MODULES.GATEWAY);
108
- return;
43
+ server.server.setNotificationHandler(InitializedNotificationSchema, async (notification) => {
44
+ logger.debug('Received initialized notification from client', LOG_MODULES.GATEWAY);
45
+ logger.debug(`Initialized notification details: ${JSON.stringify(notification)}`, LOG_MODULES.GATEWAY);
46
+ try {
47
+ // Process the notification
48
+ logger.debug('Successfully processed initialized notification', LOG_MODULES.GATEWAY);
109
49
  }
110
- const sessionInfo = sessionTrackerService.getSession(context.sessionId);
111
- if (!sessionInfo) {
112
- logger.warn(`Received initialized notification but no session info for session ${context.sessionId}`, LOG_MODULES.GATEWAY);
113
- return;
50
+ catch (error) {
51
+ const errorMessage = error instanceof Error ? error.message : String(error);
52
+ logger.error(`Error processing initialized notification: ${errorMessage}`, LOG_MODULES.GATEWAY);
53
+ logger.error(`Notification that caused error: ${JSON.stringify(notification)}`, LOG_MODULES.GATEWAY);
54
+ throw error; // Re-throw to see if this is the source of the problem
114
55
  }
115
- logger.debug(`Received initialized notification from client ${sessionInfo.clientName || 'unknown'} (${context.sessionId})`, LOG_MODULES.GATEWAY);
116
56
  });
117
57
  }
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ export declare const InitializeRequestSchema: z.ZodObject<{
3
+ method: z.ZodLiteral<"initialize">;
4
+ params: z.ZodOptional<z.ZodObject<{
5
+ clientInfo: z.ZodOptional<z.ZodObject<{
6
+ name: z.ZodString;
7
+ version: z.ZodString;
8
+ }, z.core.$strip>>;
9
+ capabilities: z.ZodOptional<z.ZodObject<{
10
+ tools: z.ZodOptional<z.ZodObject<{
11
+ list: z.ZodOptional<z.ZodBoolean>;
12
+ execute: z.ZodOptional<z.ZodBoolean>;
13
+ }, z.core.$strip>>;
14
+ roots: z.ZodOptional<z.ZodObject<{
15
+ list: z.ZodOptional<z.ZodBoolean>;
16
+ }, z.core.$strip>>;
17
+ experimental: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
18
+ }, z.core.$strip>>;
19
+ protocolVersion: z.ZodOptional<z.ZodString>;
20
+ }, z.core.$strip>>;
21
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
22
+ jsonrpc: z.ZodLiteral<"2.0">;
23
+ }, z.core.$strip>;
24
+ export declare const PingRequestSchema: z.ZodObject<{
25
+ method: z.ZodLiteral<"ping">;
26
+ params: z.ZodOptional<z.ZodObject<{}, z.core.$strip>>;
27
+ id: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
28
+ jsonrpc: z.ZodLiteral<"2.0">;
29
+ }, z.core.$strip>;
30
+ export declare const InitializedNotificationSchema: z.ZodObject<{
31
+ method: z.ZodLiteral<"notifications/initialized">;
32
+ params: z.ZodOptional<z.ZodAny>;
33
+ jsonrpc: z.ZodLiteral<"2.0">;
34
+ }, z.core.$strip>;
35
+ //# sourceMappingURL=initialize.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.constants.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/initialize.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;iBA+BlC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ export const InitializeRequestSchema = z.object({
3
+ method: z.literal('initialize'),
4
+ params: z
5
+ .object({
6
+ clientInfo: z
7
+ .object({
8
+ name: z.string(),
9
+ version: z.string()
10
+ })
11
+ .optional(),
12
+ capabilities: z
13
+ .object({
14
+ tools: z
15
+ .object({
16
+ list: z.boolean().optional(),
17
+ execute: z.boolean().optional()
18
+ })
19
+ .optional(),
20
+ roots: z
21
+ .object({
22
+ list: z.boolean().optional()
23
+ })
24
+ .optional(),
25
+ experimental: z.record(z.string(), z.any()).optional()
26
+ })
27
+ .optional(),
28
+ protocolVersion: z.string().optional()
29
+ })
30
+ .optional(),
31
+ id: z.union([z.string(), z.number()]),
32
+ jsonrpc: z.literal('2.0')
33
+ });
34
+ export const PingRequestSchema = z.object({
35
+ method: z.literal('ping'),
36
+ params: z.object({}).optional(),
37
+ id: z.union([z.string(), z.number()]),
38
+ jsonrpc: z.literal('2.0')
39
+ });
40
+ export const InitializedNotificationSchema = z.object({
41
+ method: z.literal('notifications/initialized'),
42
+ params: z.any().optional(),
43
+ jsonrpc: z.literal('2.0')
44
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"resources-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/resources-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwCjE"}
1
+ {"version":3,"file":"resources-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/resources-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwCjE"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { ListResourcesRequestSchema, ReadResourceRequestSchema, McpError } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { logger } from '../../../utils/index.js';
6
+ import { LOG_MODULES } from '../../../utils/logger/log-modules.js';
6
7
  import { stringifyForLogging } from '../../../utils/json-utils.js';
7
8
  import { hubToolsService } from '../../hub-tools.service.js';
8
9
  /**
@@ -18,11 +19,11 @@ export function registerResourcesHandlers(server) {
18
19
  }
19
20
  catch (error) {
20
21
  if (error instanceof Error) {
21
- logger.error(`List resources error:`, error);
22
+ logger.error(`List resources error:`, error, LOG_MODULES.RESOURCES_HANDLER);
22
23
  throw new McpError(-32802, error.message);
23
24
  }
24
25
  else {
25
- logger.error(`List resources error:`, error);
26
+ logger.error(`List resources error:`, error, LOG_MODULES.RESOURCES_HANDLER);
26
27
  throw new McpError(-32802, String(error));
27
28
  }
28
29
  }
@@ -44,11 +45,11 @@ export function registerResourcesHandlers(server) {
44
45
  }
45
46
  catch (error) {
46
47
  if (error instanceof Error) {
47
- logger.error(`Read resource error:`, error);
48
+ logger.error(`Read resource error:`, error, LOG_MODULES.RESOURCES_HANDLER);
48
49
  throw new McpError(-32802, error.message);
49
50
  }
50
51
  else {
51
- logger.error(`Read resource error:`, error);
52
+ logger.error(`Read resource error:`, error, LOG_MODULES.RESOURCES_HANDLER);
52
53
  throw new McpError(-32802, String(error));
53
54
  }
54
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"system-tools-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/system-tools-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAczE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA4OnE"}
1
+ {"version":3,"file":"system-tools-handler.d.ts","sourceRoot":"","sources":["../../../../../../src/services/gateway/request-handlers/system-tools-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyLnE"}
@@ -4,9 +4,9 @@
4
4
  import { z } from 'zod';
5
5
  import { McpError } from '@modelcontextprotocol/sdk/types.js';
6
6
  import { logger } from '../../../utils/index.js';
7
- import { getSessionCwd } from '../../../utils/request-context.js';
7
+ import { LOG_MODULES } from '../../../utils/logger/log-modules.js';
8
8
  import { hubToolsService } from '../../hub-tools.service.js';
9
- import { LIST_SERVERS_TOOL, FIND_SERVERS_TOOL, LIST_ALL_TOOLS_IN_SERVER_TOOL, FIND_TOOLS_IN_SERVER_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, FIND_TOOLS_TOOL } from '../../../models/system-tools.constants.js';
9
+ import { LIST_SERVERS_TOOL, LIST_TOOLS_IN_SERVER_TOOL, GET_TOOL_TOOL, CALL_TOOL_TOOL, UPDATE_SERVER_DESCRIPTION_TOOL } from '../../../models/system-tools.constants.js';
10
10
  /**
11
11
  * Register system tools handlers on the MCP server.
12
12
  *
@@ -24,63 +24,11 @@ export function registerSystemToolsHandlers(server) {
24
24
  const servers = await hubToolsService.listServers();
25
25
  return { servers };
26
26
  });
27
- // Find servers
28
- const FindServersRequestSchema = z.object({
29
- method: z.literal(FIND_SERVERS_TOOL),
30
- params: z.object({
31
- pattern: z.string(),
32
- searchIn: z.enum(['name', 'description', 'both']).optional().default('both'),
33
- caseSensitive: z.boolean().optional().default(false)
34
- }),
35
- id: z.union([z.string(), z.number()]),
36
- jsonrpc: z.literal('2.0')
37
- });
38
- server.server.setRequestHandler(FindServersRequestSchema, async (request) => {
39
- const servers = await hubToolsService.findServers(request.params);
40
- return { servers };
41
- });
42
27
  // List all tools in a specific server
43
- const ListAllToolsInServerRequestSchema = z.object({
44
- method: z.literal(LIST_ALL_TOOLS_IN_SERVER_TOOL),
45
- params: z.object({
46
- serverName: z.string(),
47
- requestOptions: z
48
- .object({
49
- sessionId: z
50
- .union([z.string(), z.null()])
51
- .optional()
52
- .transform((val) => val ?? undefined),
53
- tags: z.record(z.string(), z.string()).optional()
54
- })
55
- .optional()
56
- }),
57
- id: z.union([z.string(), z.number()]),
58
- jsonrpc: z.literal('2.0')
59
- });
60
- server.server.setRequestHandler(ListAllToolsInServerRequestSchema, async (request) => {
61
- try {
62
- const result = await hubToolsService.listAllToolsInServer(request.params);
63
- return result;
64
- }
65
- catch (error) {
66
- if (error instanceof Error) {
67
- logger.error(`List tools in server error:`, error);
68
- throw new McpError(-32802, error.message);
69
- }
70
- else {
71
- logger.error(`List tools in server error:`, error);
72
- throw new McpError(-32802, String(error));
73
- }
74
- }
75
- });
76
- // Find tools in a specific server
77
- const FindToolsInServerRequestSchema = z.object({
78
- method: z.literal(FIND_TOOLS_IN_SERVER_TOOL),
28
+ const ListToolsInServerRequestSchema = z.object({
29
+ method: z.literal(LIST_TOOLS_IN_SERVER_TOOL),
79
30
  params: z.object({
80
31
  serverName: z.string(),
81
- pattern: z.string(),
82
- searchIn: z.enum(['name', 'description', 'both']).optional().default('both'),
83
- caseSensitive: z.boolean().optional().default(false),
84
32
  requestOptions: z
85
33
  .object({
86
34
  sessionId: z
@@ -94,18 +42,18 @@ export function registerSystemToolsHandlers(server) {
94
42
  id: z.union([z.string(), z.number()]),
95
43
  jsonrpc: z.literal('2.0')
96
44
  });
97
- server.server.setRequestHandler(FindToolsInServerRequestSchema, async (request) => {
45
+ server.server.setRequestHandler(ListToolsInServerRequestSchema, async (request) => {
98
46
  try {
99
- const result = await hubToolsService.findToolsInServer(request.params);
47
+ const result = await hubToolsService.listToolsInServer(request.params);
100
48
  return result;
101
49
  }
102
50
  catch (error) {
103
51
  if (error instanceof Error) {
104
- logger.error(`Find tools in server error:`, error);
52
+ logger.error(`List tools in server error:`, error, LOG_MODULES.SYSTEM_TOOLS_HANDLER);
105
53
  throw new McpError(-32802, error.message);
106
54
  }
107
55
  else {
108
- logger.error(`Find tools in server error:`, error);
56
+ logger.error(`List tools in server error:`, error, LOG_MODULES.SYSTEM_TOOLS_HANDLER);
109
57
  throw new McpError(-32802, String(error));
110
58
  }
111
59
  }
@@ -138,7 +86,7 @@ export function registerSystemToolsHandlers(server) {
138
86
  return { tool };
139
87
  }
140
88
  catch (error) {
141
- logger.error(`Get tool error:`, error);
89
+ logger.error(`Get tool error:`, error, LOG_MODULES.SYSTEM_TOOLS_HANDLER);
142
90
  if (error instanceof McpError) {
143
91
  throw error;
144
92
  }
@@ -173,12 +121,6 @@ export function registerSystemToolsHandlers(server) {
173
121
  server.server.setRequestHandler(CallToolDirectRequestSchema, async (request) => {
174
122
  try {
175
123
  const params = { ...request.params };
176
- // Inject CWD if available and not present in args
177
- const cwd = getSessionCwd();
178
- if (cwd && !params.toolArgs.cwd) {
179
- params.toolArgs.cwd = cwd;
180
- logger.debug(`Injected CWD into direct tool call: ${cwd}`);
181
- }
182
124
  const result = await hubToolsService.callTool(params);
183
125
  // Wrap the result in a valid CallToolResult structure
184
126
  if (typeof result === 'object' && result !== null) {
@@ -199,7 +141,7 @@ export function registerSystemToolsHandlers(server) {
199
141
  }
200
142
  }
201
143
  catch (error) {
202
- logger.error(`Call tool error:`, error);
144
+ logger.error(`Call tool error:`, error, LOG_MODULES.SYSTEM_TOOLS_HANDLER);
203
145
  if (error instanceof McpError) {
204
146
  throw error;
205
147
  }
@@ -222,19 +164,32 @@ export function registerSystemToolsHandlers(server) {
222
164
  const allTools = await hubToolsService.listAllTools();
223
165
  return allTools;
224
166
  });
225
- // Find tools across all servers
226
- const FindToolsRequestSchema = z.object({
227
- method: z.literal(FIND_TOOLS_TOOL),
167
+ // Update server description
168
+ const UpdateServerDescriptionRequestSchema = z.object({
169
+ method: z.literal(UPDATE_SERVER_DESCRIPTION_TOOL),
228
170
  params: z.object({
229
- pattern: z.string(),
230
- searchIn: z.enum(['name', 'description', 'both']).optional().default('both'),
231
- caseSensitive: z.boolean().optional().default(false)
171
+ serverName: z.string(),
172
+ description: z.string()
232
173
  }),
233
174
  id: z.union([z.string(), z.number()]),
234
175
  jsonrpc: z.literal('2.0')
235
176
  });
236
- server.server.setRequestHandler(FindToolsRequestSchema, async (request) => {
237
- const tools = await hubToolsService.findTools(request.params);
238
- return tools;
177
+ server.server.setRequestHandler(UpdateServerDescriptionRequestSchema, async (request) => {
178
+ try {
179
+ const result = await hubToolsService.updateServerDescription(request.params);
180
+ return result;
181
+ }
182
+ catch (error) {
183
+ logger.error(`Update server description error:`, error, LOG_MODULES.SYSTEM_TOOLS_HANDLER);
184
+ if (error instanceof McpError) {
185
+ throw error;
186
+ }
187
+ else if (error instanceof Error) {
188
+ throw new McpError(-32802, error.message);
189
+ }
190
+ else {
191
+ throw new McpError(-32802, String(error));
192
+ }
193
+ }
239
194
  });
240
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tool-list-generator.d.ts","sourceRoot":"","sources":["../../../../../src/services/gateway/tool-list-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CA4G/F"}
1
+ {"version":3,"file":"tool-list-generator.d.ts","sourceRoot":"","sources":["../../../../../src/services/gateway/tool-list-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAkI/F"}