@loop_ouroboros/mcp-hub-lite 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/CHANGELOG.md +228 -0
  2. package/LICENSE +21 -0
  3. package/README.md +354 -0
  4. package/dist/client/assets/HomeView-f901HeKw.js +1 -0
  5. package/dist/client/assets/ResourceDetailView-BdOaL_-o.css +1 -0
  6. package/dist/client/assets/ResourceDetailView-Bz66ZjfY.js +1 -0
  7. package/dist/client/assets/ResourcesView-CjMklkyv.css +1 -0
  8. package/dist/client/assets/ResourcesView-lI_fItfA.js +1 -0
  9. package/dist/client/assets/ServerDashboard-7_8Og9JJ.css +1 -0
  10. package/dist/client/assets/ServerDashboard-Bgx8WVkx.js +2 -0
  11. package/dist/client/assets/ServerListView-Bws09jNR.css +1 -0
  12. package/dist/client/assets/ServerListView-CP6Ffkfx.js +30 -0
  13. package/dist/client/assets/ServerStatusTags.vue_vue_type_script_setup_true_lang-BHiTFM7-.js +1 -0
  14. package/dist/client/assets/SessionsView-D68qKR4D.js +1 -0
  15. package/dist/client/assets/SettingsView-BPYfO9BE.js +1 -0
  16. package/dist/client/assets/ToolCallDialog-Br8FNebN.js +1 -0
  17. package/dist/client/assets/ToolCallDialog-C7eh7jHE.css +1 -0
  18. package/dist/client/assets/ToolsView-B6hUiR43.js +1 -0
  19. package/dist/client/assets/ToolsView-BLnU8cV6.css +1 -0
  20. package/dist/client/assets/_baseClone-DCmK847M.js +1 -0
  21. package/dist/client/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  22. package/dist/client/assets/el-form-item-BVMLpmVC.css +1 -0
  23. package/dist/client/assets/el-form-item-DM0q2hmO.js +12 -0
  24. package/dist/client/assets/el-input-BtI9NECe.js +1 -0
  25. package/dist/client/assets/el-input-CmuHb8HS.css +1 -0
  26. package/dist/client/assets/el-loading-CChNmKeI.js +1 -0
  27. package/dist/client/assets/el-loading-bpKhqqQq.css +1 -0
  28. package/dist/client/assets/el-overlay-B2ZKM6Up.css +1 -0
  29. package/dist/client/assets/el-overlay-lZZbPmsX.js +1 -0
  30. package/dist/client/assets/el-select-BXztu2b5.js +1 -0
  31. package/dist/client/assets/el-select-C0U_l4IZ.css +1 -0
  32. package/dist/client/assets/el-tab-pane-CnNoQHsR.css +1 -0
  33. package/dist/client/assets/el-tab-pane-Dy9ruaEX.js +1 -0
  34. package/dist/client/assets/el-table-column-98UyVgBH.js +1 -0
  35. package/dist/client/assets/el-table-column-T_mV9jNw.css +1 -0
  36. package/dist/client/assets/el-tag-B5lLT51E.js +1 -0
  37. package/dist/client/assets/el-tag-DjxZVOpb.css +1 -0
  38. package/dist/client/assets/event-BB_Ol6Sd.js +1 -0
  39. package/dist/client/assets/index-BgKcmWJr.js +1 -0
  40. package/dist/client/assets/index-BsDWtoIl.css +1 -0
  41. package/dist/client/assets/index-BzQXG7no.js +1 -0
  42. package/dist/client/assets/index-CSTs2jYk.js +2 -0
  43. package/dist/client/assets/omit-Bx5HJNV_.js +1 -0
  44. package/dist/client/assets/raf-B9VDMtMF.js +1 -0
  45. package/dist/client/assets/typescript-Bp3YSIOJ.js +1 -0
  46. package/dist/client/assets/vnode-B8aJx8u4.js +1 -0
  47. package/dist/client/assets/vue-vendor-6ny5zj9i.js +3 -0
  48. package/dist/client/index.html +15 -0
  49. package/dist/server/shared/index.d.ts +3 -0
  50. package/dist/server/shared/index.d.ts.map +1 -0
  51. package/dist/server/shared/index.js +2 -0
  52. package/dist/server/shared/models/index.d.ts +4 -0
  53. package/dist/server/shared/models/index.d.ts.map +1 -0
  54. package/dist/server/shared/models/index.js +3 -0
  55. package/dist/server/shared/models/resource.model.d.ts +8 -0
  56. package/dist/server/shared/models/resource.model.d.ts.map +1 -0
  57. package/dist/server/shared/models/resource.model.js +1 -0
  58. package/dist/server/shared/models/server.model.d.ts +57 -0
  59. package/dist/server/shared/models/server.model.d.ts.map +1 -0
  60. package/dist/server/shared/models/server.model.js +1 -0
  61. package/dist/server/shared/models/session.model.d.ts +73 -0
  62. package/dist/server/shared/models/session.model.d.ts.map +1 -0
  63. package/dist/server/shared/models/session.model.js +70 -0
  64. package/dist/server/shared/models/tool.model.d.ts +22 -0
  65. package/dist/server/shared/models/tool.model.d.ts.map +1 -0
  66. package/dist/server/shared/models/tool.model.js +1 -0
  67. package/dist/server/shared/types/client.types.d.ts +35 -0
  68. package/dist/server/shared/types/client.types.d.ts.map +1 -0
  69. package/dist/server/shared/types/client.types.js +5 -0
  70. package/dist/server/shared/types/common.types.d.ts +5 -0
  71. package/dist/server/shared/types/common.types.d.ts.map +1 -0
  72. package/dist/server/shared/types/common.types.js +2 -0
  73. package/dist/server/shared/types/index.d.ts +4 -0
  74. package/dist/server/shared/types/index.d.ts.map +1 -0
  75. package/dist/server/shared/types/index.js +3 -0
  76. package/dist/server/shared/types/session.types.d.ts +15 -0
  77. package/dist/server/shared/types/session.types.d.ts.map +1 -0
  78. package/dist/server/shared/types/session.types.js +5 -0
  79. package/dist/server/shared/types/websocket.types.d.ts +177 -0
  80. package/dist/server/shared/types/websocket.types.d.ts.map +1 -0
  81. package/dist/server/shared/types/websocket.types.js +25 -0
  82. package/dist/server/src/api/mcp/debug-response-wrapper.d.ts +13 -0
  83. package/dist/server/src/api/mcp/debug-response-wrapper.d.ts.map +1 -0
  84. package/dist/server/src/api/mcp/debug-response-wrapper.js +271 -0
  85. package/dist/server/src/api/mcp/gateway.d.ts +14 -0
  86. package/dist/server/src/api/mcp/gateway.d.ts.map +1 -0
  87. package/dist/server/src/api/mcp/gateway.js +116 -0
  88. package/dist/server/src/api/mcp/session-context-extractor.d.ts +47 -0
  89. package/dist/server/src/api/mcp/session-context-extractor.d.ts.map +1 -0
  90. package/dist/server/src/api/mcp/session-context-extractor.js +127 -0
  91. package/dist/server/src/api/mcp/sse-stream-manager.d.ts +13 -0
  92. package/dist/server/src/api/mcp/sse-stream-manager.d.ts.map +1 -0
  93. package/dist/server/src/api/mcp/sse-stream-manager.js +40 -0
  94. package/dist/server/src/api/web/clients.d.ts +30 -0
  95. package/dist/server/src/api/web/clients.d.ts.map +1 -0
  96. package/dist/server/src/api/web/clients.js +41 -0
  97. package/dist/server/src/api/web/config.d.ts +21 -0
  98. package/dist/server/src/api/web/config.d.ts.map +1 -0
  99. package/dist/server/src/api/web/config.js +119 -0
  100. package/dist/server/src/api/web/health.d.ts +21 -0
  101. package/dist/server/src/api/web/health.d.ts.map +1 -0
  102. package/dist/server/src/api/web/health.js +24 -0
  103. package/dist/server/src/api/web/hub-tools.d.ts +30 -0
  104. package/dist/server/src/api/web/hub-tools.d.ts.map +1 -0
  105. package/dist/server/src/api/web/hub-tools.js +202 -0
  106. package/dist/server/src/api/web/logs.d.ts +30 -0
  107. package/dist/server/src/api/web/logs.d.ts.map +1 -0
  108. package/dist/server/src/api/web/logs.js +141 -0
  109. package/dist/server/src/api/web/mcp-status.d.ts +29 -0
  110. package/dist/server/src/api/web/mcp-status.d.ts.map +1 -0
  111. package/dist/server/src/api/web/mcp-status.js +126 -0
  112. package/dist/server/src/api/web/resources.d.ts +28 -0
  113. package/dist/server/src/api/web/resources.d.ts.map +1 -0
  114. package/dist/server/src/api/web/resources.js +93 -0
  115. package/dist/server/src/api/web/search.d.ts +26 -0
  116. package/dist/server/src/api/web/search.d.ts.map +1 -0
  117. package/dist/server/src/api/web/search.js +62 -0
  118. package/dist/server/src/api/web/servers.d.ts +33 -0
  119. package/dist/server/src/api/web/servers.d.ts.map +1 -0
  120. package/dist/server/src/api/web/servers.js +235 -0
  121. package/dist/server/src/api/web/sessions.d.ts +29 -0
  122. package/dist/server/src/api/web/sessions.d.ts.map +1 -0
  123. package/dist/server/src/api/web/sessions.js +104 -0
  124. package/dist/server/src/api/ws/events.d.ts +29 -0
  125. package/dist/server/src/api/ws/events.d.ts.map +1 -0
  126. package/dist/server/src/api/ws/events.js +44 -0
  127. package/dist/server/src/api/ws/ws-handler.d.ts +83 -0
  128. package/dist/server/src/api/ws/ws-handler.d.ts.map +1 -0
  129. package/dist/server/src/api/ws/ws-handler.js +217 -0
  130. package/dist/server/src/app.d.ts +24 -0
  131. package/dist/server/src/app.d.ts.map +1 -0
  132. package/dist/server/src/app.js +108 -0
  133. package/dist/server/src/cli/commands/list.d.ts +71 -0
  134. package/dist/server/src/cli/commands/list.d.ts.map +1 -0
  135. package/dist/server/src/cli/commands/list.js +97 -0
  136. package/dist/server/src/cli/commands/restart.d.ts +42 -0
  137. package/dist/server/src/cli/commands/restart.d.ts.map +1 -0
  138. package/dist/server/src/cli/commands/restart.js +61 -0
  139. package/dist/server/src/cli/commands/start.d.ts +43 -0
  140. package/dist/server/src/cli/commands/start.d.ts.map +1 -0
  141. package/dist/server/src/cli/commands/start.js +160 -0
  142. package/dist/server/src/cli/commands/status.d.ts +39 -0
  143. package/dist/server/src/cli/commands/status.d.ts.map +1 -0
  144. package/dist/server/src/cli/commands/status.js +164 -0
  145. package/dist/server/src/cli/commands/stop.d.ts +34 -0
  146. package/dist/server/src/cli/commands/stop.d.ts.map +1 -0
  147. package/dist/server/src/cli/commands/stop.js +47 -0
  148. package/dist/server/src/cli/commands/ui.d.ts +44 -0
  149. package/dist/server/src/cli/commands/ui.d.ts.map +1 -0
  150. package/dist/server/src/cli/commands/ui.js +95 -0
  151. package/dist/server/src/cli/index.d.ts +62 -0
  152. package/dist/server/src/cli/index.d.ts.map +1 -0
  153. package/dist/server/src/cli/index.js +88 -0
  154. package/dist/server/src/cli/parse-args.d.ts +108 -0
  155. package/dist/server/src/cli/parse-args.d.ts.map +1 -0
  156. package/dist/server/src/cli/parse-args.js +131 -0
  157. package/dist/server/src/cli/server.d.ts +171 -0
  158. package/dist/server/src/cli/server.d.ts.map +1 -0
  159. package/dist/server/src/cli/server.js +246 -0
  160. package/dist/server/src/config/config-change-logger.d.ts +16 -0
  161. package/dist/server/src/config/config-change-logger.d.ts.map +1 -0
  162. package/dist/server/src/config/config-change-logger.js +43 -0
  163. package/dist/server/src/config/config-loader.d.ts +22 -0
  164. package/dist/server/src/config/config-loader.d.ts.map +1 -0
  165. package/dist/server/src/config/config-loader.js +66 -0
  166. package/dist/server/src/config/config-manager.d.ts +158 -0
  167. package/dist/server/src/config/config-manager.d.ts.map +1 -0
  168. package/dist/server/src/config/config-manager.js +246 -0
  169. package/dist/server/src/config/config-saver.d.ts +16 -0
  170. package/dist/server/src/config/config-saver.d.ts.map +1 -0
  171. package/dist/server/src/config/config-saver.js +28 -0
  172. package/dist/server/src/config/config.schema.d.ts +108 -0
  173. package/dist/server/src/config/config.schema.d.ts.map +1 -0
  174. package/dist/server/src/config/config.schema.js +103 -0
  175. package/dist/server/src/config/server-config-manager.d.ts +74 -0
  176. package/dist/server/src/config/server-config-manager.d.ts.map +1 -0
  177. package/dist/server/src/config/server-config-manager.js +157 -0
  178. package/dist/server/src/config/type-converter.d.ts +13 -0
  179. package/dist/server/src/config/type-converter.d.ts.map +1 -0
  180. package/dist/server/src/config/type-converter.js +37 -0
  181. package/dist/server/src/index.d.ts +3 -0
  182. package/dist/server/src/index.d.ts.map +1 -0
  183. package/dist/server/src/index.js +352 -0
  184. package/dist/server/src/models/event.model.d.ts +106 -0
  185. package/dist/server/src/models/event.model.d.ts.map +1 -0
  186. package/dist/server/src/models/event.model.js +5 -0
  187. package/dist/server/src/models/server.model.d.ts +19 -0
  188. package/dist/server/src/models/server.model.d.ts.map +1 -0
  189. package/dist/server/src/models/server.model.js +1 -0
  190. package/dist/server/src/models/system-tools.constants.d.ts +73 -0
  191. package/dist/server/src/models/system-tools.constants.d.ts.map +1 -0
  192. package/dist/server/src/models/system-tools.constants.js +31 -0
  193. package/dist/server/src/models/types.d.ts +84 -0
  194. package/dist/server/src/models/types.d.ts.map +1 -0
  195. package/dist/server/src/models/types.js +67 -0
  196. package/dist/server/src/pid/file.d.ts +26 -0
  197. package/dist/server/src/pid/file.d.ts.map +1 -0
  198. package/dist/server/src/pid/file.js +68 -0
  199. package/dist/server/src/pid/manager.d.ts +98 -0
  200. package/dist/server/src/pid/manager.d.ts.map +1 -0
  201. package/dist/server/src/pid/manager.js +158 -0
  202. package/dist/server/src/pid/types.d.ts +13 -0
  203. package/dist/server/src/pid/types.d.ts.map +1 -0
  204. package/dist/server/src/pid/types.js +4 -0
  205. package/dist/server/src/server/dev-server.d.ts +2 -0
  206. package/dist/server/src/server/dev-server.d.ts.map +1 -0
  207. package/dist/server/src/server/dev-server.js +171 -0
  208. package/dist/server/src/server/runner.d.ts +57 -0
  209. package/dist/server/src/server/runner.d.ts.map +1 -0
  210. package/dist/server/src/server/runner.js +163 -0
  211. package/dist/server/src/services/client-tracker.service.d.ts +132 -0
  212. package/dist/server/src/services/client-tracker.service.d.ts.map +1 -0
  213. package/dist/server/src/services/client-tracker.service.js +203 -0
  214. package/dist/server/src/services/connection/connection-manager.d.ts +478 -0
  215. package/dist/server/src/services/connection/connection-manager.d.ts.map +1 -0
  216. package/dist/server/src/services/connection/connection-manager.js +929 -0
  217. package/dist/server/src/services/connection/index.d.ts +6 -0
  218. package/dist/server/src/services/connection/index.d.ts.map +1 -0
  219. package/dist/server/src/services/connection/index.js +4 -0
  220. package/dist/server/src/services/connection/tool-cache.d.ts +122 -0
  221. package/dist/server/src/services/connection/tool-cache.d.ts.map +1 -0
  222. package/dist/server/src/services/connection/tool-cache.js +202 -0
  223. package/dist/server/src/services/connection/types.d.ts +30 -0
  224. package/dist/server/src/services/connection/types.d.ts.map +1 -0
  225. package/dist/server/src/services/connection/types.js +1 -0
  226. package/dist/server/src/services/event-bus.service.d.ts +169 -0
  227. package/dist/server/src/services/event-bus.service.d.ts.map +1 -0
  228. package/dist/server/src/services/event-bus.service.js +200 -0
  229. package/dist/server/src/services/gateway/gateway.service.d.ts +61 -0
  230. package/dist/server/src/services/gateway/gateway.service.d.ts.map +1 -0
  231. package/dist/server/src/services/gateway/gateway.service.js +107 -0
  232. package/dist/server/src/services/gateway/index.d.ts +8 -0
  233. package/dist/server/src/services/gateway/index.d.ts.map +1 -0
  234. package/dist/server/src/services/gateway/index.js +6 -0
  235. package/dist/server/src/services/gateway/log-formatter.d.ts +26 -0
  236. package/dist/server/src/services/gateway/log-formatter.d.ts.map +1 -0
  237. package/dist/server/src/services/gateway/log-formatter.js +66 -0
  238. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts +13 -0
  239. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.d.ts.map +1 -0
  240. package/dist/server/src/services/gateway/request-handlers/call-tool-handler.js +131 -0
  241. package/dist/server/src/services/gateway/request-handlers/index.d.ts +9 -0
  242. package/dist/server/src/services/gateway/request-handlers/index.d.ts.map +1 -0
  243. package/dist/server/src/services/gateway/request-handlers/index.js +8 -0
  244. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts +11 -0
  245. package/dist/server/src/services/gateway/request-handlers/initialize-handler.d.ts.map +1 -0
  246. package/dist/server/src/services/gateway/request-handlers/initialize-handler.js +85 -0
  247. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts +11 -0
  248. package/dist/server/src/services/gateway/request-handlers/resources-handler.d.ts.map +1 -0
  249. package/dist/server/src/services/gateway/request-handlers/resources-handler.js +56 -0
  250. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts +11 -0
  251. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.d.ts.map +1 -0
  252. package/dist/server/src/services/gateway/request-handlers/system-tools-handler.js +228 -0
  253. package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts +11 -0
  254. package/dist/server/src/services/gateway/request-handlers/tools-handler.d.ts.map +1 -0
  255. package/dist/server/src/services/gateway/request-handlers/tools-handler.js +79 -0
  256. package/dist/server/src/services/gateway/tool-list-generator.d.ts +23 -0
  257. package/dist/server/src/services/gateway/tool-list-generator.d.ts.map +1 -0
  258. package/dist/server/src/services/gateway/tool-list-generator.js +115 -0
  259. package/dist/server/src/services/gateway/types.d.ts +27 -0
  260. package/dist/server/src/services/gateway/types.d.ts.map +1 -0
  261. package/dist/server/src/services/gateway/types.js +4 -0
  262. package/dist/server/src/services/gateway.service.d.ts +7 -0
  263. package/dist/server/src/services/gateway.service.d.ts.map +1 -0
  264. package/dist/server/src/services/gateway.service.js +6 -0
  265. package/dist/server/src/services/hub-manager.service.d.ts +299 -0
  266. package/dist/server/src/services/hub-manager.service.d.ts.map +1 -0
  267. package/dist/server/src/services/hub-manager.service.js +413 -0
  268. package/dist/server/src/services/hub-tools/index.d.ts +10 -0
  269. package/dist/server/src/services/hub-tools/index.d.ts.map +1 -0
  270. package/dist/server/src/services/hub-tools/index.js +6 -0
  271. package/dist/server/src/services/hub-tools/resource-generator.d.ts +63 -0
  272. package/dist/server/src/services/hub-tools/resource-generator.d.ts.map +1 -0
  273. package/dist/server/src/services/hub-tools/resource-generator.js +141 -0
  274. package/dist/server/src/services/hub-tools/server-selector.d.ts +63 -0
  275. package/dist/server/src/services/hub-tools/server-selector.d.ts.map +1 -0
  276. package/dist/server/src/services/hub-tools/server-selector.js +108 -0
  277. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts +47 -0
  278. package/dist/server/src/services/hub-tools/system-tool-definitions.d.ts.map +1 -0
  279. package/dist/server/src/services/hub-tools/system-tool-definitions.js +225 -0
  280. package/dist/server/src/services/hub-tools/tool-search.d.ts +85 -0
  281. package/dist/server/src/services/hub-tools/tool-search.d.ts.map +1 -0
  282. package/dist/server/src/services/hub-tools/tool-search.js +115 -0
  283. package/dist/server/src/services/hub-tools/types.d.ts +42 -0
  284. package/dist/server/src/services/hub-tools/types.d.ts.map +1 -0
  285. package/dist/server/src/services/hub-tools/types.js +1 -0
  286. package/dist/server/src/services/hub-tools.service.d.ts +235 -0
  287. package/dist/server/src/services/hub-tools.service.d.ts.map +1 -0
  288. package/dist/server/src/services/hub-tools.service.js +457 -0
  289. package/dist/server/src/services/log-storage.service.d.ts +177 -0
  290. package/dist/server/src/services/log-storage.service.d.ts.map +1 -0
  291. package/dist/server/src/services/log-storage.service.js +243 -0
  292. package/dist/server/src/services/mcp-connection-manager.d.ts +7 -0
  293. package/dist/server/src/services/mcp-connection-manager.d.ts.map +1 -0
  294. package/dist/server/src/services/mcp-connection-manager.js +6 -0
  295. package/dist/server/src/services/mcp-session-manager.d.ts +6 -0
  296. package/dist/server/src/services/mcp-session-manager.d.ts.map +1 -0
  297. package/dist/server/src/services/mcp-session-manager.js +4 -0
  298. package/dist/server/src/services/search/index.d.ts +5 -0
  299. package/dist/server/src/services/search/index.d.ts.map +1 -0
  300. package/dist/server/src/services/search/index.js +5 -0
  301. package/dist/server/src/services/search/search-cache.d.ts +132 -0
  302. package/dist/server/src/services/search/search-cache.d.ts.map +1 -0
  303. package/dist/server/src/services/search/search-cache.js +151 -0
  304. package/dist/server/src/services/search/search-core.service.d.ts +108 -0
  305. package/dist/server/src/services/search/search-core.service.d.ts.map +1 -0
  306. package/dist/server/src/services/search/search-core.service.js +187 -0
  307. package/dist/server/src/services/search/search-scorer.d.ts +54 -0
  308. package/dist/server/src/services/search/search-scorer.d.ts.map +1 -0
  309. package/dist/server/src/services/search/search-scorer.js +83 -0
  310. package/dist/server/src/services/search/types.d.ts +20 -0
  311. package/dist/server/src/services/search/types.d.ts.map +1 -0
  312. package/dist/server/src/services/search/types.js +1 -0
  313. package/dist/server/src/services/session/index.d.ts +6 -0
  314. package/dist/server/src/services/session/index.d.ts.map +1 -0
  315. package/dist/server/src/services/session/index.js +4 -0
  316. package/dist/server/src/services/session/session-manager.d.ts +352 -0
  317. package/dist/server/src/services/session/session-manager.d.ts.map +1 -0
  318. package/dist/server/src/services/session/session-manager.js +835 -0
  319. package/dist/server/src/services/session/types.d.ts +32 -0
  320. package/dist/server/src/services/session/types.d.ts.map +1 -0
  321. package/dist/server/src/services/session/types.js +1 -0
  322. package/dist/server/src/services/simple-search.service.d.ts +67 -0
  323. package/dist/server/src/services/simple-search.service.d.ts.map +1 -0
  324. package/dist/server/src/services/simple-search.service.js +82 -0
  325. package/dist/server/src/services/system-tool-handler.d.ts +10 -0
  326. package/dist/server/src/services/system-tool-handler.d.ts.map +1 -0
  327. package/dist/server/src/services/system-tool-handler.js +77 -0
  328. package/dist/server/src/utils/error-handler.d.ts +18 -0
  329. package/dist/server/src/utils/error-handler.d.ts.map +1 -0
  330. package/dist/server/src/utils/error-handler.js +59 -0
  331. package/dist/server/src/utils/format-utils.d.ts +23 -0
  332. package/dist/server/src/utils/format-utils.d.ts.map +1 -0
  333. package/dist/server/src/utils/format-utils.js +58 -0
  334. package/dist/server/src/utils/index.d.ts +2 -0
  335. package/dist/server/src/utils/index.d.ts.map +1 -0
  336. package/dist/server/src/utils/index.js +1 -0
  337. package/dist/server/src/utils/json-utils.d.ts +82 -0
  338. package/dist/server/src/utils/json-utils.d.ts.map +1 -0
  339. package/dist/server/src/utils/json-utils.js +204 -0
  340. package/dist/server/src/utils/log-rotator.d.ts +223 -0
  341. package/dist/server/src/utils/log-rotator.d.ts.map +1 -0
  342. package/dist/server/src/utils/log-rotator.js +306 -0
  343. package/dist/server/src/utils/logger/dev-logger.d.ts +39 -0
  344. package/dist/server/src/utils/logger/dev-logger.d.ts.map +1 -0
  345. package/dist/server/src/utils/logger/dev-logger.js +63 -0
  346. package/dist/server/src/utils/logger/index.d.ts +36 -0
  347. package/dist/server/src/utils/logger/index.d.ts.map +1 -0
  348. package/dist/server/src/utils/logger/index.js +46 -0
  349. package/dist/server/src/utils/logger/log-colors.d.ts +27 -0
  350. package/dist/server/src/utils/logger/log-colors.d.ts.map +1 -0
  351. package/dist/server/src/utils/logger/log-colors.js +41 -0
  352. package/dist/server/src/utils/logger/log-context.d.ts +13 -0
  353. package/dist/server/src/utils/logger/log-context.d.ts.map +1 -0
  354. package/dist/server/src/utils/logger/log-context.js +5 -0
  355. package/dist/server/src/utils/logger/log-formatter.d.ts +47 -0
  356. package/dist/server/src/utils/logger/log-formatter.d.ts.map +1 -0
  357. package/dist/server/src/utils/logger/log-formatter.js +150 -0
  358. package/dist/server/src/utils/logger/log-modules.d.ts +141 -0
  359. package/dist/server/src/utils/logger/log-modules.d.ts.map +1 -0
  360. package/dist/server/src/utils/logger/log-modules.js +81 -0
  361. package/dist/server/src/utils/logger/log-output.d.ts +68 -0
  362. package/dist/server/src/utils/logger/log-output.d.ts.map +1 -0
  363. package/dist/server/src/utils/logger/log-output.js +320 -0
  364. package/dist/server/src/utils/logger/logger.d.ts +190 -0
  365. package/dist/server/src/utils/logger/logger.d.ts.map +1 -0
  366. package/dist/server/src/utils/logger/logger.js +350 -0
  367. package/dist/server/src/utils/logger.d.ts +12 -0
  368. package/dist/server/src/utils/logger.d.ts.map +1 -0
  369. package/dist/server/src/utils/logger.js +12 -0
  370. package/dist/server/src/utils/mcp-error-handler.d.ts +162 -0
  371. package/dist/server/src/utils/mcp-error-handler.d.ts.map +1 -0
  372. package/dist/server/src/utils/mcp-error-handler.js +270 -0
  373. package/dist/server/src/utils/port-checker.d.ts +16 -0
  374. package/dist/server/src/utils/port-checker.d.ts.map +1 -0
  375. package/dist/server/src/utils/port-checker.js +242 -0
  376. package/dist/server/src/utils/request-context.d.ts +71 -0
  377. package/dist/server/src/utils/request-context.d.ts.map +1 -0
  378. package/dist/server/src/utils/request-context.js +73 -0
  379. package/dist/server/src/utils/tool-args-parser.d.ts +17 -0
  380. package/dist/server/src/utils/tool-args-parser.d.ts.map +1 -0
  381. package/dist/server/src/utils/tool-args-parser.js +34 -0
  382. package/dist/server/src/utils/transports/sse-transport.d.ts +104 -0
  383. package/dist/server/src/utils/transports/sse-transport.d.ts.map +1 -0
  384. package/dist/server/src/utils/transports/sse-transport.js +189 -0
  385. package/dist/server/src/utils/transports/stdio-transport.d.ts +122 -0
  386. package/dist/server/src/utils/transports/stdio-transport.d.ts.map +1 -0
  387. package/dist/server/src/utils/transports/stdio-transport.js +324 -0
  388. package/dist/server/src/utils/transports/streamable-http-transport.d.ts +146 -0
  389. package/dist/server/src/utils/transports/streamable-http-transport.d.ts.map +1 -0
  390. package/dist/server/src/utils/transports/streamable-http-transport.js +212 -0
  391. package/dist/server/src/utils/transports/transport-factory.d.ts +26 -0
  392. package/dist/server/src/utils/transports/transport-factory.d.ts.map +1 -0
  393. package/dist/server/src/utils/transports/transport-factory.js +104 -0
  394. package/dist/server/src/utils/transports/transport.interface.d.ts +35 -0
  395. package/dist/server/src/utils/transports/transport.interface.d.ts.map +1 -0
  396. package/dist/server/src/utils/transports/transport.interface.js +1 -0
  397. package/dist/server/tests/contract/mcp-protocol/initialize.test.d.ts +2 -0
  398. package/dist/server/tests/contract/mcp-protocol/initialize.test.d.ts.map +1 -0
  399. package/dist/server/tests/contract/mcp-protocol/initialize.test.js +103 -0
  400. package/dist/server/tests/contract/mcp-protocol/tools-call.test.d.ts +2 -0
  401. package/dist/server/tests/contract/mcp-protocol/tools-call.test.d.ts.map +1 -0
  402. package/dist/server/tests/contract/mcp-protocol/tools-call.test.js +181 -0
  403. package/dist/server/tests/contract/mcp-protocol/tools-list.test.d.ts +2 -0
  404. package/dist/server/tests/contract/mcp-protocol/tools-list.test.d.ts.map +1 -0
  405. package/dist/server/tests/contract/mcp-protocol/tools-list.test.js +155 -0
  406. package/dist/server/tests/evaluation/evaluation.test.d.ts +2 -0
  407. package/dist/server/tests/evaluation/evaluation.test.d.ts.map +1 -0
  408. package/dist/server/tests/evaluation/evaluation.test.js +102 -0
  409. package/dist/server/tests/helpers/sdk-test-helpers.d.ts +32 -0
  410. package/dist/server/tests/helpers/sdk-test-helpers.d.ts.map +1 -0
  411. package/dist/server/tests/helpers/sdk-test-helpers.js +82 -0
  412. package/dist/server/tests/integration/api/gateway.test.d.ts +2 -0
  413. package/dist/server/tests/integration/api/gateway.test.d.ts.map +1 -0
  414. package/dist/server/tests/integration/api/gateway.test.js +366 -0
  415. package/dist/server/tests/integration/gateway/fault-tolerance.test.d.ts +2 -0
  416. package/dist/server/tests/integration/gateway/fault-tolerance.test.d.ts.map +1 -0
  417. package/dist/server/tests/integration/gateway/fault-tolerance.test.js +109 -0
  418. package/dist/server/tests/integration/gateway/mcp-connection.test.d.ts +2 -0
  419. package/dist/server/tests/integration/gateway/mcp-connection.test.d.ts.map +1 -0
  420. package/dist/server/tests/integration/gateway/mcp-connection.test.js +149 -0
  421. package/dist/server/tests/server.test.d.ts +2 -0
  422. package/dist/server/tests/server.test.d.ts.map +1 -0
  423. package/dist/server/tests/server.test.js +95 -0
  424. package/dist/server/tests/setup.d.ts +7 -0
  425. package/dist/server/tests/setup.d.ts.map +1 -0
  426. package/dist/server/tests/setup.js +53 -0
  427. package/dist/server/tests/types/logger-test-helpers.d.ts +17 -0
  428. package/dist/server/tests/types/logger-test-helpers.d.ts.map +1 -0
  429. package/dist/server/tests/types/logger-test-helpers.js +4 -0
  430. package/dist/server/tests/types/test-helpers.d.ts +27 -0
  431. package/dist/server/tests/types/test-helpers.d.ts.map +1 -0
  432. package/dist/server/tests/types/test-helpers.js +4 -0
  433. package/dist/server/tests/unit/cli/basic-cli.test.d.ts +2 -0
  434. package/dist/server/tests/unit/cli/basic-cli.test.d.ts.map +1 -0
  435. package/dist/server/tests/unit/cli/basic-cli.test.js +33 -0
  436. package/dist/server/tests/unit/cli/cli.test.d.ts +2 -0
  437. package/dist/server/tests/unit/cli/cli.test.d.ts.map +1 -0
  438. package/dist/server/tests/unit/cli/cli.test.js +17 -0
  439. package/dist/server/tests/unit/cli/commands.test.d.ts +2 -0
  440. package/dist/server/tests/unit/cli/commands.test.d.ts.map +1 -0
  441. package/dist/server/tests/unit/cli/commands.test.js +75 -0
  442. package/dist/server/tests/unit/cli/server.test.d.ts +2 -0
  443. package/dist/server/tests/unit/cli/server.test.d.ts.map +1 -0
  444. package/dist/server/tests/unit/cli/server.test.js +68 -0
  445. package/dist/server/tests/unit/server/runner.test.d.ts +2 -0
  446. package/dist/server/tests/unit/server/runner.test.d.ts.map +1 -0
  447. package/dist/server/tests/unit/server/runner.test.js +488 -0
  448. package/dist/server/tests/unit/server/setup.d.ts +2 -0
  449. package/dist/server/tests/unit/server/setup.d.ts.map +1 -0
  450. package/dist/server/tests/unit/server/setup.js +21 -0
  451. package/dist/server/tests/unit/services/gateway-logging.test.d.ts +2 -0
  452. package/dist/server/tests/unit/services/gateway-logging.test.d.ts.map +1 -0
  453. package/dist/server/tests/unit/services/gateway-logging.test.js +47 -0
  454. package/dist/server/tests/unit/services/hub-manager-service.test.d.ts +2 -0
  455. package/dist/server/tests/unit/services/hub-manager-service.test.d.ts.map +1 -0
  456. package/dist/server/tests/unit/services/hub-manager-service.test.js +140 -0
  457. package/dist/server/tests/unit/services/hub-manager.test.d.ts +2 -0
  458. package/dist/server/tests/unit/services/hub-manager.test.d.ts.map +1 -0
  459. package/dist/server/tests/unit/services/hub-manager.test.js +98 -0
  460. package/dist/server/tests/unit/services/hub-tools.service.test.d.ts +2 -0
  461. package/dist/server/tests/unit/services/hub-tools.service.test.d.ts.map +1 -0
  462. package/dist/server/tests/unit/services/hub-tools.service.test.js +674 -0
  463. package/dist/server/tests/unit/services/search/search-cache.test.d.ts +2 -0
  464. package/dist/server/tests/unit/services/search/search-cache.test.d.ts.map +1 -0
  465. package/dist/server/tests/unit/services/search/search-cache.test.js +58 -0
  466. package/dist/server/tests/unit/services/search/search-core.service.test.d.ts +2 -0
  467. package/dist/server/tests/unit/services/search/search-core.service.test.d.ts.map +1 -0
  468. package/dist/server/tests/unit/services/search/search-core.service.test.js +84 -0
  469. package/dist/server/tests/unit/services/search/search-scorer.test.d.ts +2 -0
  470. package/dist/server/tests/unit/services/search/search-scorer.test.d.ts.map +1 -0
  471. package/dist/server/tests/unit/services/search/search-scorer.test.js +97 -0
  472. package/dist/server/tests/unit/services/session-manager.test.d.ts +2 -0
  473. package/dist/server/tests/unit/services/session-manager.test.d.ts.map +1 -0
  474. package/dist/server/tests/unit/services/session-manager.test.js +481 -0
  475. package/dist/server/tests/unit/utils/config.test.d.ts +2 -0
  476. package/dist/server/tests/unit/utils/config.test.d.ts.map +1 -0
  477. package/dist/server/tests/unit/utils/config.test.js +634 -0
  478. package/dist/server/tests/unit/utils/json-utils.test.d.ts +2 -0
  479. package/dist/server/tests/unit/utils/json-utils.test.d.ts.map +1 -0
  480. package/dist/server/tests/unit/utils/json-utils.test.js +296 -0
  481. package/dist/server/tests/unit/utils/log-rotator.test.d.ts +2 -0
  482. package/dist/server/tests/unit/utils/log-rotator.test.d.ts.map +1 -0
  483. package/dist/server/tests/unit/utils/log-rotator.test.js +296 -0
  484. package/dist/server/tests/unit/utils/logger.test.d.ts +2 -0
  485. package/dist/server/tests/unit/utils/logger.test.d.ts.map +1 -0
  486. package/dist/server/tests/unit/utils/logger.test.js +462 -0
  487. package/dist/server/tests/unit/utils/mcp-error-handler.test.d.ts +2 -0
  488. package/dist/server/tests/unit/utils/mcp-error-handler.test.d.ts.map +1 -0
  489. package/dist/server/tests/unit/utils/mcp-error-handler.test.js +163 -0
  490. package/dist/server/tests/unit/utils/request-context.test.d.ts +2 -0
  491. package/dist/server/tests/unit/utils/request-context.test.d.ts.map +1 -0
  492. package/dist/server/tests/unit/utils/request-context.test.js +82 -0
  493. package/dist/server/vite.config.d.ts +3 -0
  494. package/dist/server/vite.config.d.ts.map +1 -0
  495. package/dist/server/vite.config.js +160 -0
  496. package/dist/server/vitest.config.d.ts +3 -0
  497. package/dist/server/vitest.config.d.ts.map +1 -0
  498. package/dist/server/vitest.config.js +53 -0
  499. package/package.json +113 -0
@@ -0,0 +1,32 @@
1
+ import type { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
2
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ /**
4
+ * Transport with web standard transport property.
5
+ */
6
+ export interface TransportWithWebStandard {
7
+ _webStandardTransport?: {
8
+ sessionId?: string;
9
+ _initialized?: boolean;
10
+ _session?: string;
11
+ };
12
+ }
13
+ /**
14
+ * Represents an active MCP session with its associated server and transport.
15
+ *
16
+ * Each session maintains its own MCP server instance and HTTP transport layer,
17
+ * providing isolated communication channels for different clients. The session
18
+ * tracks the last access time for automatic cleanup of stale sessions.
19
+ *
20
+ * @interface Session
21
+ * @property {McpServer} server - The MCP server instance handling this session
22
+ * @property {StreamableHTTPServerTransport} transport - The HTTP transport for this session
23
+ * @property {string} sessionId - Unique identifier for the session
24
+ * @property {number} lastAccessed - Timestamp (milliseconds) of last session access
25
+ */
26
+ export interface Session {
27
+ server: McpServer;
28
+ transport: StreamableHTTPServerTransport;
29
+ sessionId: string;
30
+ lastAccessed: number;
31
+ }
32
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/services/session/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACxG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qBAAqB,CAAC,EAAE;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,6BAA6B,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,67 @@
1
+ import type { Tool } from '../../shared/models/tool.model.js';
2
+ /**
3
+ * Represents a search result containing a tool and its relevance score.
4
+ */
5
+ export interface SearchResult {
6
+ tool: Tool;
7
+ score: number;
8
+ }
9
+ /**
10
+ * A lightweight search service that provides basic string-based matching for MCP tools.
11
+ *
12
+ * This service is designed for small to medium-scale deployments (50-200 tools) where
13
+ * performance requirements are modest (<100ms response time) and full-text search
14
+ * capabilities are not required. It implements a simple scoring algorithm based on
15
+ * exact matches, prefix matches, substring matches, and description matches.
16
+ *
17
+ * The search is case-insensitive and returns results sorted by relevance score in
18
+ * descending order. Tools with higher scores appear first in the results.
19
+ *
20
+ * Use cases:
21
+ * - Quick tool discovery in development environments
22
+ * - Basic search functionality for independent developers
23
+ * - Lightweight alternative when advanced search features are not needed
24
+ *
25
+ * For larger scale deployments or when fuzzy search is required, consider using
26
+ * the SearchCoreService instead.
27
+ */
28
+ export declare class SimpleSearchService {
29
+ /**
30
+ * Performs a case-insensitive search across all available MCP tools and returns
31
+ * ranked results based on relevance scoring.
32
+ *
33
+ * The scoring algorithm works as follows:
34
+ * - Exact name match: +10 points
35
+ * - Name starts with query: +5 points
36
+ * - Name contains query: +3 points
37
+ * - Description contains query: +1 point
38
+ *
39
+ * Results are filtered to only include tools with a score greater than 0,
40
+ * and are sorted by score in descending order (highest relevance first).
41
+ *
42
+ * @param query - The search query string. If empty or whitespace only,
43
+ * returns all tools with a score of 1.
44
+ * @returns An array of SearchResult objects containing the matching tools
45
+ * and their relevance scores, sorted by score in descending order.
46
+ *
47
+ * @example
48
+ * // Search for tools containing "find"
49
+ * const results = simpleSearchService.search("find");
50
+ * console.log(results[0].tool.name); // Highest scoring tool name
51
+ * console.log(results[0].score); // Relevance score (e.g., 10 for exact match)
52
+ *
53
+ * @example
54
+ * // Get all tools (empty query)
55
+ * const allTools = simpleSearchService.search("");
56
+ * console.log(`Total tools: ${allTools.length}`);
57
+ *
58
+ * @example
59
+ * // Case-insensitive search
60
+ * const results1 = simpleSearchService.search("FIND");
61
+ * const results2 = simpleSearchService.search("find");
62
+ * // results1 and results2 will be identical
63
+ */
64
+ search(query: string): SearchResult[];
65
+ }
66
+ export declare const simpleSearchService: SimpleSearchService;
67
+ //# sourceMappingURL=simple-search.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-search.service.d.ts","sourceRoot":"","sources":["../../../../src/services/simple-search.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,EAAE;CAyB7C;AAED,eAAO,MAAM,mBAAmB,qBAA4B,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { mcpConnectionManager } from './mcp-connection-manager.js';
2
+ /**
3
+ * A lightweight search service that provides basic string-based matching for MCP tools.
4
+ *
5
+ * This service is designed for small to medium-scale deployments (50-200 tools) where
6
+ * performance requirements are modest (<100ms response time) and full-text search
7
+ * capabilities are not required. It implements a simple scoring algorithm based on
8
+ * exact matches, prefix matches, substring matches, and description matches.
9
+ *
10
+ * The search is case-insensitive and returns results sorted by relevance score in
11
+ * descending order. Tools with higher scores appear first in the results.
12
+ *
13
+ * Use cases:
14
+ * - Quick tool discovery in development environments
15
+ * - Basic search functionality for independent developers
16
+ * - Lightweight alternative when advanced search features are not needed
17
+ *
18
+ * For larger scale deployments or when fuzzy search is required, consider using
19
+ * the SearchCoreService instead.
20
+ */
21
+ export class SimpleSearchService {
22
+ /**
23
+ * Performs a case-insensitive search across all available MCP tools and returns
24
+ * ranked results based on relevance scoring.
25
+ *
26
+ * The scoring algorithm works as follows:
27
+ * - Exact name match: +10 points
28
+ * - Name starts with query: +5 points
29
+ * - Name contains query: +3 points
30
+ * - Description contains query: +1 point
31
+ *
32
+ * Results are filtered to only include tools with a score greater than 0,
33
+ * and are sorted by score in descending order (highest relevance first).
34
+ *
35
+ * @param query - The search query string. If empty or whitespace only,
36
+ * returns all tools with a score of 1.
37
+ * @returns An array of SearchResult objects containing the matching tools
38
+ * and their relevance scores, sorted by score in descending order.
39
+ *
40
+ * @example
41
+ * // Search for tools containing "find"
42
+ * const results = simpleSearchService.search("find");
43
+ * console.log(results[0].tool.name); // Highest scoring tool name
44
+ * console.log(results[0].score); // Relevance score (e.g., 10 for exact match)
45
+ *
46
+ * @example
47
+ * // Get all tools (empty query)
48
+ * const allTools = simpleSearchService.search("");
49
+ * console.log(`Total tools: ${allTools.length}`);
50
+ *
51
+ * @example
52
+ * // Case-insensitive search
53
+ * const results1 = simpleSearchService.search("FIND");
54
+ * const results2 = simpleSearchService.search("find");
55
+ * // results1 and results2 will be identical
56
+ */
57
+ search(query) {
58
+ const allTools = mcpConnectionManager.getAllTools();
59
+ if (!query.trim()) {
60
+ return allTools.map((t) => ({ tool: t, score: 1 }));
61
+ }
62
+ const lowerQuery = query.toLowerCase();
63
+ return allTools
64
+ .map((tool) => {
65
+ let score = 0;
66
+ const name = tool.name.toLowerCase();
67
+ const desc = (tool.description || '').toLowerCase();
68
+ if (name === lowerQuery)
69
+ score += 10;
70
+ else if (name.startsWith(lowerQuery))
71
+ score += 5;
72
+ else if (name.includes(lowerQuery))
73
+ score += 3;
74
+ if (desc.includes(lowerQuery))
75
+ score += 1;
76
+ return { tool, score };
77
+ })
78
+ .filter((r) => r.score > 0)
79
+ .sort((a, b) => b.score - a.score);
80
+ }
81
+ }
82
+ export const simpleSearchService = new SimpleSearchService();
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Unified system tool call handler
3
+ */
4
+ export declare class SystemToolHandler {
5
+ /**
6
+ * Handles system tool calls
7
+ */
8
+ static handleSystemToolCall(toolName: string, toolArgs: Record<string, unknown>): Promise<unknown>;
9
+ }
10
+ //# sourceMappingURL=system-tool-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tool-handler.d.ts","sourceRoot":"","sources":["../../../../src/services/system-tool-handler.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;WACU,oBAAoB,CAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;CAwEpB"}
@@ -0,0 +1,77 @@
1
+ import { hubToolsService } from './hub-tools.service.js';
2
+ import { McpError } from '@modelcontextprotocol/sdk/types.js';
3
+ import { logger, LOG_MODULES } from '../utils/logger.js';
4
+ 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, MCP_HUB_LITE_SERVER } from '../models/system-tools.constants.js';
5
+ import { stringifyForLogging } from '../utils/json-utils.js';
6
+ /**
7
+ * Unified system tool call handler
8
+ */
9
+ export class SystemToolHandler {
10
+ /**
11
+ * Handles system tool calls
12
+ */
13
+ static async handleSystemToolCall(toolName, toolArgs) {
14
+ logger.debug(`System tool called: ${toolName}, args=${stringifyForLogging(toolArgs)}`, LOG_MODULES.SYSTEM_TOOL);
15
+ try {
16
+ let result;
17
+ switch (toolName) {
18
+ case LIST_SERVERS_TOOL:
19
+ result = await hubToolsService.listServers();
20
+ break;
21
+ case FIND_SERVERS_TOOL: {
22
+ const findServersArgs = toolArgs;
23
+ result = await hubToolsService.findServers(findServersArgs);
24
+ break;
25
+ }
26
+ case LIST_ALL_TOOLS_IN_SERVER_TOOL: {
27
+ const listAllToolsArgs = toolArgs;
28
+ result = await hubToolsService.listAllToolsInServer(listAllToolsArgs);
29
+ break;
30
+ }
31
+ case FIND_TOOLS_IN_SERVER_TOOL: {
32
+ const findToolsInServerArgs = toolArgs;
33
+ result = await hubToolsService.findToolsInServer(findToolsInServerArgs);
34
+ break;
35
+ }
36
+ case GET_TOOL_TOOL: {
37
+ const getToolArgs = toolArgs;
38
+ result = await hubToolsService.getTool(getToolArgs);
39
+ break;
40
+ }
41
+ case CALL_TOOL_TOOL: {
42
+ const callToolArgs = toolArgs;
43
+ let serverName = callToolArgs.serverName;
44
+ if (!serverName || serverName === 'undefined') {
45
+ serverName = MCP_HUB_LITE_SERVER;
46
+ }
47
+ result = await hubToolsService.callTool({
48
+ ...callToolArgs,
49
+ serverName
50
+ });
51
+ break;
52
+ }
53
+ case FIND_TOOLS_TOOL: {
54
+ const findToolsArgs = toolArgs;
55
+ result = await hubToolsService.findTools(findToolsArgs);
56
+ break;
57
+ }
58
+ default:
59
+ throw new McpError(-32801, `Unknown system tool: ${toolName}`);
60
+ }
61
+ logger.info(`System tool SUCCESS: ${toolName}`, LOG_MODULES.SYSTEM_TOOL);
62
+ return result;
63
+ }
64
+ catch (error) {
65
+ logger.error(`System tool FAILED: ${toolName}, error=${error instanceof Error ? error.message : String(error)}`, error, LOG_MODULES.SYSTEM_TOOL);
66
+ if (error instanceof McpError) {
67
+ throw error;
68
+ }
69
+ else if (error instanceof Error) {
70
+ throw new McpError(-32802, error.message || 'System Tool Error');
71
+ }
72
+ else {
73
+ throw new McpError(-32802, String(error) || 'System Tool Error');
74
+ }
75
+ }
76
+ }
77
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Unified error handler
3
+ */
4
+ export declare class ErrorHandler {
5
+ /**
6
+ * Handles system tool errors
7
+ */
8
+ static handleSystemToolError(toolName: string, error: unknown): never;
9
+ /**
10
+ * Handles tool call errors
11
+ */
12
+ static handleToolCallError(serverId: string, realToolName: string, error: unknown): never;
13
+ /**
14
+ * Handles general errors
15
+ */
16
+ static handleGeneralError(error: unknown, message: string): never;
17
+ }
18
+ //# sourceMappingURL=error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../../../src/utils/error-handler.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK;IAgBrE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK;IA6BzF;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK;CAWlE"}
@@ -0,0 +1,59 @@
1
+ import { McpError } from '@modelcontextprotocol/sdk/types.js';
2
+ import { logger, LOG_MODULES } from './logger.js';
3
+ /**
4
+ * Unified error handler
5
+ */
6
+ export class ErrorHandler {
7
+ /**
8
+ * Handles system tool errors
9
+ */
10
+ static handleSystemToolError(toolName, error) {
11
+ logger.error(`System tool FAILED: ${toolName}, error=${error instanceof Error ? error.message : String(error)}`, error, LOG_MODULES.SYSTEM_TOOL);
12
+ if (error instanceof McpError) {
13
+ throw error;
14
+ }
15
+ else if (error instanceof Error) {
16
+ throw new McpError(-32802, error.message || 'System Tool Error');
17
+ }
18
+ else {
19
+ throw new McpError(-32802, String(error) || 'System Tool Error');
20
+ }
21
+ }
22
+ /**
23
+ * Handles tool call errors
24
+ */
25
+ static handleToolCallError(serverId, realToolName, error) {
26
+ if (error instanceof Error) {
27
+ logger.error(`Tool call FAILED: serverId=${serverId}, realToolName=${realToolName}, error=${error.message}`, LOG_MODULES.GATEWAY);
28
+ if (error.stack) {
29
+ logger.debug(`Error stack for ${realToolName}:`, error.stack, LOG_MODULES.GATEWAY);
30
+ }
31
+ if (error instanceof McpError) {
32
+ throw error;
33
+ }
34
+ if (error.message?.includes('not connected')) {
35
+ throw new McpError(-32001, `Server not reachable: ${error.message}`);
36
+ }
37
+ throw new McpError(-32802, error.message || 'Internal Gateway Error');
38
+ }
39
+ else {
40
+ logger.error(`Tool call FAILED: serverId=${serverId}, realToolName=${realToolName}, error=${String(error)}`, LOG_MODULES.GATEWAY);
41
+ throw new McpError(-32802, String(error) || 'Internal Gateway Error');
42
+ }
43
+ }
44
+ /**
45
+ * Handles general errors
46
+ */
47
+ static handleGeneralError(error, message) {
48
+ logger.error(message, error);
49
+ if (error instanceof McpError) {
50
+ throw error;
51
+ }
52
+ else if (error instanceof Error) {
53
+ throw new McpError(-32802, error.message);
54
+ }
55
+ else {
56
+ throw new McpError(-32802, String(error));
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Utility functions for formatting various data types
3
+ */
4
+ /**
5
+ * Format uptime duration in HH:MM:SS format
6
+ * @param startTime - The start timestamp in milliseconds
7
+ * @param status - The server status (only 'online' will show actual uptime)
8
+ * @returns Formatted uptime string in HH:MM:SS format
9
+ */
10
+ export declare function formatUptime(startTime?: number, status?: string): string;
11
+ /**
12
+ * Format duration in human-readable format (d/h/m/s)
13
+ * @param milliseconds - Duration in milliseconds
14
+ * @returns Formatted duration string (e.g., "2d 3h 45m", "1h 30m", "45m", "30s")
15
+ */
16
+ export declare function formatDuration(milliseconds: number): string;
17
+ /**
18
+ * Get executable name from command path
19
+ * @param cmd - The command path or name
20
+ * @returns The executable name (last part of path)
21
+ */
22
+ export declare function getExecutableName(cmd?: string): string;
23
+ //# sourceMappingURL=format-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/format-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAqB3D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAItD"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Utility functions for formatting various data types
3
+ */
4
+ /**
5
+ * Format uptime duration in HH:MM:SS format
6
+ * @param startTime - The start timestamp in milliseconds
7
+ * @param status - The server status (only 'online' will show actual uptime)
8
+ * @returns Formatted uptime string in HH:MM:SS format
9
+ */
10
+ export function formatUptime(startTime, status) {
11
+ if (!startTime || status !== 'online') {
12
+ return '00:00:00';
13
+ }
14
+ const diff = Math.floor((Date.now() - startTime) / 1000);
15
+ if (diff < 0) {
16
+ return '00:00:00';
17
+ }
18
+ const hours = Math.floor(diff / 3600);
19
+ const minutes = Math.floor((diff % 3600) / 60);
20
+ const seconds = diff % 60;
21
+ return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
22
+ }
23
+ /**
24
+ * Format duration in human-readable format (d/h/m/s)
25
+ * @param milliseconds - Duration in milliseconds
26
+ * @returns Formatted duration string (e.g., "2d 3h 45m", "1h 30m", "45m", "30s")
27
+ */
28
+ export function formatDuration(milliseconds) {
29
+ const seconds = Math.floor(milliseconds / 1000);
30
+ const minutes = Math.floor(seconds / 60);
31
+ const hours = Math.floor(minutes / 60);
32
+ const days = Math.floor(hours / 24);
33
+ const parts = [];
34
+ if (days > 0) {
35
+ parts.push(`${days}d`);
36
+ }
37
+ if (hours % 24 > 0) {
38
+ parts.push(`${hours % 24}h`);
39
+ }
40
+ if (minutes % 60 > 0) {
41
+ parts.push(`${minutes % 60}m`);
42
+ }
43
+ if (seconds % 60 > 0 && parts.length === 0) {
44
+ parts.push(`${seconds % 60}s`);
45
+ }
46
+ return parts.length > 0 ? parts.join(' ') : '0s';
47
+ }
48
+ /**
49
+ * Get executable name from command path
50
+ * @param cmd - The command path or name
51
+ * @returns The executable name (last part of path)
52
+ */
53
+ export function getExecutableName(cmd) {
54
+ if (!cmd)
55
+ return 'unknown';
56
+ // Only show the last part of path or just the command
57
+ return cmd.split(/[/\\]/).pop() || cmd;
58
+ }
@@ -0,0 +1,2 @@
1
+ export { logger, LOG_MODULES } from './logger.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export { logger, LOG_MODULES } from './logger.js';
@@ -0,0 +1,82 @@
1
+ /**
2
+ * JSON utilities for logging and formatting
3
+ */
4
+ /**
5
+ * Set the dev mode flag.
6
+ * Called by logger.enableDevLog() to indicate we're in dev mode.
7
+ *
8
+ * @param enabled - Whether dev mode is enabled
9
+ */
10
+ export declare function setDevModeEnabled(enabled: boolean): void;
11
+ /**
12
+ * Get the dev mode flag.
13
+ * Returns true if we're in dev mode (dev log is enabled).
14
+ *
15
+ * @returns boolean indicating whether dev mode is enabled
16
+ */
17
+ export declare function isDevModeEnabled(): boolean;
18
+ /**
19
+ * Type for the config getter function to avoid direct import dependency.
20
+ */
21
+ type ConfigGetter = () => {
22
+ system: {
23
+ logging: {
24
+ jsonPretty: boolean;
25
+ mcpCommDebug: boolean;
26
+ sessionDebug: boolean;
27
+ };
28
+ };
29
+ };
30
+ /**
31
+ * Set the config getter for jsonPretty setting.
32
+ * This allows retrieving the setting from config without direct import dependency.
33
+ *
34
+ * @param getter - Function that returns the config object, or null to reset
35
+ */
36
+ export declare function setJsonPrettyConfigGetter(getter: ConfigGetter | null): void;
37
+ /**
38
+ * Convert Node.js rawHeaders array [key1, value1, key2, value2, ...] to object
39
+ * @param rawHeaders Node.js rawHeaders array
40
+ * @returns Headers as key-value object
41
+ */
42
+ export declare function rawHeadersToObject(rawHeaders: string[]): Record<string, string>;
43
+ /**
44
+ * Stringify Node.js rawHeaders array for logging
45
+ * Converts [key1, value1, key2, value2, ...] to readable object format
46
+ * @param rawHeaders Node.js rawHeaders array
47
+ * @returns Formatted JSON string
48
+ */
49
+ export declare function stringifyRawHeadersForLogging(rawHeaders: string[]): string;
50
+ /**
51
+ * Get JSON pretty setting from config getter.
52
+ *
53
+ * @returns boolean indicating whether to use pretty JSON formatting
54
+ */
55
+ export declare function getJsonPrettySetting(): boolean;
56
+ /**
57
+ * Get MCP communication debug setting from config getter.
58
+ *
59
+ * @returns boolean indicating whether to enable MCP communication debug logging
60
+ */
61
+ export declare function getMcpCommDebugSetting(): boolean;
62
+ /**
63
+ * Get session debug setting from config getter.
64
+ *
65
+ * @returns boolean indicating whether to enable session debug logging
66
+ */
67
+ export declare function getSessionDebugSetting(): boolean;
68
+ /**
69
+ * Stringify object for logging with dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
70
+ * @param obj Object to stringify
71
+ * @returns Formatted JSON string
72
+ */
73
+ export declare function stringifyForLogging(obj: unknown): string;
74
+ /**
75
+ * Stringify object for logging with replacer and dynamic pretty formatting based on LOG_JSON_PRETTY environment variable
76
+ * @param obj Object to stringify
77
+ * @param replacer Optional replacer function
78
+ * @returns Formatted JSON string
79
+ */
80
+ export declare function stringifyForLoggingWithReplacer(obj: unknown, replacer?: (key: string, value: unknown) => unknown): string;
81
+ export {};
82
+ //# sourceMappingURL=json-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-utils.d.ts","sourceRoot":"","sources":["../../../../src/utils/json-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAiED;;GAEG;AACH,KAAK,YAAY,GAAG,MAAM;IACxB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,OAAO,CAAC;YACtB,YAAY,EAAE,OAAO,CAAC;SACvB,CAAC;KACH,CAAC;CACH,CAAC;AAQF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAU/E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAG1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,GAClD,MAAM,CAOR"}