@loop_ouroboros/mcp-hub-lite 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/client/assets/{HomeView-7rMg9C6t.js → HomeView-Bu2joUvW.js} +1 -1
  3. package/dist/client/assets/ResourceDetailView-BvrhDCD1.js +1 -0
  4. package/dist/client/assets/ResourceDetailView-DUJZbegl.css +1 -0
  5. package/dist/client/assets/ResourcesView-Cc8RHtia.css +1 -0
  6. package/dist/client/assets/ResourcesView-LjqioF_s.js +1 -0
  7. package/dist/client/assets/ServerDashboard-BfLeFDGw.css +1 -0
  8. package/dist/client/assets/ServerDashboard-FhHJFvUi.js +1 -0
  9. package/dist/client/assets/ServerDetail-BKV-M4qT.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-BXgtDyt3.js +36 -0
  13. package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-D-ooYNdN.js +1 -0
  14. package/dist/client/assets/SettingsView-CMFG91Z4.js +1 -0
  15. package/dist/client/assets/SettingsView-GkBOKL0V.css +1 -0
  16. package/dist/client/assets/ToolCallDialog-Bf4Xe4gH.js +1 -0
  17. package/dist/client/assets/ToolsView-DFpha1z0.js +1 -0
  18. package/dist/client/assets/{_baseClone-5q1b0P3O.js → _baseClone-Bp9Rjwd7.js} +1 -1
  19. package/dist/client/assets/el-form-item-B4LbJ6OO.css +1 -0
  20. package/dist/client/assets/el-form-item-DdSUWYsl.js +12 -0
  21. package/dist/client/assets/el-input-99gMrutP.js +1 -0
  22. package/dist/client/assets/el-input-BH4BZKnG.css +1 -0
  23. package/dist/client/assets/{el-loading-H85n3BUC.js → el-loading-CIQ5pD5u.js} +1 -1
  24. package/dist/client/assets/el-overlay-BVM6msGX.js +1 -0
  25. package/dist/client/assets/{el-select-C0U_l4IZ.css → el-overlay-CBvdpA69.css} +1 -1
  26. package/dist/client/assets/{ResourceDetailView-BdOaL_-o.css → el-radio-group-B0bauIRR.css} +1 -1
  27. package/dist/client/assets/el-radio-group-DhXWy7ry.js +1 -0
  28. package/dist/client/assets/el-skeleton-item-BLY1jEuR.css +1 -0
  29. package/dist/client/assets/el-skeleton-item-DJz-Us12.js +1 -0
  30. package/dist/client/assets/el-switch-BBrS-_6y.css +1 -0
  31. package/dist/client/assets/el-switch-Bu8AQ5uM.js +1 -0
  32. package/dist/client/assets/el-tab-pane-BnGMaV56.js +1 -0
  33. package/dist/client/assets/el-table-column-BMWOaLS_.js +1 -0
  34. package/dist/client/assets/el-table-column-BdvRS9Y2.css +1 -0
  35. package/dist/client/assets/index-C2V-ZGji.js +1 -0
  36. package/dist/client/assets/{index-BsDWtoIl.css → index-DpH6ZSbs.css} +1 -1
  37. package/dist/client/assets/index-vhkqgpmN.js +2 -0
  38. package/dist/client/assets/{omit-DPsOVNIJ.js → omit-CqPQN3XP.js} +1 -1
  39. package/dist/client/assets/{raf-DY5mgbuB.js → raf-C2wXzaVU.js} +1 -1
  40. package/dist/client/assets/{vue-vendor-6ny5zj9i.js → vue-vendor-BLHLXXJK.js} +1 -1
  41. package/dist/client/index.html +3 -3
  42. package/dist/server/shared/models/resource.model.d.ts +2 -1
  43. package/dist/server/shared/models/resource.model.d.ts.map +1 -1
  44. package/dist/server/shared/models/server.model.d.ts +362 -5
  45. package/dist/server/shared/models/server.model.d.ts.map +1 -1
  46. package/dist/server/shared/models/server.model.js +220 -1
  47. package/dist/server/shared/models/session.model.d.ts +1 -57
  48. package/dist/server/shared/models/session.model.d.ts.map +1 -1
  49. package/dist/server/shared/models/session.model.js +1 -55
  50. package/dist/server/shared/models/tool.model.d.ts +4 -2
  51. package/dist/server/shared/models/tool.model.d.ts.map +1 -1
  52. package/dist/server/shared/types/session-context.types.d.ts +0 -2
  53. package/dist/server/shared/types/session-context.types.d.ts.map +1 -1
  54. package/dist/server/shared/types/websocket.types.d.ts +17 -10
  55. package/dist/server/shared/types/websocket.types.d.ts.map +1 -1
  56. package/dist/server/src/api/mcp/gateway.d.ts +1 -3
  57. package/dist/server/src/api/mcp/gateway.d.ts.map +1 -1
  58. package/dist/server/src/api/mcp/gateway.js +19 -50
  59. package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -1
  60. package/dist/server/src/api/mcp/session-context-extractor.js +5 -14
  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/status.d.ts.map +1 -1
  81. package/dist/server/src/cli/commands/status.js +41 -30
  82. package/dist/server/src/cli/index.d.ts.map +1 -1
  83. package/dist/server/src/cli/index.js +2 -1
  84. package/dist/server/src/cli/server.d.ts +11 -2
  85. package/dist/server/src/cli/server.d.ts.map +1 -1
  86. package/dist/server/src/config/config-change-logger.d.ts +22 -0
  87. package/dist/server/src/config/config-change-logger.d.ts.map +1 -1
  88. package/dist/server/src/config/config-change-logger.js +135 -11
  89. package/dist/server/src/config/config-loader.d.ts +6 -5
  90. package/dist/server/src/config/config-loader.d.ts.map +1 -1
  91. package/dist/server/src/config/config-loader.js +54 -16
  92. package/dist/server/src/config/config-manager.d.ts +51 -43
  93. package/dist/server/src/config/config-manager.d.ts.map +1 -1
  94. package/dist/server/src/config/config-manager.js +84 -66
  95. package/dist/server/src/config/config-migrator.d.ts +82 -0
  96. package/dist/server/src/config/config-migrator.d.ts.map +1 -0
  97. package/dist/server/src/config/config-migrator.js +348 -0
  98. package/dist/server/src/config/config-saver.d.ts +2 -0
  99. package/dist/server/src/config/config-saver.d.ts.map +1 -1
  100. package/dist/server/src/config/config-saver.js +8 -2
  101. package/dist/server/src/config/config.schema.d.ts +10 -104
  102. package/dist/server/src/config/config.schema.d.ts.map +1 -1
  103. package/dist/server/src/config/config.schema.js +15 -99
  104. package/dist/server/src/config/path-validator.d.ts +27 -0
  105. package/dist/server/src/config/path-validator.d.ts.map +1 -0
  106. package/dist/server/src/config/path-validator.js +53 -0
  107. package/dist/server/src/config/server-config-manager.d.ts +37 -31
  108. package/dist/server/src/config/server-config-manager.d.ts.map +1 -1
  109. package/dist/server/src/config/server-config-manager.js +222 -66
  110. package/dist/server/src/config/type-converter.d.ts.map +1 -1
  111. package/dist/server/src/config/type-converter.js +3 -2
  112. package/dist/server/src/models/event.model.d.ts +17 -10
  113. package/dist/server/src/models/event.model.d.ts.map +1 -1
  114. package/dist/server/src/models/server.model.d.ts +17 -3
  115. package/dist/server/src/models/server.model.d.ts.map +1 -1
  116. package/dist/server/src/models/server.model.js +2 -1
  117. package/dist/server/src/models/system-tools.constants.d.ts +10 -27
  118. package/dist/server/src/models/system-tools.constants.d.ts.map +1 -1
  119. package/dist/server/src/models/system-tools.constants.js +4 -8
  120. package/dist/server/src/pid/manager.d.ts.map +1 -1
  121. package/dist/server/src/pid/manager.js +2 -1
  122. package/dist/server/src/server/dev-server.js +34 -20
  123. package/dist/server/src/server/runner.d.ts.map +1 -1
  124. package/dist/server/src/server/runner.js +41 -26
  125. package/dist/server/src/services/connection/connection-manager.d.ts +85 -103
  126. package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -1
  127. package/dist/server/src/services/connection/connection-manager.js +286 -241
  128. package/dist/server/src/services/connection/tool-cache.d.ts +27 -25
  129. package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -1
  130. package/dist/server/src/services/connection/tool-cache.js +50 -55
  131. package/dist/server/src/services/gateway/gateway.service.d.ts +2 -0
  132. package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -1
  133. package/dist/server/src/services/gateway/gateway.service.js +15 -19
  134. package/dist/server/src/services/gateway/global-transport.d.ts +10 -0
  135. package/dist/server/src/services/gateway/global-transport.d.ts.map +1 -0
  136. package/dist/server/src/services/gateway/global-transport.js +42 -0
  137. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -1
  138. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +67 -65
  139. package/dist/server/src/services/gateway/request-handlers/index.d.ts +1 -1
  140. package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -1
  141. package/dist/server/src/services/gateway/request-handlers/index.js +1 -1
  142. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +1 -4
  143. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -1
  144. package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +10 -81
  145. package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts +35 -0
  146. package/dist/server/src/services/gateway/request-handlers/initialize.constants.d.ts.map +1 -0
  147. package/dist/server/src/services/gateway/request-handlers/initialize.constants.js +44 -0
  148. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -1
  149. package/dist/server/src/services/gateway/request-handlers/resources-handler.js +5 -4
  150. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -1
  151. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +32 -77
  152. package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts.map +1 -1
  153. package/dist/server/src/services/gateway/request-handlers/tools-handler.js +4 -3
  154. package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -1
  155. package/dist/server/src/services/gateway/tool-list-generator.js +37 -16
  156. package/dist/server/src/services/gateway/types.d.ts +2 -1
  157. package/dist/server/src/services/gateway/types.d.ts.map +1 -1
  158. package/dist/server/src/services/hub-manager.service.d.ts +32 -238
  159. package/dist/server/src/services/hub-manager.service.d.ts.map +1 -1
  160. package/dist/server/src/services/hub-manager.service.js +89 -267
  161. package/dist/server/src/services/hub-tools/index.d.ts +1 -3
  162. package/dist/server/src/services/hub-tools/index.d.ts.map +1 -1
  163. package/dist/server/src/services/hub-tools/index.js +1 -2
  164. package/dist/server/src/services/hub-tools/instance-matcher.d.ts +62 -0
  165. package/dist/server/src/services/hub-tools/instance-matcher.d.ts.map +1 -0
  166. package/dist/server/src/services/hub-tools/instance-matcher.js +132 -0
  167. package/dist/server/src/services/hub-tools/instance-selector.d.ts +29 -0
  168. package/dist/server/src/services/hub-tools/instance-selector.d.ts.map +1 -0
  169. package/dist/server/src/services/hub-tools/instance-selector.js +103 -0
  170. package/dist/server/src/services/hub-tools/resource-generator.d.ts +24 -1
  171. package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -1
  172. package/dist/server/src/services/hub-tools/resource-generator.js +259 -39
  173. package/dist/server/src/services/hub-tools/server-selector.d.ts +26 -13
  174. package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -1
  175. package/dist/server/src/services/hub-tools/server-selector.js +44 -37
  176. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +1 -4
  177. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -1
  178. package/dist/server/src/services/hub-tools/system-tool-definitions.js +17 -80
  179. package/dist/server/src/services/hub-tools/tool-search.d.ts +7 -7
  180. package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -1
  181. package/dist/server/src/services/hub-tools/tool-search.js +10 -4
  182. package/dist/server/src/services/hub-tools/types.d.ts +2 -2
  183. package/dist/server/src/services/hub-tools/types.d.ts.map +1 -1
  184. package/dist/server/src/services/hub-tools.service.d.ts +43 -72
  185. package/dist/server/src/services/hub-tools.service.d.ts.map +1 -1
  186. package/dist/server/src/services/hub-tools.service.js +185 -110
  187. package/dist/server/src/services/search/search-core.service.d.ts +5 -5
  188. package/dist/server/src/services/search/search-core.service.js +11 -11
  189. package/dist/server/src/services/session/session-manager.d.ts +12 -256
  190. package/dist/server/src/services/session/session-manager.d.ts.map +1 -1
  191. package/dist/server/src/services/session/session-manager.js +23 -585
  192. package/dist/server/src/services/session-tracker.service.d.ts +2 -10
  193. package/dist/server/src/services/session-tracker.service.d.ts.map +1 -1
  194. package/dist/server/src/services/session-tracker.service.js +2 -53
  195. package/dist/server/src/services/system-tool-handler.d.ts.map +1 -1
  196. package/dist/server/src/services/system-tool-handler.js +7 -17
  197. package/dist/server/src/utils/composite-key.d.ts +29 -0
  198. package/dist/server/src/utils/composite-key.d.ts.map +1 -0
  199. package/dist/server/src/utils/composite-key.js +39 -0
  200. package/dist/server/src/utils/error-handler.d.ts.map +1 -1
  201. package/dist/server/src/utils/error-handler.js +3 -2
  202. package/dist/server/src/utils/index.d.ts +2 -0
  203. package/dist/server/src/utils/index.d.ts.map +1 -1
  204. package/dist/server/src/utils/index.js +2 -0
  205. package/dist/server/src/utils/instance-id.d.ts +22 -0
  206. package/dist/server/src/utils/instance-id.d.ts.map +1 -0
  207. package/dist/server/src/utils/instance-id.js +59 -0
  208. package/dist/server/src/utils/json-utils.d.ts +4 -4
  209. package/dist/server/src/utils/json-utils.d.ts.map +1 -1
  210. package/dist/server/src/utils/json-utils.js +4 -4
  211. package/dist/server/src/utils/logger/dev-logger.d.ts +2 -1
  212. package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -1
  213. package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -1
  214. package/dist/server/src/utils/logger/log-formatter.js +82 -5
  215. package/dist/server/src/utils/logger/log-modules.d.ts +15 -9
  216. package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -1
  217. package/dist/server/src/utils/logger/log-modules.js +8 -6
  218. package/dist/server/src/utils/parameter-validator.d.ts +10 -0
  219. package/dist/server/src/utils/parameter-validator.d.ts.map +1 -0
  220. package/dist/server/src/utils/parameter-validator.js +53 -0
  221. package/dist/server/src/utils/process-tree.d.ts +49 -0
  222. package/dist/server/src/utils/process-tree.d.ts.map +1 -0
  223. package/dist/server/src/utils/process-tree.js +285 -0
  224. package/dist/server/src/utils/request-context.d.ts +0 -18
  225. package/dist/server/src/utils/request-context.d.ts.map +1 -1
  226. package/dist/server/src/utils/request-context.js +0 -20
  227. package/dist/server/src/utils/sort-utils.d.ts +40 -0
  228. package/dist/server/src/utils/sort-utils.d.ts.map +1 -0
  229. package/dist/server/src/utils/sort-utils.js +131 -0
  230. package/dist/server/src/utils/transports/sse-transport.d.ts +16 -1
  231. package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -1
  232. package/dist/server/src/utils/transports/sse-transport.js +55 -9
  233. package/dist/server/src/utils/transports/stdio-transport.d.ts +24 -53
  234. package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -1
  235. package/dist/server/src/utils/transports/stdio-transport.js +66 -247
  236. package/dist/server/src/utils/transports/streamable-http-transport.d.ts +24 -1
  237. package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -1
  238. package/dist/server/src/utils/transports/streamable-http-transport.js +68 -8
  239. package/dist/server/src/utils/transports/transport-factory.d.ts +9 -4
  240. package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -1
  241. package/dist/server/src/utils/transports/transport-factory.js +31 -11
  242. package/dist/server/src/utils/transports/transport.interface.d.ts +6 -0
  243. package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -1
  244. package/dist/server/src/utils/version.d.ts +11 -0
  245. package/dist/server/src/utils/version.d.ts.map +1 -0
  246. package/dist/server/src/utils/version.js +57 -0
  247. package/dist/server/tests/contract/mcp-protocol/initialize.test.js +24 -24
  248. package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +49 -45
  249. package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +35 -36
  250. package/dist/server/tests/evaluation/evaluation.test.js +10 -9
  251. package/dist/server/tests/integration/api/gateway.test.js +2 -2
  252. package/dist/server/tests/integration/gateway/fault-tolerance.test.js +65 -25
  253. package/dist/server/tests/integration/gateway/mcp-connection.test.js +53 -61
  254. package/dist/server/tests/server.test.js +27 -16
  255. package/dist/server/tests/temp/temp-run-docling.d.ts +2 -0
  256. package/dist/server/tests/temp/temp-run-docling.d.ts.map +1 -0
  257. package/dist/server/tests/temp/temp-run-docling.js +53 -0
  258. package/dist/server/tests/types/test-helpers.d.ts +1 -2
  259. package/dist/server/tests/types/test-helpers.d.ts.map +1 -1
  260. package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts +2 -0
  261. package/dist/server/tests/unit/config/config-loader-automatic-migration.test.d.ts.map +1 -0
  262. package/dist/server/tests/unit/config/config-loader-automatic-migration.test.js +199 -0
  263. package/dist/server/tests/unit/config/config-migrator.test.d.ts +2 -0
  264. package/dist/server/tests/unit/config/config-migrator.test.d.ts.map +1 -0
  265. package/dist/server/tests/unit/config/config-migrator.test.js +316 -0
  266. package/dist/server/tests/unit/config/config-saver.test.d.ts +2 -0
  267. package/dist/server/tests/unit/config/config-saver.test.d.ts.map +1 -0
  268. package/dist/server/tests/unit/config/config-saver.test.js +200 -0
  269. package/dist/server/tests/unit/config/config.schema.test.d.ts +2 -0
  270. package/dist/server/tests/unit/config/config.schema.test.d.ts.map +1 -0
  271. package/dist/server/tests/unit/config/config.schema.test.js +347 -0
  272. package/dist/server/tests/unit/server/runner.test.js +86 -62
  273. package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts +2 -0
  274. package/dist/server/tests/unit/services/connection/connection-manager.test.d.ts.map +1 -0
  275. package/dist/server/tests/unit/services/connection/connection-manager.test.js +112 -0
  276. package/dist/server/tests/unit/services/hub-manager-service.test.js +112 -46
  277. package/dist/server/tests/unit/services/hub-manager.test.js +25 -15
  278. package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts +2 -0
  279. package/dist/server/tests/unit/services/hub-tools/instance-selector.test.d.ts.map +1 -0
  280. package/dist/server/tests/unit/services/hub-tools/instance-selector.test.js +195 -0
  281. package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts +2 -0
  282. package/dist/server/tests/unit/services/hub-tools/server-selector.test.d.ts.map +1 -0
  283. package/dist/server/tests/unit/services/hub-tools/server-selector.test.js +190 -0
  284. package/dist/server/tests/unit/services/hub-tools.service.test.js +560 -320
  285. package/dist/server/tests/unit/services/instance-matcher.test.d.ts +2 -0
  286. package/dist/server/tests/unit/services/instance-matcher.test.d.ts.map +1 -0
  287. package/dist/server/tests/unit/services/instance-matcher.test.js +256 -0
  288. package/dist/server/tests/unit/services/session-manager.test.js +26 -436
  289. package/dist/server/tests/unit/utils/config.test.js +88 -186
  290. package/dist/server/tests/unit/utils/json-utils.test.js +18 -18
  291. package/dist/server/tests/unit/utils/logger-formatter.test.d.ts +2 -0
  292. package/dist/server/tests/unit/utils/logger-formatter.test.d.ts.map +1 -0
  293. package/dist/server/tests/unit/utils/logger-formatter.test.js +66 -0
  294. package/dist/server/tests/unit/utils/parameter-validator.test.d.ts +2 -0
  295. package/dist/server/tests/unit/utils/parameter-validator.test.d.ts.map +1 -0
  296. package/dist/server/tests/unit/utils/parameter-validator.test.js +63 -0
  297. package/dist/server/tests/unit/utils/process-tree.test.d.ts +2 -0
  298. package/dist/server/tests/unit/utils/process-tree.test.d.ts.map +1 -0
  299. package/dist/server/tests/unit/utils/process-tree.test.js +129 -0
  300. package/dist/server/tests/unit/utils/request-context.test.js +5 -24
  301. package/dist/server/tests/unit/utils/sort-utils.test.d.ts +2 -0
  302. package/dist/server/tests/unit/utils/sort-utils.test.d.ts.map +1 -0
  303. package/dist/server/tests/unit/utils/sort-utils.test.js +220 -0
  304. package/dist/server/tests/unit/utils/transport-factory.test.d.ts +2 -0
  305. package/dist/server/tests/unit/utils/transport-factory.test.d.ts.map +1 -0
  306. package/dist/server/tests/unit/utils/transport-factory.test.js +55 -0
  307. package/package.json +1 -1
  308. package/dist/client/assets/ResourceDetailView-Bf-1ffbk.js +0 -1
  309. package/dist/client/assets/ResourcesView-CjMklkyv.css +0 -1
  310. package/dist/client/assets/ResourcesView-g5x4xCPh.js +0 -1
  311. package/dist/client/assets/ServerDashboard-Chpne8Q0.css +0 -1
  312. package/dist/client/assets/ServerDashboard-G8Wmp4hF.js +0 -2
  313. package/dist/client/assets/ServerListView-dV2XrPjo.js +0 -32
  314. package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +0 -1
  315. package/dist/client/assets/SessionsView-Ckd38lj1.js +0 -1
  316. package/dist/client/assets/SettingsView-BJUdepEQ.js +0 -1
  317. package/dist/client/assets/ToolCallDialog-C_bTCpHC.js +0 -1
  318. package/dist/client/assets/ToolsView-0c2eputu.js +0 -1
  319. package/dist/client/assets/el-form-item-BVMLpmVC.css +0 -1
  320. package/dist/client/assets/el-form-item-ClFnj49k.js +0 -12
  321. package/dist/client/assets/el-input-CDnuSKVZ.js +0 -1
  322. package/dist/client/assets/el-input-CmuHb8HS.css +0 -1
  323. package/dist/client/assets/el-overlay-B2ZKM6Up.css +0 -1
  324. package/dist/client/assets/el-overlay-CzMkXyYy.js +0 -1
  325. package/dist/client/assets/el-select-DvjGddk_.js +0 -1
  326. package/dist/client/assets/el-tab-pane-C_DQMcwe.js +0 -1
  327. package/dist/client/assets/el-table-column-CASRIbZM.js +0 -1
  328. package/dist/client/assets/el-table-column-T_mV9jNw.css +0 -1
  329. package/dist/client/assets/el-tag-DjxZVOpb.css +0 -1
  330. package/dist/client/assets/el-tag-npbwux4f.js +0 -1
  331. package/dist/client/assets/index-CCnAxNF8.js +0 -2
  332. package/dist/client/assets/index-d1DZeSfz.js +0 -1
  333. package/dist/client/assets/vnode-CHomNjgN.js +0 -1
@@ -1,15 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * Session State Schema
4
- * Represents the persistent state of a client session
4
+ * Represents the state of a client session (in-memory only)
5
5
  */
6
6
  export declare const SessionStateSchema: z.ZodObject<{
7
7
  sessionId: z.ZodString;
8
8
  clientName: z.ZodOptional<z.ZodString>;
9
9
  clientVersion: z.ZodOptional<z.ZodString>;
10
10
  protocolVersion: z.ZodOptional<z.ZodString>;
11
- cwd: z.ZodOptional<z.ZodString>;
12
- project: z.ZodOptional<z.ZodString>;
13
11
  userAgent: z.ZodOptional<z.ZodString>;
14
12
  ip: z.ZodOptional<z.ZodString>;
15
13
  capabilities: z.ZodOptional<z.ZodAny>;
@@ -18,58 +16,4 @@ export declare const SessionStateSchema: z.ZodObject<{
18
16
  metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
19
17
  }, z.core.$strip>;
20
18
  export type SessionState = z.infer<typeof SessionStateSchema>;
21
- /**
22
- * Session Store Schema
23
- * Container for all persisted sessions
24
- */
25
- export declare const SessionStoreSchema: z.ZodObject<{
26
- version: z.ZodDefault<z.ZodString>;
27
- sessions: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
28
- sessionId: z.ZodString;
29
- clientName: z.ZodOptional<z.ZodString>;
30
- clientVersion: z.ZodOptional<z.ZodString>;
31
- protocolVersion: z.ZodOptional<z.ZodString>;
32
- cwd: z.ZodOptional<z.ZodString>;
33
- project: z.ZodOptional<z.ZodString>;
34
- userAgent: z.ZodOptional<z.ZodString>;
35
- ip: z.ZodOptional<z.ZodString>;
36
- capabilities: z.ZodOptional<z.ZodAny>;
37
- createdAt: z.ZodNumber;
38
- lastAccessedAt: z.ZodNumber;
39
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
40
- }, z.core.$strip>>>;
41
- }, z.core.$strip>;
42
- export type SessionStore = z.infer<typeof SessionStoreSchema>;
43
- /**
44
- * Create a new empty session store
45
- */
46
- export declare function createEmptySessionStore(): SessionStore;
47
- /**
48
- * Validates and normalizes session store data using Zod schema validation.
49
- *
50
- * This function takes raw session store data (typically parsed from JSON) and validates it
51
- * against the SessionStoreSchema. If validation succeeds, it returns the validated and
52
- * normalized data. If validation fails, it returns an empty session store with default values.
53
- *
54
- * The function uses safeParse to prevent exceptions during validation, making it safe to use
55
- * with untrusted or potentially corrupted data sources like persisted JSON files.
56
- *
57
- * @param {unknown} data - Raw session store data to validate (typically from JSON.parse)
58
- * @returns {SessionStore} Validated session store data, or an empty store if validation fails
59
- *
60
- * @example
61
- * ```typescript
62
- * // Validate data from a JSON file
63
- * // Note: In practice, sessions are stored in a directory structure:
64
- * // - sessions/index.json (contains session ID list)
65
- * // - sessions/{sessionId}.json (individual session files)
66
- * const validatedStore = validateSessionStore(rawData);
67
- *
68
- * // Use the validated store
69
- * Object.keys(validatedStore.sessions).forEach(sessionId => {
70
- * console.log(`Session: ${sessionId}`);
71
- * });
72
- * ```
73
- */
74
- export declare function validateSessionStore(data: unknown): SessionStore;
75
19
  //# sourceMappingURL=session.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/session.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAa7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAG7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,YAAY,CAKtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,CAOhE"}
1
+ {"version":3,"file":"session.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/session.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAW7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,15 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
3
  * Session State Schema
4
- * Represents the persistent state of a client session
4
+ * Represents the state of a client session (in-memory only)
5
5
  */
6
6
  export const SessionStateSchema = z.object({
7
7
  sessionId: z.string(),
8
8
  clientName: z.string().optional(),
9
9
  clientVersion: z.string().optional(),
10
10
  protocolVersion: z.string().optional(),
11
- cwd: z.string().optional(),
12
- project: z.string().optional(),
13
11
  userAgent: z.string().optional(),
14
12
  ip: z.string().optional(),
15
13
  capabilities: z.any().optional(),
@@ -17,55 +15,3 @@ export const SessionStateSchema = z.object({
17
15
  lastAccessedAt: z.number(),
18
16
  metadata: z.record(z.string(), z.any()).default({})
19
17
  });
20
- /**
21
- * Session Store Schema
22
- * Container for all persisted sessions
23
- */
24
- export const SessionStoreSchema = z.object({
25
- version: z.string().default('1.0.0'),
26
- sessions: z.record(z.string(), SessionStateSchema).default({})
27
- });
28
- /**
29
- * Create a new empty session store
30
- */
31
- export function createEmptySessionStore() {
32
- return {
33
- version: '1.0.0',
34
- sessions: {}
35
- };
36
- }
37
- /**
38
- * Validates and normalizes session store data using Zod schema validation.
39
- *
40
- * This function takes raw session store data (typically parsed from JSON) and validates it
41
- * against the SessionStoreSchema. If validation succeeds, it returns the validated and
42
- * normalized data. If validation fails, it returns an empty session store with default values.
43
- *
44
- * The function uses safeParse to prevent exceptions during validation, making it safe to use
45
- * with untrusted or potentially corrupted data sources like persisted JSON files.
46
- *
47
- * @param {unknown} data - Raw session store data to validate (typically from JSON.parse)
48
- * @returns {SessionStore} Validated session store data, or an empty store if validation fails
49
- *
50
- * @example
51
- * ```typescript
52
- * // Validate data from a JSON file
53
- * // Note: In practice, sessions are stored in a directory structure:
54
- * // - sessions/index.json (contains session ID list)
55
- * // - sessions/{sessionId}.json (individual session files)
56
- * const validatedStore = validateSessionStore(rawData);
57
- *
58
- * // Use the validated store
59
- * Object.keys(validatedStore.sessions).forEach(sessionId => {
60
- * console.log(`Session: ${sessionId}`);
61
- * });
62
- * ```
63
- */
64
- export function validateSessionStore(data) {
65
- const result = SessionStoreSchema.safeParse(data);
66
- if (result.success) {
67
- return result.data;
68
- }
69
- // Return empty store if validation fails
70
- return createEmptySessionStore();
71
- }
@@ -12,11 +12,13 @@ export interface ToolAnnotations {
12
12
  idempotentHint?: boolean;
13
13
  openWorldHint?: boolean;
14
14
  }
15
- export interface Tool {
15
+ export interface ToolSummary {
16
16
  name: string;
17
17
  description?: string;
18
- inputSchema?: JsonSchema;
19
18
  serverName: string;
19
+ }
20
+ export interface Tool extends ToolSummary {
21
+ inputSchema?: JsonSchema;
20
22
  annotations?: ToolAnnotations;
21
23
  }
22
24
  //# sourceMappingURL=tool.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/tool.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B"}
1
+ {"version":3,"file":"tool.model.d.ts","sourceRoot":"","sources":["../../../../shared/models/tool.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B"}
@@ -19,8 +19,6 @@ export interface SessionContext {
19
19
  clientName?: string;
20
20
  clientVersion?: string;
21
21
  protocolVersion?: string;
22
- cwd?: string;
23
- project?: string;
24
22
  ip?: string;
25
23
  userAgent?: string;
26
24
  capabilities?: ClientCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"session-context.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/session-context.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"session-context.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/session-context.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;CACvB"}
@@ -39,7 +39,8 @@ export interface PingMessage {
39
39
  }
40
40
  export interface FetchLogsMessage {
41
41
  type: 'fetch-logs';
42
- serverId: string;
42
+ serverName: string;
43
+ serverIndex: number;
43
44
  limit?: number;
44
45
  since?: number;
45
46
  }
@@ -47,7 +48,8 @@ export type ClientMessage = SubscribeMessage | UnsubscribeMessage | PingMessage
47
48
  export interface ServerStatusEvent {
48
49
  type: 'server-status';
49
50
  data: {
50
- serverId: string;
51
+ serverName: string;
52
+ serverIndex: number;
51
53
  status: 'online' | 'offline' | 'error';
52
54
  error?: string;
53
55
  timestamp: number;
@@ -56,7 +58,8 @@ export interface ServerStatusEvent {
56
58
  export interface LogEvent {
57
59
  type: 'log';
58
60
  data: {
59
- serverId: string;
61
+ serverName: string;
62
+ serverIndex: number;
60
63
  logs: Array<{
61
64
  level: LogLevel;
62
65
  message: string;
@@ -67,14 +70,16 @@ export interface LogEvent {
67
70
  export interface ToolsEvent {
68
71
  type: 'tools';
69
72
  data: {
70
- serverId: string;
73
+ serverName: string;
74
+ serverIndex: number;
71
75
  tools: Tool[];
72
76
  };
73
77
  }
74
78
  export interface ResourcesEvent {
75
79
  type: 'resources';
76
80
  data: {
77
- serverId: string;
81
+ serverName: string;
82
+ serverIndex: number;
78
83
  resources: Resource[];
79
84
  };
80
85
  }
@@ -93,7 +98,8 @@ export interface ServerDeletedEvent {
93
98
  export interface ServerConnectedEvent {
94
99
  type: 'server-connected';
95
100
  data: {
96
- serverId: string;
101
+ serverName: string;
102
+ serverIndex: number;
97
103
  status: 'online';
98
104
  timestamp: number;
99
105
  };
@@ -101,7 +107,8 @@ export interface ServerConnectedEvent {
101
107
  export interface ServerDisconnectedEvent {
102
108
  type: 'server-disconnected';
103
109
  data: {
104
- serverId: string;
110
+ serverName: string;
111
+ serverIndex: number;
105
112
  status: 'offline';
106
113
  timestamp: number;
107
114
  };
@@ -114,8 +121,8 @@ export interface ToolCallStartedEvent {
114
121
  type: 'tool-call-started';
115
122
  data: {
116
123
  requestId: string;
117
- serverId: string;
118
124
  serverName: string;
125
+ serverIndex: number;
119
126
  toolName: string;
120
127
  timestamp: number;
121
128
  args: Record<string, unknown>;
@@ -125,8 +132,8 @@ export interface ToolCallCompletedEvent {
125
132
  type: 'tool-call-completed';
126
133
  data: {
127
134
  requestId: string;
128
- serverId: string;
129
135
  serverName: string;
136
+ serverIndex: number;
130
137
  toolName: string;
131
138
  timestamp: number;
132
139
  result: unknown;
@@ -136,8 +143,8 @@ export interface ToolCallErrorEvent {
136
143
  type: 'tool-call-error';
137
144
  data: {
138
145
  requestId: string;
139
- serverId: string;
140
146
  serverName: string;
147
+ serverIndex: number;
141
148
  toolName: string;
142
149
  timestamp: number;
143
150
  error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/websocket.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.types.d.ts","sourceRoot":"","sources":["../../../../shared/types/websocket.types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  /**
2
- * MCP Gateway endpoint using Streamable HTTP Transport
2
+ * MCP Gateway endpoint using Streamable HTTP Transport (stateless mode)
3
3
  * Handles all MCP protocol requests at /mcp endpoint
4
- *
5
- * This is a thin wrapper around modular utilities for better maintainability.
6
4
  */
7
5
  import type { FastifyInstance } from 'fastify';
8
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/gateway.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAU7E;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,iBAuI9D"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/gateway.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAgC,MAAM,SAAS,CAAC;AAM7E;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,iBA0F9D"}
@@ -1,17 +1,11 @@
1
1
  /**
2
- * MCP Gateway endpoint using Streamable HTTP Transport
2
+ * MCP Gateway endpoint using Streamable HTTP Transport (stateless mode)
3
3
  * Handles all MCP protocol requests at /mcp endpoint
4
- *
5
- * This is a thin wrapper around modular utilities for better maintainability.
6
4
  */
7
- import { logger, LOG_MODULES } from '../../utils/logger.js';
5
+ import { logger, LOG_MODULES } from '../../utils/logger/index.js';
8
6
  import { stringifyForLogging, getMcpCommDebugSetting } from '../../utils/json-utils.js';
9
- import { requestContext } from '../../utils/request-context.js';
10
- import { sessionTrackerService } from '../../services/session-tracker.service.js';
11
- import { mcpSessionManager } from '../../services/session/index.js';
12
- import { cleanupStaleSseStreams } from './sse-stream-manager.js';
13
- import { extractSessionContext } from './session-context-extractor.js';
14
7
  import { wrapReplyForDebug } from './debug-response-wrapper.js';
8
+ import { globalTransport } from '../../services/gateway/global-transport.js';
15
9
  /**
16
10
  * MCP Gateway routes registration.
17
11
  *
@@ -19,7 +13,7 @@ import { wrapReplyForDebug } from './debug-response-wrapper.js';
19
13
  */
20
14
  export async function mcpGatewayRoutes(fastify) {
21
15
  const handleMcpRequest = async (request, reply) => {
22
- // First, log that we received the request (before extracting session context)
16
+ // First, log that we received the request
23
17
  if (getMcpCommDebugSetting()) {
24
18
  let initialLogMsg = `MCP Gateway ${request.method} ${request.url}`;
25
19
  // Combine headers and body into one log block
@@ -35,58 +29,33 @@ export async function mcpGatewayRoutes(fastify) {
35
29
  }
36
30
  logger.debug(initialLogMsg, LOG_MODULES.COMMUNICATION);
37
31
  }
38
- const { sessionId, sessionContext } = extractSessionContext(request);
39
- logger.info(`MCP Gateway ${request.method} ${request.url} [Session: ${sessionId}]`, LOG_MODULES.GATEWAY);
40
- // Update session tracking information
41
- sessionTrackerService.updateSession(sessionContext);
42
- // Log the session context after extraction
43
- if (getMcpCommDebugSetting()) {
44
- let sessionLogMsg = `MCP Gateway Session Context [Session: ${sessionId}]`;
45
- if (sessionContext.cwd)
46
- sessionLogMsg += ` [CWD: ${sessionContext.cwd}]`;
47
- if (sessionContext.clientName)
48
- sessionLogMsg += ` [Client: ${sessionContext.clientName}]`;
49
- logger.debug(sessionLogMsg, LOG_MODULES.COMMUNICATION);
32
+ // Reject GET requests without Accept: text/event-stream (health-check hook compatibility)
33
+ const accept = request.raw.headers['accept'] || '';
34
+ if (request.method === 'GET' && !accept.includes('text/event-stream')) {
35
+ reply.raw.writeHead(400, { 'Content-Type': 'application/json' });
36
+ reply.raw.end(JSON.stringify({
37
+ jsonrpc: '2.0',
38
+ error: { code: -32000, message: 'Bad Request: Accept: text/event-stream required' },
39
+ id: null
40
+ }));
41
+ return;
50
42
  }
51
43
  reply.header('Content-Type', 'application/json');
52
- if (!request.headers['accept']) {
53
- request.headers['accept'] = 'application/json, text/event-stream';
54
- }
55
- wrapReplyForDebug(reply, sessionId);
44
+ wrapReplyForDebug(reply, '');
56
45
  reply.hijack();
57
- const startTime = Date.now();
58
46
  try {
59
- // Determine if initialize request is needed
60
- // Only explicit initialize requests require SDK initialization handling
61
- // For all other requests (tools/list, etc.), skip initialization checks
62
- const isInitializeRequest = request.body?.method === 'initialize';
63
- const hasRestoredState = !!mcpSessionManager.getSessionState(sessionId);
64
- const requireInitialize = isInitializeRequest;
65
- logger.debug(`Request for session: ${sessionId}, method: ${request.body?.method || 'GET'}, isInitialize: ${isInitializeRequest}, hasRestoredState: ${hasRestoredState}, requireInitialize: ${requireInitialize}`, LOG_MODULES.GATEWAY);
66
- const session = await mcpSessionManager.getSession(sessionId, requireInitialize);
67
- // Proactive cleanup: For GET requests (SSE connections), clean up stale streams first
68
- // This prevents "Only one SSE stream is allowed per session" errors
69
- if (request.method === 'GET') {
70
- logger.debug(`Proactive SSE stream cleanup for session ${sessionId} before handling request`, LOG_MODULES.GATEWAY);
71
- cleanupStaleSseStreams(session.transport, sessionId);
72
- }
73
- await requestContext.run(sessionContext, async () => {
74
- await session.transport.handleRequest(request.raw, reply.raw, request.body);
75
- });
76
- const duration = Date.now() - startTime;
77
- logger.info(`MCP Gateway response for ${sessionId}: handled in ${duration}ms`, LOG_MODULES.GATEWAY);
47
+ await globalTransport.handleRequest(request.raw, reply.raw, request.body);
78
48
  }
79
49
  catch (error) {
80
50
  const errorMessage = error instanceof Error ? error.message : String(error);
81
- logger.error(`Error handling MCP request for session ${sessionId}: ${errorMessage}`, error, LOG_MODULES.GATEWAY);
51
+ logger.error(`Error handling MCP request: ${errorMessage}`, error, LOG_MODULES.GATEWAY);
82
52
  if (!reply.raw.headersSent) {
83
53
  reply.raw.writeHead(500, { 'Content-Type': 'application/json' });
84
54
  reply.raw.end(JSON.stringify({
85
55
  jsonrpc: '2.0',
86
56
  error: {
87
57
  code: -32000,
88
- message: 'Internal Server Error',
89
- data: { sessionId }
58
+ message: 'Internal Server Error'
90
59
  },
91
60
  id: null
92
61
  }));
@@ -105,7 +74,7 @@ export async function mcpGatewayRoutes(fastify) {
105
74
  },
106
75
  handler: handleMcpRequest
107
76
  });
108
- // Handle any subpaths if client appends them (e.g. session-specific URLs)
77
+ // Handle any subpaths if client appends them
109
78
  fastify.all('/mcp/*', {
110
79
  bodyLimit: 10 * 1024 * 1024, // 10MB limit
111
80
  preHandler: (request, _reply, done) => {
@@ -1 +1 @@
1
- {"version":3,"file":"session-context-extractor.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/session-context-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAI7E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC;IAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,CAsGA"}
1
+ {"version":3,"file":"session-context-extractor.d.ts","sourceRoot":"","sources":["../../../../../src/api/mcp/session-context-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAI7E,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,CAAC;IAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC,GAAG;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;CAChC,CAyFA"}
@@ -49,14 +49,14 @@ export function extractSessionContext(request) {
49
49
  logger.debug(`Extracted sessionId from URL: ${sessionId}`, LOG_MODULES.CONTEXT);
50
50
  }
51
51
  }
52
- // If sessionId was extracted, check if it exists in persisted sessions (for debugging)
52
+ // If sessionId was extracted, check if it exists in memory (for debugging)
53
53
  if (sessionId) {
54
- const persistedSession = mcpSessionManager.getSessionState(sessionId);
55
- if (persistedSession) {
56
- logger.debug(`Session ${sessionId} found in persisted sessions`, LOG_MODULES.CONTEXT);
54
+ const hasSession = mcpSessionManager.hasSession(sessionId);
55
+ if (hasSession) {
56
+ logger.debug(`Session ${sessionId} found in active sessions`, LOG_MODULES.CONTEXT);
57
57
  }
58
58
  else {
59
- logger.debug(`Session ${sessionId} not found in persisted sessions (will create new)`, LOG_MODULES.CONTEXT);
59
+ logger.debug(`Session ${sessionId} not found in active sessions (will create new)`, LOG_MODULES.CONTEXT);
60
60
  }
61
61
  }
62
62
  // Extract client info from headers and request body
@@ -90,20 +90,11 @@ export function extractSessionContext(request) {
90
90
  logger.debug(`Generated new sessionId: ${sessionId}`, LOG_MODULES.CONTEXT);
91
91
  }
92
92
  }
93
- // Add consistency check before returning session information
94
- if (sessionId && mcpSessionManager.getSessionState(sessionId)) {
95
- const hasSessionObject = mcpSessionManager.hasSession(sessionId);
96
- if (!hasSessionObject) {
97
- logger.warn(`Session state exists but session object missing for ${sessionId}`, LOG_MODULES.CONTEXT);
98
- }
99
- }
100
93
  const sessionContext = {
101
94
  sessionId,
102
95
  clientName,
103
96
  clientVersion,
104
97
  protocolVersion,
105
- cwd: undefined, // Will be populated from roots/list response later
106
- project: undefined, // Will be populated from roots/list response later
107
98
  ip: request.ip,
108
99
  userAgent: headers['user-agent'],
109
100
  timestamp: Date.now()
@@ -7,12 +7,12 @@ import { FastifyInstance } from 'fastify';
7
7
  * tool management and execution within the MCP Hub Lite system.
8
8
  *
9
9
  * The API supports both system-level tools (built into MCP Hub Lite) and server-specific tools
10
- * from connected MCP servers. It enables powerful search capabilities, detailed tool inspection,
10
+ * from connected MCP servers. It enables tool listing, detailed tool inspection,
11
11
  * and secure tool invocation with proper parameter validation.
12
12
  *
13
13
  * Key features include:
14
14
  * - System tool discovery and execution
15
- * - Cross-server tool listing and searching
15
+ * - Cross-server tool listing
16
16
  * - Server-specific tool management
17
17
  * - Tool schema inspection and validation
18
18
  * - Secure tool invocation with session context
@@ -1 +1 @@
1
- {"version":3,"file":"hub-tools.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/hub-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA8B1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,iBA6O/D"}
1
+ {"version":3,"file":"hub-tools.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/hub-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAoB1C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,iBAsJ/D"}
@@ -8,12 +8,12 @@ import { hubToolsService } from '../../services/hub-tools.service.js';
8
8
  * tool management and execution within the MCP Hub Lite system.
9
9
  *
10
10
  * The API supports both system-level tools (built into MCP Hub Lite) and server-specific tools
11
- * from connected MCP servers. It enables powerful search capabilities, detailed tool inspection,
11
+ * from connected MCP servers. It enables tool listing, detailed tool inspection,
12
12
  * and secure tool invocation with proper parameter validation.
13
13
  *
14
14
  * Key features include:
15
15
  * - System tool discovery and execution
16
- * - Cross-server tool listing and searching
16
+ * - Cross-server tool listing
17
17
  * - Server-specific tool management
18
18
  * - Tool schema inspection and validation
19
19
  * - Secure tool invocation with session context
@@ -58,16 +58,6 @@ export async function webHubToolsRoutes(fastify) {
58
58
  const servers = await hubToolsService.listServers();
59
59
  return servers;
60
60
  });
61
- // GET /web/hub-tools/servers/find - Find servers matching a pattern
62
- fastify.get('/web/hub-tools/servers/find', async (request) => {
63
- const { pattern, searchIn = 'both', caseSensitive = 'false' } = request.query;
64
- const servers = await hubToolsService.findServers({
65
- pattern,
66
- searchIn: searchIn,
67
- caseSensitive: caseSensitive === 'true'
68
- });
69
- return servers;
70
- });
71
61
  // GET /web/hub-tools/servers/:serverName/tools - List all tools in a specific server
72
62
  fastify.get('/web/hub-tools/servers/:serverName/tools', async (request, reply) => {
73
63
  try {
@@ -77,7 +67,7 @@ export async function webHubToolsRoutes(fastify) {
77
67
  sessionId,
78
68
  tags: tags ? JSON.parse(tags) : undefined
79
69
  };
80
- const result = await hubToolsService.listAllToolsInServer({ serverName, requestOptions });
70
+ const result = await hubToolsService.listToolsInServer({ serverName, requestOptions });
81
71
  return result;
82
72
  }
83
73
  catch (error) {
@@ -87,37 +77,6 @@ export async function webHubToolsRoutes(fastify) {
87
77
  });
88
78
  }
89
79
  });
90
- // GET /web/hub-tools/servers/:serverName/tools/find - Find tools in a specific server
91
- fastify.get('/web/hub-tools/servers/:serverName/tools/find', async (request, reply) => {
92
- try {
93
- const { serverName } = request.params;
94
- const { pattern, searchIn = 'both', caseSensitive = 'false', sessionId, tags } = request.query;
95
- const requestOptions = {
96
- sessionId,
97
- tags: tags ? JSON.parse(tags) : undefined
98
- };
99
- const result = await hubToolsService.findToolsInServer({
100
- serverName,
101
- pattern,
102
- searchIn: searchIn,
103
- caseSensitive: caseSensitive === 'true',
104
- requestOptions
105
- });
106
- return result;
107
- }
108
- catch (error) {
109
- if (error instanceof Error && error.message.includes('not found')) {
110
- return reply.code(404).send({
111
- error: 'Server not found',
112
- message: error.message
113
- });
114
- }
115
- return reply.code(500).send({
116
- error: 'Internal Server Error',
117
- message: error instanceof Error ? error.message : 'Unknown error'
118
- });
119
- }
120
- });
121
80
  // GET /web/hub-tools/servers/:serverName/tools/:toolName - Get specific tool details
122
81
  fastify.get('/web/hub-tools/servers/:serverName/tools/:toolName', async (request, reply) => {
123
82
  try {
@@ -192,14 +151,4 @@ export async function webHubToolsRoutes(fastify) {
192
151
  const allTools = await hubToolsService.listAllTools();
193
152
  return allTools;
194
153
  });
195
- // GET /web/hub-tools/tools/find - Find tools matching a pattern across all servers
196
- fastify.get('/web/hub-tools/tools/find', async (request) => {
197
- const { pattern, searchIn = 'both', caseSensitive = 'false' } = request.query;
198
- const tools = await hubToolsService.findTools({
199
- pattern,
200
- searchIn: searchIn,
201
- caseSensitive: caseSensitive === 'true'
202
- });
203
- return tools;
204
- });
205
154
  }
@@ -1,6 +1,6 @@
1
1
  import { FastifyInstance } from 'fastify';
2
2
  /**
3
- * MCP Connection Status API Routes
3
+ * MCP Connection Status API Routes (v1.1 format)
4
4
  *
5
5
  * Provides real-time monitoring and management endpoints for MCP (Model Context Protocol) server connections.
6
6
  * This module enables administrators to check the health of connected servers, manage connection states,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-status.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/mcp-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAO1C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,iBAsHhE"}
1
+ {"version":3,"file":"mcp-status.d.ts","sourceRoot":"","sources":["../../../../../src/api/web/mcp-status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQ1C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,eAAe,iBAuKhE"}