synapse-mcp 1.0.0 → 1.0.2

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 (413) hide show
  1. package/README.md +1820 -147
  2. package/dist/constants.d.ts +10 -4
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +18 -8
  5. package/dist/constants.js.map +1 -1
  6. package/dist/events/emitter.d.ts +63 -0
  7. package/dist/events/emitter.d.ts.map +1 -0
  8. package/dist/events/emitter.js +112 -0
  9. package/dist/events/emitter.js.map +1 -0
  10. package/dist/events/index.d.ts +3 -0
  11. package/dist/events/index.d.ts.map +1 -0
  12. package/dist/events/index.js +3 -0
  13. package/dist/events/index.js.map +1 -0
  14. package/dist/events/types.d.ts +51 -0
  15. package/dist/events/types.d.ts.map +1 -0
  16. package/dist/events/types.js +3 -0
  17. package/dist/events/types.js.map +1 -0
  18. package/dist/formatters/compose.d.ts +185 -0
  19. package/dist/formatters/compose.d.ts.map +1 -0
  20. package/dist/formatters/compose.js +397 -0
  21. package/dist/formatters/compose.js.map +1 -0
  22. package/dist/formatters/container.d.ts +84 -0
  23. package/dist/formatters/container.d.ts.map +1 -0
  24. package/dist/formatters/container.js +323 -0
  25. package/dist/formatters/container.js.map +1 -0
  26. package/dist/formatters/diagnostics.d.ts +20 -0
  27. package/dist/formatters/diagnostics.d.ts.map +1 -0
  28. package/dist/formatters/diagnostics.js +73 -0
  29. package/dist/formatters/diagnostics.js.map +1 -0
  30. package/dist/formatters/docker.d.ts +139 -0
  31. package/dist/formatters/docker.d.ts.map +1 -0
  32. package/dist/formatters/docker.js +216 -0
  33. package/dist/formatters/docker.js.map +1 -0
  34. package/dist/formatters/host.d.ts +137 -0
  35. package/dist/formatters/host.d.ts.map +1 -0
  36. package/dist/formatters/host.js +198 -0
  37. package/dist/formatters/host.js.map +1 -0
  38. package/dist/formatters/index.d.ts +17 -270
  39. package/dist/formatters/index.d.ts.map +1 -1
  40. package/dist/formatters/index.js +21 -456
  41. package/dist/formatters/index.js.map +1 -1
  42. package/dist/formatters/scout.d.ts +424 -0
  43. package/dist/formatters/scout.d.ts.map +1 -0
  44. package/dist/formatters/scout.js +687 -0
  45. package/dist/formatters/scout.js.map +1 -0
  46. package/dist/formatters/strategy.d.ts +105 -0
  47. package/dist/formatters/strategy.d.ts.map +1 -0
  48. package/dist/formatters/strategy.js +120 -0
  49. package/dist/formatters/strategy.js.map +1 -0
  50. package/dist/formatters/utils.d.ts +84 -0
  51. package/dist/formatters/utils.d.ts.map +1 -0
  52. package/dist/formatters/utils.js +129 -0
  53. package/dist/formatters/utils.js.map +1 -0
  54. package/dist/health-rate-limiter.d.ts +59 -0
  55. package/dist/health-rate-limiter.d.ts.map +1 -0
  56. package/dist/health-rate-limiter.js +159 -0
  57. package/dist/health-rate-limiter.js.map +1 -0
  58. package/dist/index.js +61 -100
  59. package/dist/index.js.map +1 -1
  60. package/dist/middleware/async-handler.d.ts +62 -0
  61. package/dist/middleware/async-handler.d.ts.map +1 -0
  62. package/dist/middleware/async-handler.js +58 -0
  63. package/dist/middleware/async-handler.js.map +1 -0
  64. package/dist/middleware/auth.d.ts +32 -0
  65. package/dist/middleware/auth.d.ts.map +1 -0
  66. package/dist/middleware/auth.js +63 -0
  67. package/dist/middleware/auth.js.map +1 -0
  68. package/dist/middleware/csrf-protection.d.ts +58 -0
  69. package/dist/middleware/csrf-protection.d.ts.map +1 -0
  70. package/dist/middleware/csrf-protection.js +123 -0
  71. package/dist/middleware/csrf-protection.js.map +1 -0
  72. package/dist/middleware/error-handler.d.ts +49 -0
  73. package/dist/middleware/error-handler.d.ts.map +1 -0
  74. package/dist/middleware/error-handler.js +90 -0
  75. package/dist/middleware/error-handler.js.map +1 -0
  76. package/dist/middleware/error-mapper.d.ts +44 -0
  77. package/dist/middleware/error-mapper.d.ts.map +1 -0
  78. package/dist/middleware/error-mapper.js +127 -0
  79. package/dist/middleware/error-mapper.js.map +1 -0
  80. package/dist/middleware/index.d.ts +13 -0
  81. package/dist/middleware/index.d.ts.map +1 -0
  82. package/dist/middleware/index.js +13 -0
  83. package/dist/middleware/index.js.map +1 -0
  84. package/dist/middleware/request-id.d.ts +22 -0
  85. package/dist/middleware/request-id.d.ts.map +1 -0
  86. package/dist/middleware/request-id.js +31 -0
  87. package/dist/middleware/request-id.js.map +1 -0
  88. package/dist/middleware/types.d.ts +33 -0
  89. package/dist/middleware/types.d.ts.map +1 -0
  90. package/dist/middleware/types.js +2 -0
  91. package/dist/middleware/types.js.map +1 -0
  92. package/dist/schemas/common.d.ts +205 -8
  93. package/dist/schemas/common.d.ts.map +1 -1
  94. package/dist/schemas/common.js +290 -17
  95. package/dist/schemas/common.js.map +1 -1
  96. package/dist/schemas/flux/compose.d.ts +307 -44
  97. package/dist/schemas/flux/compose.d.ts.map +1 -1
  98. package/dist/schemas/flux/compose.js +74 -48
  99. package/dist/schemas/flux/compose.js.map +1 -1
  100. package/dist/schemas/flux/container.d.ts +423 -56
  101. package/dist/schemas/flux/container.d.ts.map +1 -1
  102. package/dist/schemas/flux/container.js +83 -61
  103. package/dist/schemas/flux/container.js.map +1 -1
  104. package/dist/schemas/flux/docker.d.ts +254 -37
  105. package/dist/schemas/flux/docker.d.ts.map +1 -1
  106. package/dist/schemas/flux/docker.js +69 -39
  107. package/dist/schemas/flux/docker.js.map +1 -1
  108. package/dist/schemas/flux/host.d.ts +312 -29
  109. package/dist/schemas/flux/host.d.ts.map +1 -1
  110. package/dist/schemas/flux/host.js +74 -31
  111. package/dist/schemas/flux/host.js.map +1 -1
  112. package/dist/schemas/flux/index.d.ts +503 -11
  113. package/dist/schemas/flux/index.d.ts.map +1 -1
  114. package/dist/schemas/flux/index.js +34 -70
  115. package/dist/schemas/flux/index.js.map +1 -1
  116. package/dist/schemas/host-config.d.ts +76 -0
  117. package/dist/schemas/host-config.d.ts.map +1 -0
  118. package/dist/schemas/host-config.js +105 -0
  119. package/dist/schemas/host-config.js.map +1 -0
  120. package/dist/schemas/scout/index.d.ts +80 -23
  121. package/dist/schemas/scout/index.d.ts.map +1 -1
  122. package/dist/schemas/scout/index.js +26 -11
  123. package/dist/schemas/scout/index.js.map +1 -1
  124. package/dist/schemas/scout/logs.d.ts +17 -5
  125. package/dist/schemas/scout/logs.d.ts.map +1 -1
  126. package/dist/schemas/scout/logs.js +41 -31
  127. package/dist/schemas/scout/logs.js.map +1 -1
  128. package/dist/schemas/scout/simple.d.ts +126 -11
  129. package/dist/schemas/scout/simple.d.ts.map +1 -1
  130. package/dist/schemas/scout/simple.js +112 -57
  131. package/dist/schemas/scout/simple.js.map +1 -1
  132. package/dist/schemas/scout/zfs.d.ts +17 -5
  133. package/dist/schemas/scout/zfs.d.ts.map +1 -1
  134. package/dist/schemas/scout/zfs.js +34 -25
  135. package/dist/schemas/scout/zfs.js.map +1 -1
  136. package/dist/services/cache-layer.d.ts +160 -0
  137. package/dist/services/cache-layer.d.ts.map +1 -0
  138. package/dist/services/cache-layer.js +138 -0
  139. package/dist/services/cache-layer.js.map +1 -0
  140. package/dist/services/compose-cache.d.ts +75 -0
  141. package/dist/services/compose-cache.d.ts.map +1 -0
  142. package/dist/services/compose-cache.js +178 -0
  143. package/dist/services/compose-cache.js.map +1 -0
  144. package/dist/services/compose-discovery.d.ts +46 -0
  145. package/dist/services/compose-discovery.d.ts.map +1 -0
  146. package/dist/services/compose-discovery.js +219 -0
  147. package/dist/services/compose-discovery.js.map +1 -0
  148. package/dist/services/compose-project-lister.d.ts +27 -0
  149. package/dist/services/compose-project-lister.d.ts.map +1 -0
  150. package/dist/services/compose-project-lister.js +71 -0
  151. package/dist/services/compose-project-lister.js.map +1 -0
  152. package/dist/services/compose-scanner.d.ts +63 -0
  153. package/dist/services/compose-scanner.d.ts.map +1 -0
  154. package/dist/services/compose-scanner.js +253 -0
  155. package/dist/services/compose-scanner.js.map +1 -0
  156. package/dist/services/compose.d.ts +64 -28
  157. package/dist/services/compose.d.ts.map +1 -1
  158. package/dist/services/compose.js +220 -98
  159. package/dist/services/compose.js.map +1 -1
  160. package/dist/services/config-loader.d.ts +23 -0
  161. package/dist/services/config-loader.d.ts.map +1 -0
  162. package/dist/services/config-loader.js +124 -0
  163. package/dist/services/config-loader.js.map +1 -0
  164. package/dist/services/config-service.d.ts +38 -0
  165. package/dist/services/config-service.d.ts.map +1 -0
  166. package/dist/services/config-service.js +225 -0
  167. package/dist/services/config-service.js.map +1 -0
  168. package/dist/services/container-host-map-cache.d.ts +121 -0
  169. package/dist/services/container-host-map-cache.d.ts.map +1 -0
  170. package/dist/services/container-host-map-cache.js +188 -0
  171. package/dist/services/container-host-map-cache.js.map +1 -0
  172. package/dist/services/container.d.ts +194 -6
  173. package/dist/services/container.d.ts.map +1 -1
  174. package/dist/services/container.js +386 -11
  175. package/dist/services/container.js.map +1 -1
  176. package/dist/services/diagnostics.d.ts +57 -0
  177. package/dist/services/diagnostics.d.ts.map +1 -0
  178. package/dist/services/diagnostics.js +271 -0
  179. package/dist/services/diagnostics.js.map +1 -0
  180. package/dist/services/docker/container-service.d.ts +123 -0
  181. package/dist/services/docker/container-service.d.ts.map +1 -0
  182. package/dist/services/docker/container-service.js +347 -0
  183. package/dist/services/docker/container-service.js.map +1 -0
  184. package/dist/services/docker/image-service.d.ts +82 -0
  185. package/dist/services/docker/image-service.d.ts.map +1 -0
  186. package/dist/services/docker/image-service.js +193 -0
  187. package/dist/services/docker/image-service.js.map +1 -0
  188. package/dist/services/docker/index.d.ts +80 -0
  189. package/dist/services/docker/index.d.ts.map +1 -0
  190. package/dist/services/docker/index.js +103 -0
  191. package/dist/services/docker/index.js.map +1 -0
  192. package/dist/services/docker/network-service.d.ts +22 -0
  193. package/dist/services/docker/network-service.d.ts.map +1 -0
  194. package/dist/services/docker/network-service.js +43 -0
  195. package/dist/services/docker/network-service.js.map +1 -0
  196. package/dist/services/docker/system-service.d.ts +49 -0
  197. package/dist/services/docker/system-service.d.ts.map +1 -0
  198. package/dist/services/docker/system-service.js +215 -0
  199. package/dist/services/docker/system-service.js.map +1 -0
  200. package/dist/services/docker/utils/client-factory.d.ts +56 -0
  201. package/dist/services/docker/utils/client-factory.d.ts.map +1 -0
  202. package/dist/services/docker/utils/client-factory.js +139 -0
  203. package/dist/services/docker/utils/client-factory.js.map +1 -0
  204. package/dist/services/docker/utils/client-manager.d.ts +88 -0
  205. package/dist/services/docker/utils/client-manager.d.ts.map +1 -0
  206. package/dist/services/docker/utils/client-manager.js +124 -0
  207. package/dist/services/docker/utils/client-manager.js.map +1 -0
  208. package/dist/services/docker/utils/exec-handler.d.ts +94 -0
  209. package/dist/services/docker/utils/exec-handler.d.ts.map +1 -0
  210. package/dist/services/docker/utils/exec-handler.js +197 -0
  211. package/dist/services/docker/utils/exec-handler.js.map +1 -0
  212. package/dist/services/docker/utils/formatters.d.ts +13 -0
  213. package/dist/services/docker/utils/formatters.d.ts.map +1 -0
  214. package/dist/services/docker/utils/formatters.js +33 -0
  215. package/dist/services/docker/utils/formatters.js.map +1 -0
  216. package/dist/services/docker/utils/log-parser.d.ts +10 -0
  217. package/dist/services/docker/utils/log-parser.d.ts.map +1 -0
  218. package/dist/services/docker/utils/log-parser.js +48 -0
  219. package/dist/services/docker/utils/log-parser.js.map +1 -0
  220. package/dist/services/docker/utils/stats-calculator.d.ts +68 -0
  221. package/dist/services/docker/utils/stats-calculator.d.ts.map +1 -0
  222. package/dist/services/docker/utils/stats-calculator.js +61 -0
  223. package/dist/services/docker/utils/stats-calculator.js.map +1 -0
  224. package/dist/services/docker/volume-service.d.ts +22 -0
  225. package/dist/services/docker/volume-service.d.ts.map +1 -0
  226. package/dist/services/docker/volume-service.js +48 -0
  227. package/dist/services/docker/volume-service.js.map +1 -0
  228. package/dist/services/docker-interfaces.d.ts +283 -0
  229. package/dist/services/docker-interfaces.d.ts.map +1 -0
  230. package/dist/services/docker-interfaces.js +13 -0
  231. package/dist/services/docker-interfaces.js.map +1 -0
  232. package/dist/services/docker.d.ts +42 -5
  233. package/dist/services/docker.d.ts.map +1 -1
  234. package/dist/services/docker.js +335 -127
  235. package/dist/services/docker.js.map +1 -1
  236. package/dist/services/file-service.d.ts +6 -2
  237. package/dist/services/file-service.d.ts.map +1 -1
  238. package/dist/services/file-service.js +156 -52
  239. package/dist/services/file-service.js.map +1 -1
  240. package/dist/services/host-config-repository.d.ts +133 -0
  241. package/dist/services/host-config-repository.d.ts.map +1 -0
  242. package/dist/services/host-config-repository.js +323 -0
  243. package/dist/services/host-config-repository.js.map +1 -0
  244. package/dist/services/host-resolver.d.ts +49 -0
  245. package/dist/services/host-resolver.d.ts.map +1 -0
  246. package/dist/services/host-resolver.js +176 -0
  247. package/dist/services/host-resolver.js.map +1 -0
  248. package/dist/services/interfaces.d.ts +61 -194
  249. package/dist/services/interfaces.d.ts.map +1 -1
  250. package/dist/services/local-executor.d.ts +31 -0
  251. package/dist/services/local-executor.d.ts.map +1 -0
  252. package/dist/services/local-executor.js +71 -0
  253. package/dist/services/local-executor.js.map +1 -0
  254. package/dist/services/ssh-config-loader.d.ts +35 -0
  255. package/dist/services/ssh-config-loader.d.ts.map +1 -0
  256. package/dist/services/ssh-config-loader.js +218 -0
  257. package/dist/services/ssh-config-loader.js.map +1 -0
  258. package/dist/services/ssh-pool.d.ts +26 -1
  259. package/dist/services/ssh-pool.d.ts.map +1 -1
  260. package/dist/services/ssh-pool.js +166 -25
  261. package/dist/services/ssh-pool.js.map +1 -1
  262. package/dist/services/ssh-service.d.ts +3 -0
  263. package/dist/services/ssh-service.d.ts.map +1 -1
  264. package/dist/services/ssh-service.js +53 -31
  265. package/dist/services/ssh-service.js.map +1 -1
  266. package/dist/services/ssh.d.ts +2 -6
  267. package/dist/services/ssh.d.ts.map +1 -1
  268. package/dist/services/ssh.js +9 -40
  269. package/dist/services/ssh.js.map +1 -1
  270. package/dist/tools/definitions/flux.d.ts +13 -0
  271. package/dist/tools/definitions/flux.d.ts.map +1 -0
  272. package/dist/tools/definitions/flux.js +101 -0
  273. package/dist/tools/definitions/flux.js.map +1 -0
  274. package/dist/tools/definitions/index.d.ts +8 -0
  275. package/dist/tools/definitions/index.d.ts.map +1 -0
  276. package/dist/tools/definitions/index.js +8 -0
  277. package/dist/tools/definitions/index.js.map +1 -0
  278. package/dist/tools/definitions/scout.d.ts +13 -0
  279. package/dist/tools/definitions/scout.d.ts.map +1 -0
  280. package/dist/tools/definitions/scout.js +78 -0
  281. package/dist/tools/definitions/scout.js.map +1 -0
  282. package/dist/tools/flux.d.ts +16 -8
  283. package/dist/tools/flux.d.ts.map +1 -1
  284. package/dist/tools/flux.js +27 -66
  285. package/dist/tools/flux.js.map +1 -1
  286. package/dist/tools/handlers/base-handler.d.ts +172 -0
  287. package/dist/tools/handlers/base-handler.d.ts.map +1 -0
  288. package/dist/tools/handlers/base-handler.js +234 -0
  289. package/dist/tools/handlers/base-handler.js.map +1 -0
  290. package/dist/tools/handlers/compose-handlers.d.ts +108 -0
  291. package/dist/tools/handlers/compose-handlers.d.ts.map +1 -0
  292. package/dist/tools/handlers/compose-handlers.js +293 -0
  293. package/dist/tools/handlers/compose-handlers.js.map +1 -0
  294. package/dist/tools/handlers/compose-utils.d.ts +35 -0
  295. package/dist/tools/handlers/compose-utils.d.ts.map +1 -0
  296. package/dist/tools/handlers/compose-utils.js +76 -0
  297. package/dist/tools/handlers/compose-utils.js.map +1 -0
  298. package/dist/tools/handlers/compose.d.ts +23 -0
  299. package/dist/tools/handlers/compose.d.ts.map +1 -0
  300. package/dist/tools/handlers/compose.js +125 -0
  301. package/dist/tools/handlers/compose.js.map +1 -0
  302. package/dist/tools/handlers/container.d.ts +23 -0
  303. package/dist/tools/handlers/container.d.ts.map +1 -0
  304. package/dist/tools/handlers/container.js +333 -0
  305. package/dist/tools/handlers/container.js.map +1 -0
  306. package/dist/tools/handlers/docker.d.ts +24 -0
  307. package/dist/tools/handlers/docker.d.ts.map +1 -0
  308. package/dist/tools/handlers/docker.js +155 -0
  309. package/dist/tools/handlers/docker.js.map +1 -0
  310. package/dist/tools/handlers/host.d.ts +23 -0
  311. package/dist/tools/handlers/host.d.ts.map +1 -0
  312. package/dist/tools/handlers/host.js +196 -0
  313. package/dist/tools/handlers/host.js.map +1 -0
  314. package/dist/tools/handlers/scout-logs.d.ts +24 -0
  315. package/dist/tools/handlers/scout-logs.d.ts.map +1 -0
  316. package/dist/tools/handlers/scout-logs.js +119 -0
  317. package/dist/tools/handlers/scout-logs.js.map +1 -0
  318. package/dist/tools/handlers/scout-simple.d.ts +23 -0
  319. package/dist/tools/handlers/scout-simple.d.ts.map +1 -0
  320. package/dist/tools/handlers/scout-simple.js +286 -0
  321. package/dist/tools/handlers/scout-simple.js.map +1 -0
  322. package/dist/tools/handlers/scout-zfs.d.ts +23 -0
  323. package/dist/tools/handlers/scout-zfs.d.ts.map +1 -0
  324. package/dist/tools/handlers/scout-zfs.js +82 -0
  325. package/dist/tools/handlers/scout-zfs.js.map +1 -0
  326. package/dist/tools/index.d.ts +32 -2
  327. package/dist/tools/index.d.ts.map +1 -1
  328. package/dist/tools/index.js +41 -35
  329. package/dist/tools/index.js.map +1 -1
  330. package/dist/tools/registry.d.ts +135 -0
  331. package/dist/tools/registry.d.ts.map +1 -0
  332. package/dist/tools/registry.js +151 -0
  333. package/dist/tools/registry.js.map +1 -0
  334. package/dist/tools/scout.d.ts +16 -8
  335. package/dist/tools/scout.d.ts.map +1 -1
  336. package/dist/tools/scout.js +36 -78
  337. package/dist/tools/scout.js.map +1 -1
  338. package/dist/types.d.ts +629 -1
  339. package/dist/types.d.ts.map +1 -1
  340. package/dist/types.js.map +1 -1
  341. package/dist/utils/command-security.d.ts +82 -0
  342. package/dist/utils/command-security.d.ts.map +1 -0
  343. package/dist/utils/command-security.js +122 -0
  344. package/dist/utils/command-security.js.map +1 -0
  345. package/dist/utils/error-sanitization.d.ts +77 -0
  346. package/dist/utils/error-sanitization.d.ts.map +1 -0
  347. package/dist/utils/error-sanitization.js +107 -0
  348. package/dist/utils/error-sanitization.js.map +1 -0
  349. package/dist/utils/errors.d.ts +30 -6
  350. package/dist/utils/errors.d.ts.map +1 -1
  351. package/dist/utils/errors.js +91 -12
  352. package/dist/utils/errors.js.map +1 -1
  353. package/dist/utils/help-handler.d.ts +23 -0
  354. package/dist/utils/help-handler.d.ts.map +1 -0
  355. package/dist/utils/help-handler.js +21 -0
  356. package/dist/utils/help-handler.js.map +1 -0
  357. package/dist/utils/help.d.ts +1 -1
  358. package/dist/utils/help.d.ts.map +1 -1
  359. package/dist/utils/help.js +57 -16
  360. package/dist/utils/help.js.map +1 -1
  361. package/dist/utils/host-utils.d.ts +31 -0
  362. package/dist/utils/host-utils.d.ts.map +1 -0
  363. package/dist/utils/host-utils.js +80 -0
  364. package/dist/utils/host-utils.js.map +1 -0
  365. package/dist/utils/index.d.ts +8 -2
  366. package/dist/utils/index.d.ts.map +1 -1
  367. package/dist/utils/index.js +8 -2
  368. package/dist/utils/index.js.map +1 -1
  369. package/dist/utils/init-detection.d.ts +36 -0
  370. package/dist/utils/init-detection.d.ts.map +1 -0
  371. package/dist/utils/init-detection.js +79 -0
  372. package/dist/utils/init-detection.js.map +1 -0
  373. package/dist/utils/logger.d.ts +11 -0
  374. package/dist/utils/logger.d.ts.map +1 -0
  375. package/dist/utils/logger.js +32 -0
  376. package/dist/utils/logger.js.map +1 -0
  377. package/dist/utils/pagination.d.ts +20 -0
  378. package/dist/utils/pagination.d.ts.map +1 -0
  379. package/dist/utils/pagination.js +29 -0
  380. package/dist/utils/pagination.js.map +1 -0
  381. package/dist/utils/path-security.d.ts +132 -18
  382. package/dist/utils/path-security.d.ts.map +1 -1
  383. package/dist/utils/path-security.js +164 -35
  384. package/dist/utils/path-security.js.map +1 -1
  385. package/dist/utils/sorting.d.ts +33 -0
  386. package/dist/utils/sorting.d.ts.map +1 -0
  387. package/dist/utils/sorting.js +57 -0
  388. package/dist/utils/sorting.js.map +1 -0
  389. package/dist/utils/text-filters.d.ts +13 -0
  390. package/dist/utils/text-filters.d.ts.map +1 -0
  391. package/dist/utils/text-filters.js +18 -0
  392. package/dist/utils/text-filters.js.map +1 -0
  393. package/dist/utils/time.d.ts +11 -0
  394. package/dist/utils/time.d.ts.map +1 -0
  395. package/dist/utils/time.js +13 -0
  396. package/dist/utils/time.js.map +1 -0
  397. package/dist/utils/validation.d.ts +25 -0
  398. package/dist/utils/validation.d.ts.map +1 -0
  399. package/dist/utils/validation.js +56 -0
  400. package/dist/utils/validation.js.map +1 -0
  401. package/package.json +45 -19
  402. package/dist/schemas/discriminator.d.ts +0 -20
  403. package/dist/schemas/discriminator.d.ts.map +0 -1
  404. package/dist/schemas/discriminator.js +0 -25
  405. package/dist/schemas/discriminator.js.map +0 -1
  406. package/dist/schemas/unified.d.ts +0 -674
  407. package/dist/schemas/unified.d.ts.map +0 -1
  408. package/dist/schemas/unified.js +0 -453
  409. package/dist/schemas/unified.js.map +0 -1
  410. package/dist/tools/unified.d.ts +0 -7
  411. package/dist/tools/unified.d.ts.map +0 -1
  412. package/dist/tools/unified.js +0 -827
  413. package/dist/tools/unified.js.map +0 -1
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Tool registry pattern for extensible tool registration
3
+ *
4
+ * Provides a plugin-style API for registering MCP tools without modifying
5
+ * the core registration code.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Register built-in tools
10
+ * const registry = new ToolRegistry(container);
11
+ * registry.register(FluxTool);
12
+ * registry.register(ScoutTool);
13
+ *
14
+ * // Register custom tool
15
+ * registry.register(CustomTool);
16
+ *
17
+ * // Apply to MCP server
18
+ * registry.registerAll(server);
19
+ * ```
20
+ */
21
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
22
+ import type { z } from "zod";
23
+ import type { ServiceContainer } from "../services/container.js";
24
+ /**
25
+ * Tool definition interface - implement this to create a new tool
26
+ */
27
+ export interface ToolDefinition {
28
+ /** Unique tool name (must be unique across all registered tools) */
29
+ name: string;
30
+ /** Human-readable tool title */
31
+ title: string;
32
+ /** Tool description (if not provided, extracted from schema) */
33
+ description?: string;
34
+ /** Zod schema for input validation */
35
+ inputSchema: z.ZodTypeAny;
36
+ /** Optional Zod schema for MCP tool advertising (client-side input schema) */
37
+ mcpInputSchema?: z.ZodTypeAny;
38
+ /** Tool annotations for MCP SDK */
39
+ annotations?: {
40
+ readOnlyHint?: boolean;
41
+ destructiveHint?: boolean;
42
+ idempotentHint?: boolean;
43
+ openWorldHint?: boolean;
44
+ };
45
+ /**
46
+ * Tool handler function - implement your tool logic here
47
+ *
48
+ * @param params - Validated input parameters
49
+ * @param container - Service container for dependency injection
50
+ * @returns Tool output string (markdown or JSON)
51
+ */
52
+ handler: (params: unknown, container: ServiceContainer) => Promise<string>;
53
+ }
54
+ /**
55
+ * Tool registry for managing tool registration
56
+ *
57
+ * Maintains collection of tools and provides registration API for MCP server.
58
+ * Supports plugin-style extension by allowing registration of custom tools.
59
+ */
60
+ export declare class ToolRegistry {
61
+ private container;
62
+ private tools;
63
+ constructor(container: ServiceContainer);
64
+ /**
65
+ * Register a tool definition
66
+ *
67
+ * @param tool - Tool definition to register
68
+ * @throws {Error} If tool name conflicts with existing tool
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * registry.register({
73
+ * name: "my-tool",
74
+ * title: "My Custom Tool",
75
+ * inputSchema: MySchema,
76
+ * handler: async (params, container) => {
77
+ * // Your tool implementation
78
+ * return "Tool output";
79
+ * }
80
+ * });
81
+ * ```
82
+ */
83
+ register(tool: ToolDefinition): void;
84
+ /**
85
+ * Check if a tool is registered
86
+ *
87
+ * @param name - Tool name to check
88
+ * @returns True if tool is registered
89
+ */
90
+ has(name: string): boolean;
91
+ /**
92
+ * Get registered tool definition
93
+ *
94
+ * @param name - Tool name to get
95
+ * @returns Tool definition or undefined if not found
96
+ */
97
+ get(name: string): ToolDefinition | undefined;
98
+ /**
99
+ * Get all registered tool names
100
+ *
101
+ * @returns Array of tool names
102
+ */
103
+ getToolNames(): string[];
104
+ /**
105
+ * Register all tools with MCP server
106
+ *
107
+ * Iterates through all registered tools and registers them with the MCP server
108
+ * using the SDK 1.25.1 API. Wraps handlers with error logging.
109
+ *
110
+ * @param server - MCP server instance
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const registry = new ToolRegistry(container);
115
+ * registry.register(FluxTool);
116
+ * registry.register(ScoutTool);
117
+ * registry.registerAll(server);
118
+ * ```
119
+ */
120
+ registerAll(server: McpServer): void;
121
+ /**
122
+ * Unregister a tool
123
+ *
124
+ * @param name - Tool name to unregister
125
+ * @returns True if tool was removed, false if it didn't exist
126
+ */
127
+ unregister(name: string): boolean;
128
+ /**
129
+ * Clear all registered tools
130
+ *
131
+ * Useful for testing or rebuilding registry from scratch.
132
+ */
133
+ clear(): void;
134
+ }
135
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IAEb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IAEd,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sCAAsC;IACtC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC;IAE1B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;IAE9B,mCAAmC;IACnC,WAAW,CAAC,EAAE;QACZ,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAEF;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5E;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IAGX,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,KAAK,CAA0C;gBAEnC,SAAS,EAAE,gBAAgB;IAE/C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAOpC;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;;;;OAKG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C;;;;OAIG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAoCpC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;OAIG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,151 @@
1
+ /**
2
+ * Tool registry pattern for extensible tool registration
3
+ *
4
+ * Provides a plugin-style API for registering MCP tools without modifying
5
+ * the core registration code.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Register built-in tools
10
+ * const registry = new ToolRegistry(container);
11
+ * registry.register(FluxTool);
12
+ * registry.register(ScoutTool);
13
+ *
14
+ * // Register custom tool
15
+ * registry.register(CustomTool);
16
+ *
17
+ * // Apply to MCP server
18
+ * registry.registerAll(server);
19
+ * ```
20
+ */
21
+ import { getSchemaDescription } from "@modelcontextprotocol/sdk/server/zod-compat.js";
22
+ import { logError, sanitizeParams } from "../utils/errors.js";
23
+ /**
24
+ * Tool registry for managing tool registration
25
+ *
26
+ * Maintains collection of tools and provides registration API for MCP server.
27
+ * Supports plugin-style extension by allowing registration of custom tools.
28
+ */
29
+ export class ToolRegistry {
30
+ container;
31
+ tools = new Map();
32
+ constructor(container) {
33
+ this.container = container;
34
+ }
35
+ /**
36
+ * Register a tool definition
37
+ *
38
+ * @param tool - Tool definition to register
39
+ * @throws {Error} If tool name conflicts with existing tool
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * registry.register({
44
+ * name: "my-tool",
45
+ * title: "My Custom Tool",
46
+ * inputSchema: MySchema,
47
+ * handler: async (params, container) => {
48
+ * // Your tool implementation
49
+ * return "Tool output";
50
+ * }
51
+ * });
52
+ * ```
53
+ */
54
+ register(tool) {
55
+ if (this.tools.has(tool.name)) {
56
+ throw new Error(`Tool "${tool.name}" is already registered`);
57
+ }
58
+ this.tools.set(tool.name, tool);
59
+ }
60
+ /**
61
+ * Check if a tool is registered
62
+ *
63
+ * @param name - Tool name to check
64
+ * @returns True if tool is registered
65
+ */
66
+ has(name) {
67
+ return this.tools.has(name);
68
+ }
69
+ /**
70
+ * Get registered tool definition
71
+ *
72
+ * @param name - Tool name to get
73
+ * @returns Tool definition or undefined if not found
74
+ */
75
+ get(name) {
76
+ return this.tools.get(name);
77
+ }
78
+ /**
79
+ * Get all registered tool names
80
+ *
81
+ * @returns Array of tool names
82
+ */
83
+ getToolNames() {
84
+ return Array.from(this.tools.keys());
85
+ }
86
+ /**
87
+ * Register all tools with MCP server
88
+ *
89
+ * Iterates through all registered tools and registers them with the MCP server
90
+ * using the SDK 1.25.1 API. Wraps handlers with error logging.
91
+ *
92
+ * @param server - MCP server instance
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * const registry = new ToolRegistry(container);
97
+ * registry.register(FluxTool);
98
+ * registry.register(ScoutTool);
99
+ * registry.registerAll(server);
100
+ * ```
101
+ */
102
+ registerAll(server) {
103
+ for (const [name, tool] of this.tools.entries()) {
104
+ server.registerTool(name, {
105
+ title: tool.title,
106
+ description: tool.description ?? getSchemaDescription(tool.inputSchema) ?? `${tool.title}`,
107
+ inputSchema: tool.mcpInputSchema ?? tool.inputSchema,
108
+ annotations: tool.annotations ?? {
109
+ readOnlyHint: false,
110
+ destructiveHint: false,
111
+ idempotentHint: false,
112
+ openWorldHint: true,
113
+ },
114
+ }, async (params) => {
115
+ try {
116
+ const result = await tool.handler(params, this.container);
117
+ return { content: [{ type: "text", text: result }] };
118
+ }
119
+ catch (error) {
120
+ logError(error, {
121
+ operation: `${name}:handler`,
122
+ metadata: {
123
+ message: `${tool.title} execution failed`,
124
+ params: sanitizeParams(params),
125
+ container: { type: this.container.constructor.name },
126
+ },
127
+ });
128
+ throw error;
129
+ }
130
+ });
131
+ }
132
+ }
133
+ /**
134
+ * Unregister a tool
135
+ *
136
+ * @param name - Tool name to unregister
137
+ * @returns True if tool was removed, false if it didn't exist
138
+ */
139
+ unregister(name) {
140
+ return this.tools.delete(name);
141
+ }
142
+ /**
143
+ * Clear all registered tools
144
+ *
145
+ * Useful for testing or rebuilding registry from scratch.
146
+ */
147
+ clear() {
148
+ this.tools.clear();
149
+ }
150
+ }
151
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,22 @@
1
- import type { ServiceContainer } from '../services/container.js';
1
+ import type { ServiceContainer } from "../services/container.js";
2
2
  /**
3
- * Scout tool handler - SSH remote operations
3
+ * Handle all Scout tool requests - SSH remote operations.
4
4
  *
5
- * Handles 11 total actions:
6
- * - Simple: 9 (nodes, peek, exec, find, delta, emit, beam, ps, df)
7
- * - Nested with subactions:
8
- * - zfs: 3 (pools, datasets, snapshots)
9
- * - logs: 4 (syslog, journal, dmesg, auth)
5
+ * Routes incoming requests to specialized handlers based on action type.
6
+ * Validates input against Scout schema before dispatching.
10
7
  *
11
- * Plus 'help' pseudo-action for auto-generated documentation.
8
+ * @param input - Unvalidated user input to process
9
+ * @param container - Service container with dependencies
10
+ * @returns Formatted response string (markdown or JSON)
11
+ * @throws {Error} When validation fails or action is unknown
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const result = await handleScoutTool(
16
+ * { action: 'peek', target: 'host1:/etc/hosts' },
17
+ * container
18
+ * );
19
+ * ```
12
20
  */
13
21
  export declare function handleScoutTool(input: unknown, container: ServiceContainer): Promise<string>;
14
22
  //# sourceMappingURL=scout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../../src/tools/scout.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQjE;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
1
+ {"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../../src/tools/scout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -1,96 +1,54 @@
1
1
  // src/tools/scout.ts
2
- import { ScoutSchema } from '../schemas/scout/index.js';
3
- import { generateHelp, formatHelpMarkdown, formatHelpJson } from '../utils/help.js';
2
+ import { ScoutSchema } from "../schemas/scout/index.js";
3
+ import { handleHelpAction } from "../utils/help-handler.js";
4
+ import { handleLogsAction } from "./handlers/scout-logs.js";
5
+ import { handleScoutSimpleAction } from "./handlers/scout-simple.js";
6
+ import { handleZfsAction } from "./handlers/scout-zfs.js";
4
7
  /**
5
- * Scout tool handler - SSH remote operations
8
+ * Handle all Scout tool requests - SSH remote operations.
6
9
  *
7
- * Handles 11 total actions:
8
- * - Simple: 9 (nodes, peek, exec, find, delta, emit, beam, ps, df)
9
- * - Nested with subactions:
10
- * - zfs: 3 (pools, datasets, snapshots)
11
- * - logs: 4 (syslog, journal, dmesg, auth)
10
+ * Routes incoming requests to specialized handlers based on action type.
11
+ * Validates input against Scout schema before dispatching.
12
12
  *
13
- * Plus 'help' pseudo-action for auto-generated documentation.
13
+ * @param input - Unvalidated user input to process
14
+ * @param container - Service container with dependencies
15
+ * @returns Formatted response string (markdown or JSON)
16
+ * @throws {Error} When validation fails or action is unknown
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const result = await handleScoutTool(
21
+ * { action: 'peek', target: 'host1:/etc/hosts' },
22
+ * container
23
+ * );
24
+ * ```
14
25
  */
15
26
  export async function handleScoutTool(input, container) {
16
- // Handle help action before schema validation
17
- if (typeof input === 'object' && input !== null && 'action' in input && input.action === 'help') {
18
- const helpInput = input;
19
- const entries = generateHelp(ScoutSchema, helpInput.topic);
20
- if (helpInput.format === 'json') {
21
- return formatHelpJson(entries);
22
- }
23
- return formatHelpMarkdown(entries);
24
- }
25
27
  // Validate input against Scout schema
26
28
  const validated = ScoutSchema.parse(input);
27
29
  // Route to appropriate handler based on action
28
30
  switch (validated.action) {
29
- case 'nodes':
30
- return handleNodesAction(validated, container);
31
- case 'peek':
32
- return handlePeekAction(validated, container);
33
- case 'exec':
34
- return handleExecAction(validated, container);
35
- case 'find':
36
- return handleFindAction(validated, container);
37
- case 'delta':
38
- return handleDeltaAction(validated, container);
39
- case 'emit':
40
- return handleEmitAction(validated, container);
41
- case 'beam':
42
- return handleBeamAction(validated, container);
43
- case 'ps':
44
- return handlePsAction(validated, container);
45
- case 'df':
46
- return handleDfAction(validated, container);
47
- case 'zfs':
31
+ case "help":
32
+ return handleHelpAction(validated, ScoutSchema);
33
+ // Simple actions (9) - handled by scout-simple handler
34
+ case "nodes":
35
+ case "peek":
36
+ case "exec":
37
+ case "find":
38
+ case "delta":
39
+ case "emit":
40
+ case "beam":
41
+ case "ps":
42
+ case "df":
43
+ return handleScoutSimpleAction(validated, container);
44
+ // Nested actions with subactions
45
+ case "zfs":
48
46
  return handleZfsAction(validated, container);
49
- case 'logs':
47
+ case "logs":
50
48
  return handleLogsAction(validated, container);
51
49
  default:
52
50
  // Zod validation should prevent reaching here
53
51
  throw new Error(`Unknown action: ${validated.action}`);
54
52
  }
55
53
  }
56
- // Placeholder handlers - will be implemented in Tasks 20-22
57
- function handleNodesAction(_input, _container) {
58
- throw new Error('Handler not implemented: nodes');
59
- }
60
- function handlePeekAction(_input, _container) {
61
- throw new Error('Handler not implemented: peek');
62
- }
63
- function handleExecAction(_input, _container) {
64
- throw new Error('Handler not implemented: exec');
65
- }
66
- function handleFindAction(_input, _container) {
67
- throw new Error('Handler not implemented: find');
68
- }
69
- function handleDeltaAction(_input, _container) {
70
- throw new Error('Handler not implemented: delta');
71
- }
72
- function handleEmitAction(_input, _container) {
73
- throw new Error('Handler not implemented: emit');
74
- }
75
- function handleBeamAction(_input, _container) {
76
- throw new Error('Handler not implemented: beam');
77
- }
78
- function handlePsAction(_input, _container) {
79
- throw new Error('Handler not implemented: ps');
80
- }
81
- function handleDfAction(_input, _container) {
82
- throw new Error('Handler not implemented: df');
83
- }
84
- function handleZfsAction(input, _container) {
85
- if (input.action !== 'zfs') {
86
- throw new Error(`Invalid action for zfs handler: ${input.action}`);
87
- }
88
- throw new Error(`Handler not implemented: zfs:${input.subaction}`);
89
- }
90
- function handleLogsAction(input, _container) {
91
- if (input.action !== 'logs') {
92
- throw new Error(`Invalid action for logs handler: ${input.action}`);
93
- }
94
- throw new Error(`Handler not implemented: logs:${input.subaction}`);
95
- }
96
54
  //# sourceMappingURL=scout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scout.js","sourceRoot":"","sources":["../../src/tools/scout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scout.js","sourceRoot":"","sources":["../../src/tools/scout.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAmB,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EAAkB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAc,EACd,SAA2B;IAE3B,sCAAsC;IACtC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAe,CAAC;IAEzD,+CAA+C;IAC/C,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,SAAsB,EAAE,WAAW,CAAC,CAAC;QAE/D,uDAAuD;QACvD,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACP,OAAO,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAEvD,iCAAiC;QACjC,KAAK,KAAK;YACR,OAAO,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC/C,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD;YACE,8CAA8C;YAC9C,MAAM,IAAI,KAAK,CAAC,mBAAoB,SAAgC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnF,CAAC;AACH,CAAC"}