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,76 @@
1
+ import { z } from "zod";
2
+ import type { HostConfig } from "../types.js";
3
+ /**
4
+ * Zod schema for validating HostConfig objects from config files and environment variables.
5
+ *
6
+ * Security: Prevents CWE-20 (Improper Input Validation) by validating all config fields
7
+ * before use. This prevents injection attacks via malformed config files.
8
+ * @see https://cwe.mitre.org/data/definitions/20.html
9
+ *
10
+ * Validates:
11
+ * - name: Must match safe identifier pattern (alphanumeric, dots, underscores, hyphens)
12
+ * - host: Required string (hostname or IP)
13
+ * - port: Optional number between 1-65535
14
+ * - protocol: Must be one of: "http", "https", "ssh"
15
+ * - sshUser: Optional string
16
+ * - sshKeyPath: Optional string (file path)
17
+ * - dockerSocketPath: Optional string (socket path)
18
+ * - tags: Optional array of strings
19
+ * - composeSearchPaths: Optional array of strings (directory paths)
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * const config = {
24
+ * name: "my-host",
25
+ * host: "192.168.1.100",
26
+ * protocol: "ssh",
27
+ * sshUser: "admin"
28
+ * };
29
+ * const validated = HostConfigSchema.parse(config); // Throws on invalid
30
+ * ```
31
+ */
32
+ export declare const HostConfigSchema: z.ZodObject<{
33
+ name: z.ZodString;
34
+ host: z.ZodString;
35
+ port: z.ZodOptional<z.ZodNumber>;
36
+ protocol: z.ZodEnum<{
37
+ http: "http";
38
+ https: "https";
39
+ ssh: "ssh";
40
+ }>;
41
+ sshUser: z.ZodOptional<z.ZodString>;
42
+ sshKeyPath: z.ZodOptional<z.ZodString>;
43
+ dockerSocketPath: z.ZodOptional<z.ZodString>;
44
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
45
+ composeSearchPaths: z.ZodOptional<z.ZodArray<z.ZodString>>;
46
+ }, z.core.$strict>;
47
+ /**
48
+ * Validates an array of host configurations.
49
+ *
50
+ * @param configs - Array of host configurations to validate
51
+ * @returns Validated array of HostConfig objects
52
+ * @throws {Error} If any configuration is invalid, with detailed error message
53
+ * @example
54
+ * ```typescript
55
+ * const configs = [
56
+ * { name: "host1", host: "192.168.1.100", protocol: "ssh" },
57
+ * { name: "host2", host: "192.168.1.101", protocol: "http", port: 2375 }
58
+ * ];
59
+ * const validated = validateHostConfigs(configs);
60
+ * ```
61
+ */
62
+ export declare function validateHostConfigs(configs: unknown[]): HostConfig[];
63
+ /**
64
+ * Validates a single host configuration.
65
+ *
66
+ * @param config - Host configuration to validate
67
+ * @returns Validated HostConfig object
68
+ * @throws {Error} If configuration is invalid, with detailed error message
69
+ * @example
70
+ * ```typescript
71
+ * const config = { name: "host1", host: "192.168.1.100", protocol: "ssh" };
72
+ * const validated = validateHostConfig(config);
73
+ * ```
74
+ */
75
+ export declare function validateHostConfig(config: unknown): HostConfig;
76
+ //# sourceMappingURL=host-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-config.d.ts","sourceRoot":"","sources":["../../src/schemas/host-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;kBAiClB,CAAC;AAEZ;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAkBpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,CAY9D"}
@@ -0,0 +1,105 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Zod schema for validating HostConfig objects from config files and environment variables.
4
+ *
5
+ * Security: Prevents CWE-20 (Improper Input Validation) by validating all config fields
6
+ * before use. This prevents injection attacks via malformed config files.
7
+ * @see https://cwe.mitre.org/data/definitions/20.html
8
+ *
9
+ * Validates:
10
+ * - name: Must match safe identifier pattern (alphanumeric, dots, underscores, hyphens)
11
+ * - host: Required string (hostname or IP)
12
+ * - port: Optional number between 1-65535
13
+ * - protocol: Must be one of: "http", "https", "ssh"
14
+ * - sshUser: Optional string
15
+ * - sshKeyPath: Optional string (file path)
16
+ * - dockerSocketPath: Optional string (socket path)
17
+ * - tags: Optional array of strings
18
+ * - composeSearchPaths: Optional array of strings (directory paths)
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * const config = {
23
+ * name: "my-host",
24
+ * host: "192.168.1.100",
25
+ * protocol: "ssh",
26
+ * sshUser: "admin"
27
+ * };
28
+ * const validated = HostConfigSchema.parse(config); // Throws on invalid
29
+ * ```
30
+ */
31
+ export const HostConfigSchema = z
32
+ .object({
33
+ name: z
34
+ .string()
35
+ .min(1, "Host name cannot be empty")
36
+ .regex(/^[a-zA-Z0-9._-]+$/, "Host name must contain only alphanumeric characters, dots, underscores, and hyphens"),
37
+ host: z.string().min(1, "Host address cannot be empty"),
38
+ port: z
39
+ .number()
40
+ .int()
41
+ .min(1, "Port must be between 1 and 65535")
42
+ .max(65535, "Port must be between 1 and 65535")
43
+ .optional(),
44
+ protocol: z.enum(["http", "https", "ssh"], {
45
+ message: "Protocol must be one of: http, https, ssh",
46
+ }),
47
+ sshUser: z.string().optional(),
48
+ sshKeyPath: z.string().optional(),
49
+ dockerSocketPath: z.string().optional(),
50
+ tags: z.array(z.string()).optional(),
51
+ composeSearchPaths: z.array(z.string()).optional(),
52
+ })
53
+ .strict(); // Reject extra properties to prevent injection via unknown fields
54
+ /**
55
+ * Validates an array of host configurations.
56
+ *
57
+ * @param configs - Array of host configurations to validate
58
+ * @returns Validated array of HostConfig objects
59
+ * @throws {Error} If any configuration is invalid, with detailed error message
60
+ * @example
61
+ * ```typescript
62
+ * const configs = [
63
+ * { name: "host1", host: "192.168.1.100", protocol: "ssh" },
64
+ * { name: "host2", host: "192.168.1.101", protocol: "http", port: 2375 }
65
+ * ];
66
+ * const validated = validateHostConfigs(configs);
67
+ * ```
68
+ */
69
+ export function validateHostConfigs(configs) {
70
+ const validated = [];
71
+ for (let i = 0; i < configs.length; i++) {
72
+ const result = HostConfigSchema.safeParse(configs[i]);
73
+ if (!result.success) {
74
+ const errorDetails = result.error.issues
75
+ .map((issue) => `${issue.path.join(".")}: ${issue.message}`)
76
+ .join("; ");
77
+ throw new Error(`Invalid host configuration at index ${i}: ${errorDetails}`);
78
+ }
79
+ validated.push(result.data);
80
+ }
81
+ return validated;
82
+ }
83
+ /**
84
+ * Validates a single host configuration.
85
+ *
86
+ * @param config - Host configuration to validate
87
+ * @returns Validated HostConfig object
88
+ * @throws {Error} If configuration is invalid, with detailed error message
89
+ * @example
90
+ * ```typescript
91
+ * const config = { name: "host1", host: "192.168.1.100", protocol: "ssh" };
92
+ * const validated = validateHostConfig(config);
93
+ * ```
94
+ */
95
+ export function validateHostConfig(config) {
96
+ const result = HostConfigSchema.safeParse(config);
97
+ if (!result.success) {
98
+ const errorDetails = result.error.issues
99
+ .map((issue) => `${issue.path.join(".")}: ${issue.message}`)
100
+ .join("; ");
101
+ throw new Error(`Invalid host configuration: ${errorDetails}`);
102
+ }
103
+ return result.data;
104
+ }
105
+ //# sourceMappingURL=host-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host-config.js","sourceRoot":"","sources":["../../src/schemas/host-config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  /**
3
3
  * Scout Tool Schema - SSH remote operations
4
4
  *
5
- * Actions: 11 total
5
+ * Actions: 12 total
6
+ * Help: 1 (auto-generated documentation)
6
7
  * Simple: 9 (nodes, peek, exec, find, delta, emit, beam, ps, df)
7
8
  * Nested: 2 with subactions
8
9
  * - zfs: 3 subactions (pools, datasets, snapshots)
@@ -16,43 +17,72 @@ import { z } from 'zod';
16
17
  * Nested actions use 'subaction' as secondary discriminator
17
18
  */
18
19
  export declare const ScoutSchema: z.ZodUnion<readonly [z.ZodObject<{
20
+ action: z.ZodLiteral<"help">;
21
+ topic: z.ZodOptional<z.ZodString>;
22
+ format: z.ZodOptional<z.ZodEnum<{
23
+ json: "json";
24
+ markdown: "markdown";
25
+ }>>;
26
+ }, z.core.$strip>, z.ZodObject<{
19
27
  action: z.ZodLiteral<"nodes">;
20
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
28
+ response_format: z.ZodDefault<z.ZodEnum<{
29
+ json: import("../../types.js").ResponseFormat.JSON;
30
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
31
+ }>>;
21
32
  }, z.core.$strip>, z.ZodObject<{
22
33
  action: z.ZodLiteral<"peek">;
23
34
  target: z.ZodString;
24
35
  tree: z.ZodDefault<z.ZodBoolean>;
25
36
  depth: z.ZodDefault<z.ZodNumber>;
26
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
37
+ response_format: z.ZodDefault<z.ZodEnum<{
38
+ json: import("../../types.js").ResponseFormat.JSON;
39
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
40
+ }>>;
27
41
  }, z.core.$strip>, z.ZodObject<{
28
42
  action: z.ZodLiteral<"exec">;
29
43
  target: z.ZodString;
30
44
  command: z.ZodString;
31
45
  timeout: z.ZodDefault<z.ZodNumber>;
32
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
46
+ response_format: z.ZodDefault<z.ZodEnum<{
47
+ json: import("../../types.js").ResponseFormat.JSON;
48
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
49
+ }>>;
33
50
  }, z.core.$strip>, z.ZodObject<{
34
51
  action: z.ZodLiteral<"find">;
35
52
  target: z.ZodString;
36
53
  pattern: z.ZodString;
37
54
  depth: z.ZodDefault<z.ZodNumber>;
38
55
  limit: z.ZodDefault<z.ZodNumber>;
39
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
56
+ response_format: z.ZodDefault<z.ZodEnum<{
57
+ json: import("../../types.js").ResponseFormat.JSON;
58
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
59
+ }>>;
40
60
  }, z.core.$strip>, z.ZodObject<{
41
61
  action: z.ZodLiteral<"delta">;
42
62
  source: z.ZodString;
43
63
  target: z.ZodOptional<z.ZodString>;
44
64
  content: z.ZodOptional<z.ZodString>;
45
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
65
+ response_format: z.ZodDefault<z.ZodEnum<{
66
+ json: import("../../types.js").ResponseFormat.JSON;
67
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
68
+ }>>;
46
69
  }, z.core.$strip>, z.ZodObject<{
47
70
  action: z.ZodLiteral<"emit">;
48
71
  targets: z.ZodArray<z.ZodString>;
49
72
  command: z.ZodOptional<z.ZodString>;
50
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
73
+ timeout: z.ZodDefault<z.ZodNumber>;
74
+ response_format: z.ZodDefault<z.ZodEnum<{
75
+ json: import("../../types.js").ResponseFormat.JSON;
76
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
77
+ }>>;
51
78
  }, z.core.$strip>, z.ZodObject<{
52
79
  action: z.ZodLiteral<"beam">;
53
80
  source: z.ZodString;
54
81
  destination: z.ZodString;
55
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
82
+ response_format: z.ZodDefault<z.ZodEnum<{
83
+ json: import("../../types.js").ResponseFormat.JSON;
84
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
85
+ }>>;
56
86
  }, z.core.$strip>, z.ZodObject<{
57
87
  action: z.ZodLiteral<"ps">;
58
88
  host: z.ZodString;
@@ -60,18 +90,24 @@ export declare const ScoutSchema: z.ZodUnion<readonly [z.ZodObject<{
60
90
  user: z.ZodOptional<z.ZodString>;
61
91
  sort: z.ZodDefault<z.ZodEnum<{
62
92
  cpu: "cpu";
93
+ time: "time";
63
94
  mem: "mem";
64
95
  pid: "pid";
65
- time: "time";
66
96
  }>>;
67
97
  limit: z.ZodDefault<z.ZodNumber>;
68
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
98
+ response_format: z.ZodDefault<z.ZodEnum<{
99
+ json: import("../../types.js").ResponseFormat.JSON;
100
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
101
+ }>>;
69
102
  }, z.core.$strip>, z.ZodObject<{
70
103
  action: z.ZodLiteral<"df">;
71
104
  host: z.ZodString;
72
105
  path: z.ZodOptional<z.ZodString>;
73
106
  human_readable: z.ZodDefault<z.ZodBoolean>;
74
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
107
+ response_format: z.ZodDefault<z.ZodEnum<{
108
+ json: import("../../types.js").ResponseFormat.JSON;
109
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
110
+ }>>;
75
111
  }, z.core.$strip>, z.ZodDiscriminatedUnion<[z.ZodObject<{
76
112
  action: z.ZodLiteral<"zfs">;
77
113
  subaction: z.ZodLiteral<"pools">;
@@ -82,18 +118,24 @@ export declare const ScoutSchema: z.ZodUnion<readonly [z.ZodObject<{
82
118
  degraded: "degraded";
83
119
  faulted: "faulted";
84
120
  }>>;
85
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
121
+ response_format: z.ZodDefault<z.ZodEnum<{
122
+ json: import("../../types.js").ResponseFormat.JSON;
123
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
124
+ }>>;
86
125
  }, z.core.$strip>, z.ZodObject<{
87
126
  action: z.ZodLiteral<"zfs">;
88
127
  subaction: z.ZodLiteral<"datasets">;
89
128
  host: z.ZodString;
90
129
  pool: z.ZodOptional<z.ZodString>;
91
130
  type: z.ZodOptional<z.ZodEnum<{
92
- filesystem: "filesystem";
93
131
  volume: "volume";
132
+ filesystem: "filesystem";
94
133
  }>>;
95
134
  recursive: z.ZodDefault<z.ZodBoolean>;
96
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
135
+ response_format: z.ZodDefault<z.ZodEnum<{
136
+ json: import("../../types.js").ResponseFormat.JSON;
137
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
138
+ }>>;
97
139
  }, z.core.$strip>, z.ZodObject<{
98
140
  action: z.ZodLiteral<"zfs">;
99
141
  subaction: z.ZodLiteral<"snapshots">;
@@ -101,14 +143,20 @@ export declare const ScoutSchema: z.ZodUnion<readonly [z.ZodObject<{
101
143
  pool: z.ZodOptional<z.ZodString>;
102
144
  dataset: z.ZodOptional<z.ZodString>;
103
145
  limit: z.ZodOptional<z.ZodNumber>;
104
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
146
+ response_format: z.ZodDefault<z.ZodEnum<{
147
+ json: import("../../types.js").ResponseFormat.JSON;
148
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
149
+ }>>;
105
150
  }, z.core.$strip>], "subaction">, z.ZodDiscriminatedUnion<[z.ZodObject<{
106
151
  action: z.ZodLiteral<"logs">;
107
152
  subaction: z.ZodLiteral<"syslog">;
108
153
  host: z.ZodString;
109
154
  lines: z.ZodDefault<z.ZodNumber>;
110
155
  grep: z.ZodOptional<z.ZodString>;
111
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
156
+ response_format: z.ZodDefault<z.ZodEnum<{
157
+ json: import("../../types.js").ResponseFormat.JSON;
158
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
159
+ }>>;
112
160
  }, z.core.$strip>, z.ZodObject<{
113
161
  action: z.ZodLiteral<"logs">;
114
162
  subaction: z.ZodLiteral<"journal">;
@@ -128,24 +176,33 @@ export declare const ScoutSchema: z.ZodUnion<readonly [z.ZodObject<{
128
176
  debug: "debug";
129
177
  }>>;
130
178
  grep: z.ZodOptional<z.ZodString>;
131
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
179
+ response_format: z.ZodDefault<z.ZodEnum<{
180
+ json: import("../../types.js").ResponseFormat.JSON;
181
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
182
+ }>>;
132
183
  }, z.core.$strip>, z.ZodObject<{
133
184
  action: z.ZodLiteral<"logs">;
134
185
  subaction: z.ZodLiteral<"dmesg">;
135
186
  host: z.ZodString;
136
187
  lines: z.ZodDefault<z.ZodNumber>;
137
188
  grep: z.ZodOptional<z.ZodString>;
138
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
189
+ response_format: z.ZodDefault<z.ZodEnum<{
190
+ json: import("../../types.js").ResponseFormat.JSON;
191
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
192
+ }>>;
139
193
  }, z.core.$strip>, z.ZodObject<{
140
194
  action: z.ZodLiteral<"logs">;
141
195
  subaction: z.ZodLiteral<"auth">;
142
196
  host: z.ZodString;
143
197
  lines: z.ZodDefault<z.ZodNumber>;
144
198
  grep: z.ZodOptional<z.ZodString>;
145
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
199
+ response_format: z.ZodDefault<z.ZodEnum<{
200
+ json: import("../../types.js").ResponseFormat.JSON;
201
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
202
+ }>>;
146
203
  }, z.core.$strip>], "subaction">]>;
147
204
  export type ScoutInput = z.infer<typeof ScoutSchema>;
148
- export * from './simple.js';
149
- export * from './zfs.js';
150
- export * from './logs.js';
205
+ export * from "./logs.js";
206
+ export * from "./simple.js";
207
+ export * from "./zfs.js";
151
208
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/scout/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAetB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAGrD,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schemas/scout/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA0BxB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAmBmD,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAErD,cAAc,WAAW,CAAC;AAE1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -1,12 +1,23 @@
1
1
  // src/schemas/scout/index.ts
2
- import { z } from 'zod';
3
- import { scoutNodesSchema, scoutPeekSchema, scoutExecSchema, scoutFindSchema, scoutDeltaSchema, scoutEmitSchema, scoutBeamSchema, scoutPsSchema, scoutDfSchema } from './simple.js';
4
- import { scoutZfsSchema } from './zfs.js';
5
- import { scoutLogsSchema } from './logs.js';
2
+ import { z } from "zod";
3
+ import { scoutLogsSchema } from "./logs.js";
4
+ import { scoutBeamSchema, scoutDeltaSchema, scoutDfSchema, scoutEmitSchema, scoutExecSchema, scoutFindSchema, scoutNodesSchema, scoutPeekSchema, scoutPsSchema, } from "./simple.js";
5
+ import { scoutZfsSchema } from "./zfs.js";
6
+ /**
7
+ * Help schema - provides auto-generated documentation
8
+ */
9
+ const helpSchema = z
10
+ .object({
11
+ action: z.literal("help").describe("Show auto-generated documentation"),
12
+ topic: z.string().optional().describe("Optional: filter to specific topic (e.g., 'zfs:pools')"),
13
+ format: z.enum(["markdown", "json"]).optional().describe("Output format (default: markdown)"),
14
+ })
15
+ .describe("Get auto-generated help documentation for scout tool");
6
16
  /**
7
17
  * Scout Tool Schema - SSH remote operations
8
18
  *
9
- * Actions: 11 total
19
+ * Actions: 12 total
20
+ * Help: 1 (auto-generated documentation)
10
21
  * Simple: 9 (nodes, peek, exec, find, delta, emit, beam, ps, df)
11
22
  * Nested: 2 with subactions
12
23
  * - zfs: 3 subactions (pools, datasets, snapshots)
@@ -19,7 +30,10 @@ import { scoutLogsSchema } from './logs.js';
19
30
  * Simple actions use literal 'action' discriminator
20
31
  * Nested actions use 'subaction' as secondary discriminator
21
32
  */
22
- export const ScoutSchema = z.union([
33
+ export const ScoutSchema = z
34
+ .union([
35
+ // Help action (1)
36
+ helpSchema,
23
37
  // Simple actions (9)
24
38
  scoutNodesSchema,
25
39
  scoutPeekSchema,
@@ -32,10 +46,11 @@ export const ScoutSchema = z.union([
32
46
  scoutDfSchema,
33
47
  // Nested discriminators (2) - these are already discriminated unions
34
48
  scoutZfsSchema,
35
- scoutLogsSchema
36
- ]);
49
+ scoutLogsSchema,
50
+ ])
51
+ .describe("SSH remote operations - file, process, and system inspection");
52
+ export * from "./logs.js";
37
53
  // Re-export all schemas for individual use
38
- export * from './simple.js';
39
- export * from './zfs.js';
40
- export * from './logs.js';
54
+ export * from "./simple.js";
55
+ export * from "./zfs.js";
41
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schemas/scout/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,qBAAqB;IACrB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,aAAa;IAEb,qEAAqE;IACrE,cAAc;IACd,eAAe;CAChB,CAAC,CAAC;AAIH,2CAA2C;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schemas/scout/index.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC/F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC9F,CAAC;KACD,QAAQ,CAAC,sDAAsD,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,KAAK,CAAC;IACL,kBAAkB;IAClB,UAAU;IACV,qBAAqB;IACrB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,aAAa;IACb,aAAa;IAEb,qEAAqE;IACrE,cAAc;IACd,eAAe;CAChB,CAAC;KACD,QAAQ,CAAC,8DAA8D,CAAC,CAAC;AAI5E,cAAc,WAAW,CAAC;AAC1B,2CAA2C;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
- import { z } from 'zod';
1
+ import { z } from "zod";
2
2
  /**
3
3
  * Scout logs nested discriminator (4 subactions)
4
4
  * Uses standard discriminatedUnion on 'subaction'
@@ -9,7 +9,10 @@ export declare const scoutLogsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
9
9
  host: z.ZodString;
10
10
  lines: z.ZodDefault<z.ZodNumber>;
11
11
  grep: z.ZodOptional<z.ZodString>;
12
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
12
+ response_format: z.ZodDefault<z.ZodEnum<{
13
+ json: import("../../types.js").ResponseFormat.JSON;
14
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
15
+ }>>;
13
16
  }, z.core.$strip>, z.ZodObject<{
14
17
  action: z.ZodLiteral<"logs">;
15
18
  subaction: z.ZodLiteral<"journal">;
@@ -29,20 +32,29 @@ export declare const scoutLogsSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
29
32
  debug: "debug";
30
33
  }>>;
31
34
  grep: z.ZodOptional<z.ZodString>;
32
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
35
+ response_format: z.ZodDefault<z.ZodEnum<{
36
+ json: import("../../types.js").ResponseFormat.JSON;
37
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
38
+ }>>;
33
39
  }, z.core.$strip>, z.ZodObject<{
34
40
  action: z.ZodLiteral<"logs">;
35
41
  subaction: z.ZodLiteral<"dmesg">;
36
42
  host: z.ZodString;
37
43
  lines: z.ZodDefault<z.ZodNumber>;
38
44
  grep: z.ZodOptional<z.ZodString>;
39
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
45
+ response_format: z.ZodDefault<z.ZodEnum<{
46
+ json: import("../../types.js").ResponseFormat.JSON;
47
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
48
+ }>>;
40
49
  }, z.core.$strip>, z.ZodObject<{
41
50
  action: z.ZodLiteral<"logs">;
42
51
  subaction: z.ZodLiteral<"auth">;
43
52
  host: z.ZodString;
44
53
  lines: z.ZodDefault<z.ZodNumber>;
45
54
  grep: z.ZodOptional<z.ZodString>;
46
- response_format: z.ZodDefault<z.ZodEnum<typeof import("../../types.js").ResponseFormat>>;
55
+ response_format: z.ZodDefault<z.ZodEnum<{
56
+ json: import("../../types.js").ResponseFormat.JSON;
57
+ markdown: import("../../types.js").ResponseFormat.MARKDOWN;
58
+ }>>;
47
59
  }, z.core.$strip>], "subaction">;
48
60
  //# sourceMappingURL=logs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/schemas/scout/logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAwC1B,CAAC"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../../src/schemas/scout/logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAkD1B,CAAC"}
@@ -1,47 +1,57 @@
1
1
  // src/schemas/scout/logs.ts
2
- import { z } from 'zod';
3
- import { responseFormatSchema, hostSchema } from '../common.js';
4
- import { DEFAULT_LOG_LINES, MAX_LOG_LINES } from '../../constants.js';
2
+ import { z } from "zod";
3
+ import { DEFAULT_LOG_LINES, MAX_LOG_LINES } from "../../constants.js";
4
+ import { hostSchema, jsFilterSchema, responseFormatSchema } from "../common.js";
5
5
  /**
6
6
  * Scout logs nested discriminator (4 subactions)
7
7
  * Uses standard discriminatedUnion on 'subaction'
8
8
  */
9
- export const scoutLogsSchema = z.discriminatedUnion('subaction', [
10
- z.object({
11
- action: z.literal('logs'),
12
- subaction: z.literal('syslog'),
9
+ export const scoutLogsSchema = z.discriminatedUnion("subaction", [
10
+ z
11
+ .object({
12
+ action: z.literal("logs"),
13
+ subaction: z.literal("syslog"),
13
14
  host: hostSchema,
14
15
  lines: z.number().int().min(1).max(MAX_LOG_LINES).default(DEFAULT_LOG_LINES),
15
- grep: z.string().optional(),
16
- response_format: responseFormatSchema
17
- }).describe('Access system log files (/var/log)'),
18
- z.object({
19
- action: z.literal('logs'),
20
- subaction: z.literal('journal'),
16
+ grep: jsFilterSchema.optional(),
17
+ response_format: responseFormatSchema,
18
+ })
19
+ .describe("Access system log files (/var/log)"),
20
+ z
21
+ .object({
22
+ action: z.literal("logs"),
23
+ subaction: z.literal("journal"),
21
24
  host: hostSchema,
22
25
  lines: z.number().int().min(1).max(MAX_LOG_LINES).default(DEFAULT_LOG_LINES),
23
- since: z.string().optional().describe('ISO 8601 timestamp or relative time'),
26
+ since: z.string().optional().describe("ISO 8601 timestamp or relative time"),
24
27
  until: z.string().optional(),
25
- unit: z.string().optional().describe('Systemd unit name to filter'),
26
- priority: z.enum(['emerg', 'alert', 'crit', 'err', 'warning', 'notice', 'info', 'debug']).optional(),
27
- grep: z.string().optional(),
28
- response_format: responseFormatSchema
29
- }).describe('Access systemd journal logs'),
30
- z.object({
31
- action: z.literal('logs'),
32
- subaction: z.literal('dmesg'),
28
+ unit: z.string().optional().describe("Systemd unit name to filter"),
29
+ priority: z
30
+ .enum(["emerg", "alert", "crit", "err", "warning", "notice", "info", "debug"])
31
+ .optional(),
32
+ grep: jsFilterSchema.optional(),
33
+ response_format: responseFormatSchema,
34
+ })
35
+ .describe("Access systemd journal logs"),
36
+ z
37
+ .object({
38
+ action: z.literal("logs"),
39
+ subaction: z.literal("dmesg"),
33
40
  host: hostSchema,
34
41
  lines: z.number().int().min(1).max(MAX_LOG_LINES).default(DEFAULT_LOG_LINES),
35
- grep: z.string().optional(),
36
- response_format: responseFormatSchema
37
- }).describe('Access kernel ring buffer logs'),
38
- z.object({
39
- action: z.literal('logs'),
40
- subaction: z.literal('auth'),
42
+ grep: jsFilterSchema.optional(),
43
+ response_format: responseFormatSchema,
44
+ })
45
+ .describe("Access kernel ring buffer logs"),
46
+ z
47
+ .object({
48
+ action: z.literal("logs"),
49
+ subaction: z.literal("auth"),
41
50
  host: hostSchema,
42
51
  lines: z.number().int().min(1).max(MAX_LOG_LINES).default(DEFAULT_LOG_LINES),
43
- grep: z.string().optional(),
44
- response_format: responseFormatSchema
45
- }).describe('Access authentication logs')
52
+ grep: jsFilterSchema.optional(),
53
+ response_format: responseFormatSchema,
54
+ })
55
+ .describe("Access authentication logs"),
46
56
  ]);
47
57
  //# sourceMappingURL=logs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/schemas/scout/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/schemas/scout/logs.ts"],"names":[],"mappings":"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"}