@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,350 @@
1
+ /**
2
+ * Advanced structured logger with color support, file output, and context-aware logging.
3
+ *
4
+ * This logger provides comprehensive logging capabilities with the following features:
5
+ * - ANSI color-coded console output with different colors for each log level
6
+ * - Structured context information including PID, server name, trace ID, span ID
7
+ * - File output with plain text formatting (no colors) for log analysis
8
+ * - Development mode with automatic log file creation and clearing
9
+ * - Context-aware logging with module, traceId, and spanId support
10
+ * - Error formatting with stack trace truncation to prevent overly verbose logs
11
+ * - MCP server-specific logging with serverName context
12
+ * - Log rotation with date-based file naming and automatic cleanup
13
+ *
14
+ * The logger supports four log levels: debug, info, warn, and error, with configurable
15
+ * minimum log level threshold.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Basic usage
20
+ * logger.info('Server started', { port: 7788 });
21
+ *
22
+ * // With context
23
+ * logger.error('Connection failed', { error: err.message, serverName: 'my-server' });
24
+ *
25
+ * // Development mode
26
+ * logger.enableDevLog();
27
+ * ```
28
+ */
29
+ import { DevLogger } from './dev-logger.js';
30
+ import { LOG_MODULES } from './log-modules.js';
31
+ import { createColoredLogMessage, createLogMessage, formatError, formatTimestamp, formatLogLevel, formatPid } from './log-formatter.js';
32
+ import { setDevModeEnabled } from '../json-utils.js';
33
+ export class Logger {
34
+ level = 'info';
35
+ useStderr = false;
36
+ useColor = true;
37
+ devLogger = new DevLogger();
38
+ constructor(level = 'info') {
39
+ this.level = level;
40
+ const devLogFileEnv = process.env.DEV_LOG_FILE;
41
+ if (devLogFileEnv === 'true' || devLogFileEnv === '1') {
42
+ this.enableDevLog();
43
+ }
44
+ const noColorEnv = process.env.NO_COLOR;
45
+ if (noColorEnv === 'true' || noColorEnv === '1' || noColorEnv === '') {
46
+ this.setUseColor(false);
47
+ }
48
+ }
49
+ /**
50
+ * Enables development logging mode with file output and enhanced debugging.
51
+ *
52
+ * @param rotatorConfig - Optional custom rotation configuration (default: 7 days retention)
53
+ * @example
54
+ * ```typescript
55
+ * const logger = new Logger();
56
+ * logger.enableDevLog(); // Logs will be written to logs/dev-server.2026-02-27.log
57
+ *
58
+ * // With custom retention period
59
+ * logger.enableDevLog({ rotationAge: '14d' });
60
+ * ```
61
+ */
62
+ enableDevLog(rotatorConfig) {
63
+ setDevModeEnabled(true);
64
+ this.devLogger.enableDevLog(rotatorConfig, (logFile) => {
65
+ this.debug(`Writing logs to: ${logFile}`, LOG_MODULES.DEV_SERVER);
66
+ });
67
+ }
68
+ setUseStderr(use) {
69
+ this.useStderr = use;
70
+ }
71
+ /**
72
+ * Enable or disable ANSI color output.
73
+ * When disabled, logs will be plain text without color codes.
74
+ *
75
+ * @param use - Whether to use color in output
76
+ * @example
77
+ * ```typescript
78
+ * logger.setUseColor(false); // Plain text output for files
79
+ * ```
80
+ */
81
+ setUseColor(use) {
82
+ this.useColor = use;
83
+ }
84
+ /**
85
+ * Check if a message should be logged at the current level.
86
+ * @internal Public for testing only
87
+ */
88
+ shouldLog(messageLevel) {
89
+ const levels = ['debug', 'info', 'warn', 'error'];
90
+ return levels.indexOf(messageLevel) >= levels.indexOf(this.level);
91
+ }
92
+ /**
93
+ * Generic logging method to eliminate code duplication.
94
+ */
95
+ log(level, message, args, options) {
96
+ if (!this.shouldLog(level)) {
97
+ return;
98
+ }
99
+ let fullMessage = message;
100
+ if (args.length > 0) {
101
+ const formattedArgs = args.map((arg) => formatError(arg)).join(' ');
102
+ fullMessage = `${message} ${formattedArgs}`;
103
+ }
104
+ const context = options
105
+ ? {
106
+ module: options.module,
107
+ traceId: options.traceId,
108
+ spanId: options.spanId
109
+ }
110
+ : undefined;
111
+ const coloredLogMsg = createColoredLogMessage(level, fullMessage, context);
112
+ const plainLogMsg = createLogMessage(level, fullMessage, context);
113
+ const consoleLogMsg = this.useColor ? coloredLogMsg : plainLogMsg;
114
+ if (this.useStderr) {
115
+ console.error(consoleLogMsg);
116
+ }
117
+ else {
118
+ switch (level) {
119
+ case 'debug':
120
+ console.debug(consoleLogMsg);
121
+ break;
122
+ case 'info':
123
+ console.info(consoleLogMsg);
124
+ break;
125
+ case 'warn':
126
+ console.warn(consoleLogMsg);
127
+ break;
128
+ case 'error':
129
+ console.error(consoleLogMsg);
130
+ break;
131
+ }
132
+ }
133
+ const logFileStream = this.devLogger.stream;
134
+ if (logFileStream) {
135
+ logFileStream.write(plainLogMsg + '\n');
136
+ }
137
+ }
138
+ /**
139
+ * Logs a debug message with optional context and additional arguments.
140
+ *
141
+ * @param message - The primary log message
142
+ * @param args - Additional arguments to include in the log
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * // Basic debug message
147
+ * logger.debug('Processing request');
148
+ *
149
+ * // With context
150
+ * logger.debug('Tool called', { module: 'Gateway', traceId: 'abc123' }, toolName, args);
151
+ * ```
152
+ */
153
+ debug(message, ...args) {
154
+ const [options, ...restArgs] = this.extractOptionsAndArgs(args);
155
+ this.log('debug', message, restArgs, options);
156
+ }
157
+ /**
158
+ * Logs an informational message with optional context and additional arguments.
159
+ *
160
+ * @param message - The primary log message
161
+ * @param args - Additional arguments to include in the log
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * // Basic info message
166
+ * logger.info('Server started successfully');
167
+ *
168
+ * // With context and additional data
169
+ * logger.info('Request processed', { module: 'API' }, { duration: 150, statusCode: 200 });
170
+ * ```
171
+ */
172
+ info(message, ...args) {
173
+ const [options, ...restArgs] = this.extractOptionsAndArgs(args);
174
+ this.log('info', message, restArgs, options);
175
+ }
176
+ /**
177
+ * Logs a warning message with optional context and additional arguments.
178
+ *
179
+ * @param message - The primary log message
180
+ * @param args - Additional arguments to include in the log
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * // Basic warning message
185
+ * logger.warn('Deprecated API usage detected');
186
+ *
187
+ * // With context and error details
188
+ * logger.warn('Connection timeout', { module: 'Network' }, { server: 'api.example.com', timeout: 5000 });
189
+ * ```
190
+ */
191
+ warn(message, ...args) {
192
+ const [options, ...restArgs] = this.extractOptionsAndArgs(args);
193
+ this.log('warn', message, restArgs, options);
194
+ }
195
+ /**
196
+ * Logs an error message with optional context and additional arguments.
197
+ *
198
+ * @param message - The primary log message
199
+ * @param args - Additional arguments to include in the log
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * // Basic error message
204
+ * logger.error('Database connection failed');
205
+ *
206
+ * // With error object and context
207
+ * logger.error('Request processing failed', { module: 'API' }, error, { requestId: '123' });
208
+ * ```
209
+ */
210
+ error(message, ...args) {
211
+ const [options, ...restArgs] = this.extractOptionsAndArgs(args);
212
+ this.log('error', message, restArgs, options);
213
+ }
214
+ extractOptionsAndArgs(args) {
215
+ const optionsIndex = args.findIndex((arg) => typeof arg === 'object' &&
216
+ arg !== null &&
217
+ !Array.isArray(arg) &&
218
+ ('module' in arg || 'traceId' in arg || 'spanId' in arg));
219
+ if (optionsIndex !== -1) {
220
+ const options = args[optionsIndex];
221
+ const restArgs = [...args.slice(0, optionsIndex), ...args.slice(optionsIndex + 1)];
222
+ return [options, restArgs];
223
+ }
224
+ return [undefined, args];
225
+ }
226
+ setLevel(level) {
227
+ this.level = level;
228
+ }
229
+ /**
230
+ * Method specifically for MCP Server logging.
231
+ * Handles multi-line messages by splitting them into individual log entries.
232
+ */
233
+ serverLog(level, serverName, message, context) {
234
+ if (!this.shouldLog(level)) {
235
+ return;
236
+ }
237
+ // Check if message contains newlines
238
+ if (message.includes('\n')) {
239
+ // Split by newline characters, supporting both \n and \r\n
240
+ const lines = message.split(/\r?\n/);
241
+ // Log each non-empty line individually
242
+ for (const line of lines) {
243
+ const trimmedLine = line.trim();
244
+ if (trimmedLine) {
245
+ this.logSingleServerLine(level, serverName, trimmedLine, context);
246
+ }
247
+ }
248
+ }
249
+ else {
250
+ // Single line message, log as is
251
+ this.logSingleServerLine(level, serverName, message, context);
252
+ }
253
+ }
254
+ /**
255
+ * Internal helper to log a single line for serverLog.
256
+ * Contains the core logging logic originally in serverLog.
257
+ */
258
+ logSingleServerLine(level, serverName, message, context) {
259
+ const logContext = {
260
+ ...context,
261
+ serverName
262
+ };
263
+ const coloredLogMsg = createColoredLogMessage(level, message, logContext);
264
+ const plainLogMsg = createLogMessage(level, message, logContext);
265
+ const consoleLogMsg = this.useColor ? coloredLogMsg : plainLogMsg;
266
+ if (this.useStderr) {
267
+ console.error(consoleLogMsg);
268
+ }
269
+ else {
270
+ switch (level) {
271
+ case 'debug':
272
+ console.debug(consoleLogMsg);
273
+ break;
274
+ case 'info':
275
+ console.info(consoleLogMsg);
276
+ break;
277
+ case 'warn':
278
+ console.warn(consoleLogMsg);
279
+ break;
280
+ case 'error':
281
+ console.error(consoleLogMsg);
282
+ break;
283
+ }
284
+ }
285
+ const logFileStream = this.devLogger.stream;
286
+ if (logFileStream) {
287
+ logFileStream.write(plainLogMsg + '\n');
288
+ }
289
+ }
290
+ // ========================================================================
291
+ // Test-only accessors - These are public for testing but marked @internal
292
+ // to indicate they should not be used in production code.
293
+ // ========================================================================
294
+ /**
295
+ * Internal accessor for testing and legacy compatibility.
296
+ * @internal
297
+ */
298
+ get logFileStream() {
299
+ return this.devLogger.stream;
300
+ }
301
+ /**
302
+ * Internal accessor for testing and legacy compatibility.
303
+ * @internal
304
+ */
305
+ get devLogRotator() {
306
+ return this.devLogger.rotator;
307
+ }
308
+ /**
309
+ * Internal method for testing and legacy compatibility.
310
+ * @internal
311
+ */
312
+ createColoredLogMessage(level, message, context) {
313
+ return createColoredLogMessage(level, message, context);
314
+ }
315
+ /**
316
+ * Internal method for testing and legacy compatibility.
317
+ * @internal
318
+ */
319
+ createLogMessage(level, message, context) {
320
+ return createLogMessage(level, message, context);
321
+ }
322
+ /**
323
+ * Internal method for testing and legacy compatibility.
324
+ * @internal
325
+ */
326
+ formatError(error) {
327
+ return formatError(error);
328
+ }
329
+ /**
330
+ * Internal method for testing and legacy compatibility.
331
+ * @internal
332
+ */
333
+ formatTimestamp(date) {
334
+ return formatTimestamp(date);
335
+ }
336
+ /**
337
+ * Internal method for testing and legacy compatibility.
338
+ * @internal
339
+ */
340
+ formatLogLevel(level) {
341
+ return formatLogLevel(level);
342
+ }
343
+ /**
344
+ * Internal method for testing and legacy compatibility.
345
+ * @internal
346
+ */
347
+ formatPid(pid) {
348
+ return formatPid(pid);
349
+ }
350
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Logger module - Thin wrapper for backward compatibility.
3
+ *
4
+ * This file has been refactored into a modular structure under src/utils/logger/.
5
+ * This wrapper maintains backward compatibility while allowing gradual migration.
6
+ *
7
+ * New code should import directly from '../../src/utils/logger/index.js' or specific submodules.
8
+ *
9
+ * @deprecated New imports should use 'src/utils/logger/index.js'
10
+ */
11
+ export * from './logger/index.js';
12
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Logger module - Thin wrapper for backward compatibility.
3
+ *
4
+ * This file has been refactored into a modular structure under src/utils/logger/.
5
+ * This wrapper maintains backward compatibility while allowing gradual migration.
6
+ *
7
+ * New code should import directly from '../../src/utils/logger/index.js' or specific submodules.
8
+ *
9
+ * @deprecated New imports should use 'src/utils/logger/index.js'
10
+ */
11
+ // Re-export everything from the new modular logger
12
+ export * from './logger/index.js';
@@ -0,0 +1,162 @@
1
+ import { CMDError } from '../models/types.js';
2
+ /**
3
+ * Represents a standard MCP (Model Context Protocol) error response.
4
+ * This interface follows the MCP specification for error responses,
5
+ * including optional extended metadata in the 'x-mcp' field.
6
+ */
7
+ export interface MCPError {
8
+ /** The numeric error code following JSON-RPC 2.0 and MCP standards */
9
+ code: number;
10
+ /** Human-readable error message describing the issue */
11
+ message: string;
12
+ /** Optional additional error data or context */
13
+ data?: unknown;
14
+ /** Extended MCP-specific metadata (optional) */
15
+ 'x-mcp'?: {
16
+ /** Detailed error context and debugging information */
17
+ details?: Record<string, unknown>;
18
+ /** Suggested actions for the client to resolve the error */
19
+ suggestedActions?: string[];
20
+ /** URL to additional documentation or help resources */
21
+ moreInfoUrl?: string;
22
+ };
23
+ }
24
+ /**
25
+ * MCP Hub Lite's error code mapping from internal gateway error codes
26
+ * to standard MCP protocol error codes. This mapping ensures compliance
27
+ * with the MCP specification while maintaining internal error categorization.
28
+ *
29
+ * The mapping follows these conventions:
30
+ * - 6001: Gateway internal error → Service unavailable (-32001)
31
+ * - 6002: Connection timeout → Request timeout (-32002)
32
+ * - 6003: Tool not found → MCP tool not found (-32801)
33
+ * - 6004: Tool execution failed → MCP execution failed (-32802)
34
+ * - 6005: Initialization failed → MCP initialization failed (-32803)
35
+ */
36
+ export declare const MCPHubLiteErrorMap: {
37
+ readonly 6001: -32001;
38
+ readonly 6002: -32002;
39
+ readonly 6003: -32801;
40
+ readonly 6004: -32802;
41
+ readonly 6005: -32803;
42
+ };
43
+ /**
44
+ * MCPErrorHandler provides standardized error handling and conversion for the MCP Hub Lite system.
45
+ * This class is responsible for converting internal application errors (both native JavaScript Error
46
+ * objects and custom CMDError objects) into standardized MCP protocol error responses that comply
47
+ * with the Model Context Protocol specification.
48
+ *
49
+ * The handler ensures consistent error formatting across the entire system, providing appropriate
50
+ * error codes, messages, and extended metadata that clients can use for proper error handling
51
+ * and user feedback. It supports both generic JavaScript errors and structured CMDError objects
52
+ * with categorized error codes.
53
+ *
54
+ * Usage scenarios include:
55
+ * - Converting backend server errors to MCP-compliant responses
56
+ * - Standardizing error responses from different MCP server implementations
57
+ * - Providing consistent error metadata for client-side error handling
58
+ * - Maintaining compatibility with the MCP protocol specification
59
+ */
60
+ export declare class MCPErrorHandler {
61
+ /**
62
+ * Converts internal errors to standardized MCP error responses.
63
+ * This method handles both native JavaScript Error objects and custom CMDError objects,
64
+ * mapping them to appropriate MCP error codes and formatting them according to the
65
+ * MCP protocol specification.
66
+ *
67
+ * For native Error objects, it creates a standard MCP error with service unavailable
68
+ * code (-32001) and includes debugging information like stack trace and error name.
69
+ * For CMDError objects, it maps the internal error code ranges to appropriate MCP
70
+ * standard error codes based on error categories (system, security, business, etc.).
71
+ *
72
+ * @param error - The error to convert, either a native Error or CMDError object
73
+ * @returns A standardized MCPError object compliant with the MCP protocol
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * // Converting a native Error
78
+ * const mcpError = MCPErrorHandler.toMCPError(new Error('Connection failed'));
79
+ *
80
+ * // Converting a CMDError
81
+ * const cmdError: CMDError = { code: 6003, message: 'Tool not found', data: {} };
82
+ * const mcpError = MCPErrorHandler.toMCPError(cmdError);
83
+ * ```
84
+ */
85
+ static toMCPError(error: Error | CMDError): MCPError;
86
+ /**
87
+ * Maps internal CMD error codes to standardized MCP error codes.
88
+ * This private method implements the core logic for converting categorized
89
+ * internal error codes to appropriate MCP standard error codes based on
90
+ * error type ranges:
91
+ *
92
+ * - 1000-1999: System errors → Service unavailable (-32001)
93
+ * - 2000-2999: Security errors → Authentication/Authorization failed (-32806/-32807)
94
+ * - 3000-3999: Business errors → Invalid parameter (-32602)
95
+ * - 5000-5999: MCP protocol errors → Direct mapping or service unavailable
96
+ * - 6000-6999: Gateway-specific errors → Specific MCP error codes via switch
97
+ *
98
+ * The mapping ensures that internal error categorization is preserved while
99
+ * maintaining compliance with the external MCP protocol standard.
100
+ *
101
+ * @param cmdCode - The internal CMD error code to map
102
+ * @returns The corresponding standardized MCP error code
103
+ *
104
+ * @private
105
+ */
106
+ private static mapCMDToMCPErrorCode;
107
+ }
108
+ /**
109
+ * MCPErrorsMiddleware provides middleware functionality for handling and normalizing
110
+ * error responses from backend MCP servers. This class acts as an intermediary layer
111
+ * that ensures all error responses conform to the standard MCP protocol format,
112
+ * regardless of how the backend server originally formatted its errors.
113
+ *
114
+ * The middleware intercepts JSON-RPC responses containing errors and validates
115
+ * whether they already comply with the MCP error standard. If they don't, it
116
+ * converts them using the MCPErrorHandler to ensure consistent error formatting
117
+ * across all connected MCP servers.
118
+ *
119
+ * This is particularly useful when integrating with various MCP server implementations
120
+ * that may have different error handling conventions, ensuring that clients receive
121
+ * standardized error responses regardless of the underlying server implementation.
122
+ */
123
+ export declare class MCPErrorsMiddleware {
124
+ /**
125
+ * Handles and normalizes error responses from backend MCP servers.
126
+ * This method processes JSON-RPC responses and ensures that any error objects
127
+ * are converted to the standard MCP error format if they aren't already compliant.
128
+ *
129
+ * The method performs the following steps:
130
+ * 1. Checks if the response contains an error field
131
+ * 2. Validates if the error is already in standard MCP format
132
+ * 3. If not standard, converts the error to MCP format using MCPErrorHandler
133
+ * 4. Returns the normalized response with standardized error formatting
134
+ *
135
+ * Non-error responses are returned unchanged to maintain performance.
136
+ *
137
+ * @param response - The raw response from a backend MCP server
138
+ * @returns The response with standardized error formatting if applicable, otherwise the original response
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * // Handle a response with a non-standard error
143
+ * const rawResponse = { jsonrpc: '2.0', id: 1, error: new Error('Connection failed') };
144
+ * const normalizedResponse = MCPErrorsMiddleware.handleBackendMCPErrors(rawResponse);
145
+ * // normalizedResponse.error will be in standard MCP format
146
+ * ```
147
+ */
148
+ static handleBackendMCPErrors(response: unknown): unknown;
149
+ /**
150
+ * Type guard function to check if an error object conforms to the standard MCP error format.
151
+ * This private method validates that the error object has the required properties
152
+ * (code as number, message as string) and optional data property according to
153
+ * the MCP specification.
154
+ *
155
+ * @param error - The error object to validate
156
+ * @returns True if the error conforms to MCP standard format, false otherwise
157
+ *
158
+ * @private
159
+ */
160
+ private static isStandardMCPError;
161
+ }
162
+ //# sourceMappingURL=mcp-error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-error-handler.d.ts","sourceRoot":"","sources":["../../../../src/utils/mcp-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE;QACR,uDAAuD;QACvD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,4DAA4D;QAC5D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,wDAAwD;QACxD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAoCD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;CAOrB,CAAC;AAEX;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAe;IAC1B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ;IA0CpD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CAyCpC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO;IAkCzD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAWlC"}