@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,84 @@
1
+ export declare const CMDErrors: {
2
+ readonly SystemErrors: {
3
+ readonly DATABASE_CONNECTION_FAILED: 1001;
4
+ readonly MEMORY_INSUFFICIENT: 1002;
5
+ readonly NETWORK_UNREACHABLE: 1003;
6
+ readonly DISK_FULL: 1004;
7
+ readonly SERVICE_UNAVAILABLE: 1005;
8
+ readonly INTERNAL_SERVER_ERROR: 1500;
9
+ };
10
+ readonly SecurityErrors: {
11
+ readonly UNAUTHORIZED: 2001;
12
+ readonly FORBIDDEN: 2003;
13
+ readonly TOKEN_EXPIRED: 2004;
14
+ readonly INVALID_CREDENTIALS: 2005;
15
+ readonly ACCESS_DENIED: 2006;
16
+ readonly RATE_LIMIT_EXCEEDED: 2007;
17
+ };
18
+ readonly BusinessErrors: {
19
+ readonly VALIDATION_FAILED: 3001;
20
+ readonly RESOURCE_NOT_FOUND: 3004;
21
+ readonly RESOURCE_ALREADY_EXISTS: 3009;
22
+ readonly INVALID_OPERATION: 3009;
23
+ readonly GROUP_CONSTRAINT_VIOLATION: 3010;
24
+ readonly SERVER_STATUS_CONFLICT: 3011;
25
+ readonly CONFIGURATION_INVALID: 3012;
26
+ };
27
+ readonly APIErrors: {
28
+ readonly INVALID_REQUEST_FORMAT: 4000;
29
+ readonly MISSING_REQUIRED_PARAMETER: 4001;
30
+ readonly INVALID_PARAMETER_VALUE: 4002;
31
+ readonly UNSUPPORTED_MEDIA_TYPE: 4003;
32
+ readonly BAD_REQUEST: 4000;
33
+ };
34
+ readonly MCPProtocolErrors: {
35
+ readonly MCP_SERVER_UNREACHABLE: -32001;
36
+ readonly MCP_REQUEST_TIMEOUT: -32002;
37
+ readonly MCP_INVALID_RESPONSE: -32003;
38
+ readonly MCP_TOOL_NOT_FOUND: -32801;
39
+ readonly MCP_EXECUTION_FAILED: -32802;
40
+ readonly MCP_INITIALIZATION_FAILED: -32803;
41
+ readonly MCP_INVALID_CONFIGURATION: -32804;
42
+ readonly MCP_RATE_LIMIT_EXCEEDED: -32805;
43
+ readonly MCP_AUTHENTICATION_FAILED: -32806;
44
+ readonly MCP_AUTHORIZATION_FAILED: -32807;
45
+ readonly MCP_RESOURCE_EXHAUSTED: -32808;
46
+ readonly MCP_PRECONDITION_FAILED: -32809;
47
+ readonly MCP_CONTENT_MODIFIED: -32810;
48
+ readonly MCP_LOOP_DETECTED: -32811;
49
+ readonly MCP_NOT_IMPLEMENTED: -32812;
50
+ readonly MCP_NOT_SUPPORTED: -32813;
51
+ readonly MCP_TOO_BUSY: -32814;
52
+ readonly MCP_SERVER_SHUTDOWN: -32815;
53
+ };
54
+ };
55
+ export type AllErrorCodes = (typeof CMDErrors.SystemErrors)[keyof typeof CMDErrors.SystemErrors] | (typeof CMDErrors.SecurityErrors)[keyof typeof CMDErrors.SecurityErrors] | (typeof CMDErrors.BusinessErrors)[keyof typeof CMDErrors.BusinessErrors] | (typeof CMDErrors.APIErrors)[keyof typeof CMDErrors.APIErrors] | (typeof CMDErrors.MCPProtocolErrors)[keyof typeof CMDErrors.MCPProtocolErrors] | 6000 | 6001 | 6002 | 6003 | 6004 | 6005;
56
+ export interface CMDBaseResponse<T = unknown> {
57
+ code: number;
58
+ message: string;
59
+ data?: T;
60
+ timestamp: string;
61
+ requestId?: string;
62
+ }
63
+ export type CMDSuccess<T = unknown> = {
64
+ code: 200 | 201 | 204;
65
+ message: string;
66
+ data: T;
67
+ timestamp: string;
68
+ requestId?: string;
69
+ };
70
+ export type CMDError = {
71
+ code: AllErrorCodes;
72
+ message: string;
73
+ data: null;
74
+ timestamp: string;
75
+ requestId?: string;
76
+ error?: {
77
+ category: 'SYSTEM' | 'SECURITY' | 'BUSINESS' | 'API' | 'MCP_PROTOCOL';
78
+ severity: 'FATAL' | 'ERROR' | 'WARN' | 'INFO';
79
+ stack?: string;
80
+ context?: Record<string, unknown>;
81
+ httpStatus?: number;
82
+ };
83
+ };
84
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/models/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEZ,CAAC;AAGX,MAAM,MAAM,aAAa,GACrB,CAAC,OAAO,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,YAAY,CAAC,GACpE,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,cAAc,CAAC,GACxE,CAAC,OAAO,SAAS,CAAC,cAAc,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,cAAc,CAAC,GACxE,CAAC,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,SAAS,CAAC,GAC9D,CAAC,OAAO,SAAS,CAAC,iBAAiB,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,iBAAiB,CAAC,GAC9E,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAGT,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI;IACpC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAEN,QAAQ,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,cAAc,CAAC;QAEtE,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;QAE9C,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAElC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC"}
@@ -0,0 +1,67 @@
1
+ // CMD error type hierarchy definition
2
+ export const CMDErrors = {
3
+ // === System-level errors (1000-1999) ===
4
+ // Infrastructure failures, runtime errors
5
+ SystemErrors: {
6
+ DATABASE_CONNECTION_FAILED: 1001,
7
+ MEMORY_INSUFFICIENT: 1002,
8
+ NETWORK_UNREACHABLE: 1003,
9
+ DISK_FULL: 1004,
10
+ SERVICE_UNAVAILABLE: 1005,
11
+ INTERNAL_SERVER_ERROR: 1500
12
+ },
13
+ // === Security errors (2000-2999) ===
14
+ // Authentication, authorization, security policy related
15
+ SecurityErrors: {
16
+ UNAUTHORIZED: 2001,
17
+ FORBIDDEN: 2003,
18
+ TOKEN_EXPIRED: 2004,
19
+ INVALID_CREDENTIALS: 2005,
20
+ ACCESS_DENIED: 2006,
21
+ RATE_LIMIT_EXCEEDED: 2007
22
+ },
23
+ // === Business logic errors (3000-3999) ===
24
+ // Business rule validation, resource status, etc.
25
+ BusinessErrors: {
26
+ VALIDATION_FAILED: 3001,
27
+ RESOURCE_NOT_FOUND: 3004,
28
+ RESOURCE_ALREADY_EXISTS: 3009,
29
+ INVALID_OPERATION: 3009,
30
+ GROUP_CONSTRAINT_VIOLATION: 3010,
31
+ SERVER_STATUS_CONFLICT: 3011,
32
+ CONFIGURATION_INVALID: 3012
33
+ },
34
+ // === API errors (4000-4999) ===
35
+ // Request format, parameter validation
36
+ APIErrors: {
37
+ INVALID_REQUEST_FORMAT: 4000,
38
+ MISSING_REQUIRED_PARAMETER: 4001,
39
+ INVALID_PARAMETER_VALUE: 4002,
40
+ UNSUPPORTED_MEDIA_TYPE: 4003,
41
+ BAD_REQUEST: 4000
42
+ },
43
+ // === MCP protocol errors (according to MCP standard specification) ===
44
+ // Error code definitions based on MCP protocol standard (https://modelcontextprotocol.io/specification/2025-11-25)
45
+ MCPProtocolErrors: {
46
+ // Standard JSON-RPC 2.0 error code range (-32099 to -32000)
47
+ MCP_SERVER_UNREACHABLE: -32001, // Service unreachable
48
+ MCP_REQUEST_TIMEOUT: -32002, // Request timeout
49
+ MCP_INVALID_RESPONSE: -32003, // Invalid response
50
+ // MCP specific error code range (-32899 to -32800)
51
+ MCP_TOOL_NOT_FOUND: -32801, // Tool not found (corresponds to toolNotFound in MCP specification)
52
+ MCP_EXECUTION_FAILED: -32802, // Execution failed
53
+ MCP_INITIALIZATION_FAILED: -32803, // Initialization failed
54
+ MCP_INVALID_CONFIGURATION: -32804, // Invalid configuration
55
+ MCP_RATE_LIMIT_EXCEEDED: -32805, // Rate limit exceeded
56
+ MCP_AUTHENTICATION_FAILED: -32806, // Authentication failed
57
+ MCP_AUTHORIZATION_FAILED: -32807, // Authorization failed
58
+ MCP_RESOURCE_EXHAUSTED: -32808, // Resource exhausted
59
+ MCP_PRECONDITION_FAILED: -32809, // Precondition failed
60
+ MCP_CONTENT_MODIFIED: -32810, // Content modified
61
+ MCP_LOOP_DETECTED: -32811, // Loop detected
62
+ MCP_NOT_IMPLEMENTED: -32812, // Not implemented
63
+ MCP_NOT_SUPPORTED: -32813, // Not supported
64
+ MCP_TOO_BUSY: -32814, // Overloaded
65
+ MCP_SERVER_SHUTDOWN: -32815 // Server shutdown
66
+ }
67
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * PID file operation utilities
3
+ * Responsibility: Low-level PID file read/write/delete operations
4
+ */
5
+ import type { PidFileOptions } from './types.js';
6
+ /**
7
+ * Get PID file path
8
+ */
9
+ export declare function getPidFilePath(options?: PidFileOptions): string;
10
+ /**
11
+ * Write PID file
12
+ */
13
+ export declare function writePidFile(pid: number, options?: PidFileOptions): void;
14
+ /**
15
+ * Read PID file
16
+ */
17
+ export declare function readPidFile(options?: PidFileOptions): number | null;
18
+ /**
19
+ * Remove PID file
20
+ */
21
+ export declare function removePidFile(options?: PidFileOptions): void;
22
+ /**
23
+ * Check if PID file exists
24
+ */
25
+ export declare function pidFileExists(options?: PidFileOptions): boolean;
26
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/pid/file.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAI/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAUxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAanE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAS5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAG/D"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * PID file operation utilities
3
+ * Responsibility: Low-level PID file read/write/delete operations
4
+ */
5
+ import fs from 'fs';
6
+ import path from 'path';
7
+ import os from 'os';
8
+ // Config directory: Prefer using .mcp-hub-lite/config folder in user's home directory
9
+ const DEFAULT_CONFIG_DIR = path.join(os.homedir(), '.mcp-hub-lite', 'config');
10
+ const DEFAULT_PID_FILENAME = '.mcp-hub.pid';
11
+ /**
12
+ * Get PID file path
13
+ */
14
+ export function getPidFilePath(options) {
15
+ const configDir = options?.configDir || DEFAULT_CONFIG_DIR;
16
+ const filename = options?.filename || DEFAULT_PID_FILENAME;
17
+ return path.join(configDir, filename);
18
+ }
19
+ /**
20
+ * Write PID file
21
+ */
22
+ export function writePidFile(pid, options) {
23
+ const filePath = getPidFilePath(options);
24
+ const configDir = path.dirname(filePath);
25
+ // Ensure config directory exists
26
+ if (!fs.existsSync(configDir)) {
27
+ fs.mkdirSync(configDir, { recursive: true });
28
+ }
29
+ fs.writeFileSync(filePath, pid.toString(), 'utf8');
30
+ }
31
+ /**
32
+ * Read PID file
33
+ */
34
+ export function readPidFile(options) {
35
+ try {
36
+ const filePath = getPidFilePath(options);
37
+ if (!fs.existsSync(filePath)) {
38
+ return null;
39
+ }
40
+ const content = fs.readFileSync(filePath, 'utf8');
41
+ const pid = parseInt(content.trim(), 10);
42
+ return isNaN(pid) ? null : pid;
43
+ }
44
+ catch {
45
+ return null;
46
+ }
47
+ }
48
+ /**
49
+ * Remove PID file
50
+ */
51
+ export function removePidFile(options) {
52
+ try {
53
+ const filePath = getPidFilePath(options);
54
+ if (fs.existsSync(filePath)) {
55
+ fs.unlinkSync(filePath);
56
+ }
57
+ }
58
+ catch {
59
+ // Ignore deletion errors
60
+ }
61
+ }
62
+ /**
63
+ * Check if PID file exists
64
+ */
65
+ export function pidFileExists(options) {
66
+ const filePath = getPidFilePath(options);
67
+ return fs.existsSync(filePath);
68
+ }
@@ -0,0 +1,98 @@
1
+ import type { PidFileOptions } from './types.js';
2
+ export declare class PidManager {
3
+ /**
4
+ * Writes the current process PID to a PID file and registers cleanup hooks
5
+ * for graceful shutdown handling.
6
+ *
7
+ * This method should be called during service startup to create a PID file
8
+ * that tracks the running process. It automatically registers signal handlers
9
+ * for SIGINT, SIGTERM, and process exit events to ensure the PID file is
10
+ * properly cleaned up when the process terminates.
11
+ *
12
+ * @param options - Optional configuration for PID file location and behavior
13
+ * @throws Will log an error if PID file writing fails, but will not throw
14
+ *
15
+ * @example
16
+ * // Basic usage with default PID file location
17
+ * PidManager.writePid();
18
+ *
19
+ * // Custom PID file location
20
+ * PidManager.writePid({ pidFilePath: '/custom/path/mcp-hub.pid' });
21
+ */
22
+ static writePid(options?: PidFileOptions): void;
23
+ /**
24
+ * Removes the PID file from the filesystem.
25
+ *
26
+ * This method safely deletes the PID file, typically called during service
27
+ * shutdown or cleanup operations. It's automatically invoked by the signal
28
+ * handlers registered in `writePid()`.
29
+ *
30
+ * @param options - Optional configuration matching the options used when
31
+ * writing the PID file
32
+ *
33
+ * @example
34
+ * // Remove PID file with default options
35
+ * PidManager.removePid();
36
+ *
37
+ * // Remove PID file with custom path
38
+ * PidManager.removePid({ pidFilePath: '/custom/path/mcp-hub.pid' });
39
+ */
40
+ static removePid(options?: PidFileOptions): void;
41
+ /**
42
+ * Retrieves the PID stored in the PID file.
43
+ *
44
+ * Reads the PID file and returns the stored process ID if it exists and
45
+ * contains valid data. Returns null if the file doesn't exist, is empty,
46
+ * or contains invalid data.
47
+ *
48
+ * @param options - Optional configuration for PID file location
49
+ * @returns The stored process ID as a number, or null if no valid PID is found
50
+ *
51
+ * @example
52
+ * const pid = PidManager.getPid();
53
+ * if (pid) {
54
+ * console.log(`Service is running with PID: ${pid}`);
55
+ * }
56
+ */
57
+ static getPid(options?: PidFileOptions): number | null;
58
+ /**
59
+ * Checks whether the process associated with the stored PID is currently running.
60
+ *
61
+ * This method first retrieves the PID from the PID file, then uses the
62
+ * `process.kill(pid, 0)` system call to verify if a process with that PID
63
+ * is still active. This is a safe operation that only checks process existence
64
+ * without sending any actual signal to terminate the process.
65
+ *
66
+ * @param options - Optional configuration for PID file location
67
+ * @returns true if a process with the stored PID is running, false otherwise
68
+ *
69
+ * @example
70
+ * if (PidManager.isRunning()) {
71
+ * console.log('MCP Hub Lite service is already running');
72
+ * process.exit(1);
73
+ * }
74
+ */
75
+ static isRunning(options?: PidFileOptions): boolean;
76
+ /**
77
+ * Checks whether the PID file exists on the filesystem.
78
+ *
79
+ * This method verifies the existence of the PID file without attempting to
80
+ * read its contents or validate the stored PID. It's useful for determining
81
+ * if a previous instance may have created a PID file, regardless of whether
82
+ * that process is still running.
83
+ *
84
+ * @param options - Optional configuration for PID file location
85
+ * @returns true if the PID file exists, false otherwise
86
+ *
87
+ * @example
88
+ * if (PidManager.pidFileExists()) {
89
+ * console.log('PID file exists, checking if process is running...');
90
+ * if (!PidManager.isRunning()) {
91
+ * console.log('Stale PID file detected, cleaning up...');
92
+ * PidManager.removePid();
93
+ * }
94
+ * }
95
+ */
96
+ static pidFileExists(options?: PidFileOptions): boolean;
97
+ }
98
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/pid/manager.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,UAAU;IACrB;;;;;;;;;;;;;;;;;;OAkBG;WACW,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAmBtD;;;;;;;;;;;;;;;;OAgBG;WACW,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI;IAIvD;;;;;;;;;;;;;;;OAeG;WACW,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IAI7D;;;;;;;;;;;;;;;;OAgBG;WACW,SAAS,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAa1D;;;;;;;;;;;;;;;;;;;OAmBG;WACW,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;CAG/D"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * PID Manager for MCP Hub Lite service lifecycle management.
3
+ *
4
+ * This class provides a centralized interface for managing process ID (PID) files
5
+ * that track the running state of the MCP Hub Lite service. It handles writing,
6
+ * reading, and cleaning up PID files, as well as registering appropriate signal
7
+ * handlers to ensure proper cleanup during process termination.
8
+ *
9
+ * The PID manager is primarily used by the CLI entry point and server runner
10
+ * to maintain service state awareness and prevent multiple instances from
11
+ * running simultaneously.
12
+ *
13
+ * @example
14
+ * // Write PID file at service startup
15
+ * PidManager.writePid();
16
+ *
17
+ * // Check if service is already running
18
+ * if (PidManager.isRunning()) {
19
+ * console.log('Service is already running');
20
+ * process.exit(1);
21
+ * }
22
+ *
23
+ * // Clean up PID file on shutdown
24
+ * PidManager.removePid();
25
+ */
26
+ import { logger } from '../utils/logger.js';
27
+ import { writePidFile, readPidFile, removePidFile, pidFileExists } from './file.js';
28
+ export class PidManager {
29
+ /**
30
+ * Writes the current process PID to a PID file and registers cleanup hooks
31
+ * for graceful shutdown handling.
32
+ *
33
+ * This method should be called during service startup to create a PID file
34
+ * that tracks the running process. It automatically registers signal handlers
35
+ * for SIGINT, SIGTERM, and process exit events to ensure the PID file is
36
+ * properly cleaned up when the process terminates.
37
+ *
38
+ * @param options - Optional configuration for PID file location and behavior
39
+ * @throws Will log an error if PID file writing fails, but will not throw
40
+ *
41
+ * @example
42
+ * // Basic usage with default PID file location
43
+ * PidManager.writePid();
44
+ *
45
+ * // Custom PID file location
46
+ * PidManager.writePid({ pidFilePath: '/custom/path/mcp-hub.pid' });
47
+ */
48
+ static writePid(options) {
49
+ try {
50
+ writePidFile(process.pid, options);
51
+ // Register cleanup hooks for process exit
52
+ process.on('exit', () => this.removePid(options));
53
+ process.on('SIGINT', () => {
54
+ this.removePid(options);
55
+ process.exit();
56
+ });
57
+ process.on('SIGTERM', () => {
58
+ this.removePid(options);
59
+ process.exit();
60
+ });
61
+ }
62
+ catch (error) {
63
+ logger.error('Failed to write PID file:', error);
64
+ }
65
+ }
66
+ /**
67
+ * Removes the PID file from the filesystem.
68
+ *
69
+ * This method safely deletes the PID file, typically called during service
70
+ * shutdown or cleanup operations. It's automatically invoked by the signal
71
+ * handlers registered in `writePid()`.
72
+ *
73
+ * @param options - Optional configuration matching the options used when
74
+ * writing the PID file
75
+ *
76
+ * @example
77
+ * // Remove PID file with default options
78
+ * PidManager.removePid();
79
+ *
80
+ * // Remove PID file with custom path
81
+ * PidManager.removePid({ pidFilePath: '/custom/path/mcp-hub.pid' });
82
+ */
83
+ static removePid(options) {
84
+ removePidFile(options);
85
+ }
86
+ /**
87
+ * Retrieves the PID stored in the PID file.
88
+ *
89
+ * Reads the PID file and returns the stored process ID if it exists and
90
+ * contains valid data. Returns null if the file doesn't exist, is empty,
91
+ * or contains invalid data.
92
+ *
93
+ * @param options - Optional configuration for PID file location
94
+ * @returns The stored process ID as a number, or null if no valid PID is found
95
+ *
96
+ * @example
97
+ * const pid = PidManager.getPid();
98
+ * if (pid) {
99
+ * console.log(`Service is running with PID: ${pid}`);
100
+ * }
101
+ */
102
+ static getPid(options) {
103
+ return readPidFile(options);
104
+ }
105
+ /**
106
+ * Checks whether the process associated with the stored PID is currently running.
107
+ *
108
+ * This method first retrieves the PID from the PID file, then uses the
109
+ * `process.kill(pid, 0)` system call to verify if a process with that PID
110
+ * is still active. This is a safe operation that only checks process existence
111
+ * without sending any actual signal to terminate the process.
112
+ *
113
+ * @param options - Optional configuration for PID file location
114
+ * @returns true if a process with the stored PID is running, false otherwise
115
+ *
116
+ * @example
117
+ * if (PidManager.isRunning()) {
118
+ * console.log('MCP Hub Lite service is already running');
119
+ * process.exit(1);
120
+ * }
121
+ */
122
+ static isRunning(options) {
123
+ const pid = this.getPid(options);
124
+ if (!pid)
125
+ return false;
126
+ try {
127
+ // process.kill(pid, 0) checks if process exists without actually killing it
128
+ process.kill(pid, 0);
129
+ return true;
130
+ }
131
+ catch {
132
+ return false;
133
+ }
134
+ }
135
+ /**
136
+ * Checks whether the PID file exists on the filesystem.
137
+ *
138
+ * This method verifies the existence of the PID file without attempting to
139
+ * read its contents or validate the stored PID. It's useful for determining
140
+ * if a previous instance may have created a PID file, regardless of whether
141
+ * that process is still running.
142
+ *
143
+ * @param options - Optional configuration for PID file location
144
+ * @returns true if the PID file exists, false otherwise
145
+ *
146
+ * @example
147
+ * if (PidManager.pidFileExists()) {
148
+ * console.log('PID file exists, checking if process is running...');
149
+ * if (!PidManager.isRunning()) {
150
+ * console.log('Stale PID file detected, cleaning up...');
151
+ * PidManager.removePid();
152
+ * }
153
+ * }
154
+ */
155
+ static pidFileExists(options) {
156
+ return pidFileExists(options);
157
+ }
158
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * PID management related type definitions
3
+ */
4
+ export interface PidInfo {
5
+ pid: number;
6
+ timestamp: number;
7
+ port?: number;
8
+ }
9
+ export interface PidFileOptions {
10
+ configDir?: string;
11
+ filename?: string;
12
+ }
13
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/pid/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,4 @@
1
+ /**
2
+ * PID management related type definitions
3
+ */
4
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dev-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-server.d.ts","sourceRoot":"","sources":["../../../../src/server/dev-server.ts"],"names":[],"mappings":""}