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
package/dist/types.d.ts CHANGED
@@ -1,93 +1,721 @@
1
+ /**
2
+ * Configuration for connecting to a Docker host in a multi-host homelab setup.
3
+ * Supports SSH tunneling, HTTP/HTTPS connections, and local socket connections.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * const config: HostConfig = {
8
+ * name: "homelab-main",
9
+ * host: "192.168.1.100",
10
+ * protocol: "ssh",
11
+ * sshUser: "admin",
12
+ * sshKeyPath: "/home/user/.ssh/id_rsa",
13
+ * tags: ["production", "homelab"]
14
+ * };
15
+ * ```
16
+ */
1
17
  export interface HostConfig {
18
+ /** Unique identifier for this host */
2
19
  name: string;
20
+ /** Hostname or IP address of the Docker host */
3
21
  host: string;
22
+ /** Port number for the connection (defaults based on protocol) */
4
23
  port?: number;
24
+ /** Connection protocol (ssh is recommended for security) */
5
25
  protocol: "http" | "https" | "ssh";
26
+ /** SSH username for SSH protocol connections */
6
27
  sshUser?: string;
28
+ /** Path to SSH private key for authentication */
7
29
  sshKeyPath?: string;
30
+ /** Allow root SSH access (required for systems like Unraid that only support root) */
31
+ allowRoot?: boolean;
32
+ /** Path to Docker socket for direct API access */
8
33
  dockerSocketPath?: string;
34
+ /** Tags for filtering and organizing hosts */
9
35
  tags?: string[];
36
+ /** Custom paths to search for docker-compose.yml files */
37
+ composeSearchPaths?: string[];
10
38
  }
39
+ /**
40
+ * Detailed information about a Docker container.
41
+ * Returned from Docker API queries and used throughout the system.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const container: ContainerInfo = {
46
+ * id: "abc123def456",
47
+ * name: "web-server",
48
+ * image: "nginx:latest",
49
+ * state: "running",
50
+ * status: "Up 2 hours",
51
+ * created: "2026-02-01T10:30:00Z",
52
+ * ports: [],
53
+ * labels: { "app": "nginx" },
54
+ * hostName: "homelab-main"
55
+ * };
56
+ * ```
57
+ */
11
58
  export interface ContainerInfo {
59
+ /** Docker container ID (shortened hash) */
12
60
  id: string;
61
+ /** Container name (without leading slash) */
13
62
  name: string;
63
+ /** Docker image name and tag */
14
64
  image: string;
65
+ /** Current container lifecycle state */
15
66
  state: "running" | "paused" | "exited" | "created" | "restarting" | "removing" | "dead";
67
+ /** Human-readable status string (e.g., "Up 2 hours", "Exited (0) 5 minutes ago") */
16
68
  status: string;
69
+ /** ISO 8601 timestamp when container was created */
17
70
  created: string;
71
+ /** Port mappings for this container */
18
72
  ports: PortBinding[];
73
+ /** Container labels (key-value metadata) */
19
74
  labels: Record<string, string>;
75
+ /** Name of the host where this container is running */
20
76
  hostName: string;
21
77
  }
78
+ /**
79
+ * Port mapping between container and host network.
80
+ * Represents a published port from a Docker container.
81
+ */
22
82
  export interface PortBinding {
83
+ /** Port number inside the container */
23
84
  containerPort: number;
85
+ /** Port number on the host machine (if published) */
24
86
  hostPort?: number;
87
+ /** Network protocol for this port binding */
25
88
  protocol: "tcp" | "udp";
89
+ /** Host IP address to bind to (defaults to 0.0.0.0 if not specified) */
26
90
  hostIp?: string;
27
91
  }
92
+ /**
93
+ * Real-time resource usage statistics for a running container.
94
+ * Used for monitoring and alerting on container performance.
95
+ *
96
+ * @example
97
+ * ```typescript
98
+ * const stats: ContainerStats = {
99
+ * containerId: "abc123",
100
+ * containerName: "web-server",
101
+ * cpuPercent: 15.5,
102
+ * memoryUsage: 536870912, // 512 MB
103
+ * memoryLimit: 1073741824, // 1 GB
104
+ * memoryPercent: 50.0,
105
+ * networkRx: 1048576, // 1 MB
106
+ * networkTx: 524288, // 512 KB
107
+ * blockRead: 2097152, // 2 MB
108
+ * blockWrite: 1048576 // 1 MB
109
+ * };
110
+ * ```
111
+ */
28
112
  export interface ContainerStats {
113
+ /** Docker container ID */
29
114
  containerId: string;
115
+ /** Container name */
30
116
  containerName: string;
117
+ /** CPU usage as a percentage (0-100+) */
31
118
  cpuPercent: number;
119
+ /** Current memory usage in bytes */
32
120
  memoryUsage: number;
121
+ /** Memory limit in bytes (container or host limit) */
33
122
  memoryLimit: number;
123
+ /** Memory usage as a percentage of limit (0-100) */
34
124
  memoryPercent: number;
125
+ /** Total bytes received over network */
35
126
  networkRx: number;
127
+ /** Total bytes transmitted over network */
36
128
  networkTx: number;
129
+ /** Total bytes read from block devices */
37
130
  blockRead: number;
131
+ /** Total bytes written to block devices */
38
132
  blockWrite: number;
39
133
  }
134
+ /**
135
+ * Result of executing a command inside a Docker container.
136
+ * Contains output streams and exit status.
137
+ */
138
+ export interface ContainerExecResult {
139
+ /** Standard output stream from the command */
140
+ stdout: string;
141
+ /** Standard error stream from the command */
142
+ stderr: string;
143
+ /** Exit code from the command (0 indicates success) */
144
+ exitCode: number;
145
+ }
146
+ /**
147
+ * Process list from inside a Docker container.
148
+ * Result of running 'ps' or equivalent process listing command.
149
+ */
150
+ export interface ContainerProcessList {
151
+ /** Column headers for the process list (e.g., ["PID", "USER", "CMD"]) */
152
+ titles: string[];
153
+ /** Process data rows, each row matching the titles columns */
154
+ processes: string[][];
155
+ }
156
+ /**
157
+ * Single log entry from a Docker container.
158
+ * Structured format for container log messages with metadata.
159
+ */
40
160
  export interface LogEntry {
161
+ /** ISO 8601 timestamp when the log was generated */
41
162
  timestamp: string;
163
+ /** Output stream that produced this log entry */
42
164
  stream: "stdout" | "stderr";
165
+ /** Log message content */
43
166
  message: string;
44
167
  }
168
+ /**
169
+ * Aggregated health information for a service/container.
170
+ * Used for monitoring dashboards and health check endpoints.
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * const health: ServiceHealth = {
175
+ * name: "web-server",
176
+ * host: "homelab-main",
177
+ * containerId: "abc123",
178
+ * state: "running",
179
+ * uptime: "2 days",
180
+ * restartCount: 0,
181
+ * healthStatus: "healthy",
182
+ * lastHealthCheck: "2026-02-03T10:30:00Z"
183
+ * };
184
+ * ```
185
+ */
45
186
  export interface ServiceHealth {
187
+ /** Service/container name */
46
188
  name: string;
189
+ /** Host where the service is running */
47
190
  host: string;
191
+ /** Docker container ID */
48
192
  containerId: string;
193
+ /** Current container state */
49
194
  state: string;
195
+ /** Human-readable uptime duration */
50
196
  uptime: string;
197
+ /** Number of times the container has restarted */
51
198
  restartCount: number;
199
+ /** Docker health check status (if health check is configured) */
52
200
  healthStatus?: "healthy" | "unhealthy" | "starting" | "none";
201
+ /** ISO 8601 timestamp of the last health check */
53
202
  lastHealthCheck?: string;
54
203
  }
55
204
  export declare enum ResponseFormat {
56
205
  JSON = "json",
57
206
  MARKDOWN = "markdown"
58
207
  }
208
+ /**
209
+ * Metadata for paginated API responses.
210
+ * Provides information about the current page and navigation.
211
+ */
59
212
  export interface PaginationMeta {
213
+ /** Total number of items available across all pages */
60
214
  total: number;
215
+ /** Number of items in the current page */
61
216
  count: number;
217
+ /** Current offset position in the full result set */
62
218
  offset: number;
219
+ /** Whether more items are available after this page */
63
220
  hasMore: boolean;
221
+ /** Offset value to use for fetching the next page */
64
222
  nextOffset?: number;
65
223
  }
224
+ /**
225
+ * Generic wrapper for paginated API responses.
226
+ * Contains items for the current page and pagination metadata.
227
+ *
228
+ * @typeParam T - Type of items in the paginated list
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * const response: PaginatedResponse<ContainerInfo> = {
233
+ * items: [container1, container2, container3],
234
+ * pagination: {
235
+ * total: 50,
236
+ * count: 3,
237
+ * offset: 0,
238
+ * hasMore: true,
239
+ * nextOffset: 3
240
+ * }
241
+ * };
242
+ * ```
243
+ */
66
244
  export interface PaginatedResponse<T> {
245
+ /** Array of items for the current page */
67
246
  items: T[];
247
+ /** Pagination metadata for navigation */
68
248
  pagination: PaginationMeta;
69
249
  }
250
+ /**
251
+ * Connection status and summary for a Docker host.
252
+ * Used in overview dashboards and health monitoring.
253
+ *
254
+ * @example
255
+ * ```typescript
256
+ * const status: HostStatus = {
257
+ * name: "homelab-main",
258
+ * host: "192.168.1.100",
259
+ * connected: true,
260
+ * containerCount: 15,
261
+ * runningCount: 12,
262
+ * };
263
+ * ```
264
+ */
70
265
  export interface HostStatus {
266
+ /** Host identifier */
71
267
  name: string;
268
+ /** Hostname or IP address */
72
269
  host: string;
270
+ /** Whether the host is currently reachable */
73
271
  connected: boolean;
272
+ /** Total number of containers on this host */
74
273
  containerCount: number;
274
+ /** Number of containers currently running */
75
275
  runningCount: number;
276
+ /** Error message if connection failed */
76
277
  error?: string;
77
278
  }
78
- export interface ComposeProject {
279
+ export interface ComposeProjectSummary {
79
280
  name: string;
80
281
  host: string;
81
282
  services: string[];
82
283
  status: "running" | "partial" | "stopped";
83
284
  configPath?: string;
84
285
  }
286
+ /**
287
+ * Information about a Docker image on a host.
288
+ * Includes metadata and usage information.
289
+ *
290
+ * @example
291
+ * ```typescript
292
+ * const image: ImageInfo = {
293
+ * id: "sha256:abc123...",
294
+ * tags: ["nginx:latest", "nginx:1.25"],
295
+ * size: 142606336, // bytes
296
+ * created: "2026-01-15T08:00:00Z",
297
+ * containers: 2,
298
+ * hostName: "homelab-main"
299
+ * };
300
+ * ```
301
+ */
85
302
  export interface ImageInfo {
303
+ /** Docker image ID (full SHA256 hash) */
86
304
  id: string;
305
+ /** Image tags (repository:tag format) */
87
306
  tags: string[];
307
+ /** Image size in bytes */
88
308
  size: number;
309
+ /** ISO 8601 timestamp when image was created */
89
310
  created: string;
311
+ /** Number of containers using this image */
90
312
  containers: number;
313
+ /** Name of the host where this image exists */
91
314
  hostName: string;
92
315
  }
316
+ /**
317
+ * Information about a Docker network.
318
+ * Represents a network configuration on a Docker host.
319
+ *
320
+ * @example
321
+ * ```typescript
322
+ * const network: DockerNetworkInfo = {
323
+ * id: "abc123def456",
324
+ * name: "my-network",
325
+ * driver: "bridge",
326
+ * scope: "local",
327
+ * created: "2026-02-01T10:00:00Z",
328
+ * internal: false,
329
+ * attachable: true,
330
+ * ingress: false,
331
+ * hostName: "homelab-main"
332
+ * };
333
+ * ```
334
+ */
335
+ export interface DockerNetworkInfo {
336
+ /** Docker network ID */
337
+ id: string;
338
+ /** Network name */
339
+ name: string;
340
+ /** Network driver type (e.g., "bridge", "overlay", "host") */
341
+ driver: string;
342
+ /** Network scope ("local", "swarm", or "global") */
343
+ scope: string;
344
+ /** ISO 8601 timestamp when network was created */
345
+ created?: string;
346
+ /** Whether the network is internal (isolated from external networks) */
347
+ internal?: boolean;
348
+ /** Whether manually-started containers can attach to this network */
349
+ attachable?: boolean;
350
+ /** Whether this is the cluster-wide ingress network */
351
+ ingress?: boolean;
352
+ /** Name of the host where this network exists */
353
+ hostName: string;
354
+ }
355
+ /**
356
+ * Information about a Docker volume.
357
+ * Represents persistent storage managed by Docker.
358
+ *
359
+ * @example
360
+ * ```typescript
361
+ * const volume: DockerVolumeInfo = {
362
+ * name: "postgres-data",
363
+ * driver: "local",
364
+ * scope: "local",
365
+ * mountpoint: "/var/lib/docker/volumes/postgres-data/_data",
366
+ * createdAt: "2026-02-01T10:00:00Z",
367
+ * labels: { "app": "database" },
368
+ * hostName: "homelab-main"
369
+ * };
370
+ * ```
371
+ */
372
+ export interface DockerVolumeInfo {
373
+ /** Volume name */
374
+ name: string;
375
+ /** Volume driver (e.g., "local", "nfs") */
376
+ driver: string;
377
+ /** Volume scope ("local" or "global") */
378
+ scope: string;
379
+ /** Filesystem path where the volume is mounted on the host */
380
+ mountpoint?: string;
381
+ /** ISO 8601 timestamp when volume was created */
382
+ createdAt?: string;
383
+ /** Volume labels (key-value metadata) */
384
+ labels?: Record<string, string>;
385
+ /** Name of the host where this volume exists */
386
+ hostName: string;
387
+ }
388
+ /**
389
+ * Docker Compose project information.
390
+ * Represents a complete Compose stack with its services and configuration.
391
+ *
392
+ * @example
393
+ * ```typescript
394
+ * const project: ComposeProject = {
395
+ * name: "webapp",
396
+ * status: "running",
397
+ * configFiles: ["/home/user/webapp/docker-compose.yml"],
398
+ * services: [
399
+ * { name: "web", status: "running", health: "healthy" },
400
+ * { name: "db", status: "running" }
401
+ * ],
402
+ * host: "homelab-main"
403
+ * };
404
+ * ```
405
+ */
406
+ export interface ComposeProject {
407
+ /** Project name (derived from directory or set in compose file) */
408
+ name: string;
409
+ /** Overall status of all services in the project */
410
+ status: "running" | "partial" | "stopped" | "unknown";
411
+ /** Paths to compose configuration files used by this project */
412
+ configFiles: string[];
413
+ /** List of services defined in this project */
414
+ services: ComposeServiceInfo[];
415
+ /** Name of the host where this project is deployed */
416
+ host?: string;
417
+ }
418
+ /**
419
+ * Information about a single service within a Docker Compose project.
420
+ * Includes runtime status and port publishing information.
421
+ *
422
+ * @example
423
+ * ```typescript
424
+ * const service: ComposeServiceInfo = {
425
+ * name: "web",
426
+ * status: "running",
427
+ * health: "healthy",
428
+ * publishers: [
429
+ * { publishedPort: 8080, targetPort: 80, protocol: "tcp" }
430
+ * ]
431
+ * };
432
+ * ```
433
+ */
434
+ export interface ComposeServiceInfo {
435
+ /** Service name as defined in compose file */
436
+ name: string;
437
+ /** Current service status (e.g., "running", "exited", "created") */
438
+ status: string;
439
+ /** Health check status if configured */
440
+ health?: string;
441
+ /** Exit code if the service has stopped */
442
+ exitCode?: number;
443
+ /** Published port mappings for this service */
444
+ publishers?: Array<{
445
+ /** Port number exposed on the host */
446
+ publishedPort: number;
447
+ /** Port number inside the container */
448
+ targetPort: number;
449
+ /** Network protocol ("tcp" or "udp") */
450
+ protocol: string;
451
+ }>;
452
+ }
453
+ /**
454
+ * Options for listing Docker images.
455
+ * Controls filtering behavior when querying images across hosts.
456
+ */
457
+ export interface ListImagesOptions {
458
+ /** If true, only return dangling (untagged) images */
459
+ danglingOnly?: boolean;
460
+ }
461
+ /**
462
+ * Docker system information response.
463
+ * Contains version, platform, and resource summary for a Docker host.
464
+ *
465
+ * @example
466
+ * ```typescript
467
+ * const info: DockerSystemInfo = {
468
+ * dockerVersion: "24.0.7",
469
+ * apiVersion: "1.43",
470
+ * os: "Ubuntu 22.04.3 LTS",
471
+ * arch: "x86_64",
472
+ * kernelVersion: "6.17.0-12-generic",
473
+ * cpus: 16,
474
+ * memoryBytes: 34359738368,
475
+ * storageDriver: "overlay2",
476
+ * rootDir: "/var/lib/docker",
477
+ * containersTotal: 25,
478
+ * containersRunning: 18,
479
+ * containersPaused: 0,
480
+ * containersStopped: 7,
481
+ * images: 42
482
+ * };
483
+ * ```
484
+ */
485
+ export interface DockerSystemInfo {
486
+ /** Docker daemon version string */
487
+ dockerVersion: string;
488
+ /** Docker API version */
489
+ apiVersion: string;
490
+ /** Operating system name and version */
491
+ os: string;
492
+ /** CPU architecture (e.g., "x86_64", "aarch64") */
493
+ arch: string;
494
+ /** Linux kernel version */
495
+ kernelVersion: string;
496
+ /** Number of CPU cores available */
497
+ cpus: number;
498
+ /** Total memory in bytes */
499
+ memoryBytes: number;
500
+ /** Storage driver in use (e.g., "overlay2", "aufs") */
501
+ storageDriver: string;
502
+ /** Docker data root directory */
503
+ rootDir: string;
504
+ /** Total number of containers (all states) */
505
+ containersTotal: number;
506
+ /** Number of containers currently running */
507
+ containersRunning: number;
508
+ /** Number of containers currently paused */
509
+ containersPaused: number;
510
+ /** Number of containers currently stopped */
511
+ containersStopped: number;
512
+ /** Total number of images stored */
513
+ images: number;
514
+ }
515
+ /**
516
+ * Docker disk usage response.
517
+ * Provides detailed breakdown of disk space used by Docker resources.
518
+ *
519
+ * @example
520
+ * ```typescript
521
+ * const usage: DockerDiskUsage = {
522
+ * images: {
523
+ * total: 50,
524
+ * active: 25,
525
+ * size: 10737418240,
526
+ * reclaimable: 5368709120
527
+ * },
528
+ * containers: {
529
+ * total: 30,
530
+ * running: 20,
531
+ * size: 1073741824,
532
+ * reclaimable: 536870912
533
+ * },
534
+ * volumes: {
535
+ * total: 15,
536
+ * active: 10,
537
+ * size: 2147483648,
538
+ * reclaimable: 1073741824
539
+ * },
540
+ * buildCache: {
541
+ * total: 100,
542
+ * size: 3221225472,
543
+ * reclaimable: 2147483648
544
+ * },
545
+ * totalSize: 17179869184,
546
+ * totalReclaimable: 9126805504
547
+ * };
548
+ * ```
549
+ */
550
+ export interface DockerDiskUsage {
551
+ /** Image storage statistics */
552
+ images: {
553
+ /** Total number of images */
554
+ total: number;
555
+ /** Number of images in use by containers */
556
+ active: number;
557
+ /** Total size of all images in bytes */
558
+ size: number;
559
+ /** Reclaimable space from unused images in bytes */
560
+ reclaimable: number;
561
+ };
562
+ /** Container storage statistics */
563
+ containers: {
564
+ /** Total number of containers */
565
+ total: number;
566
+ /** Number of running containers */
567
+ running: number;
568
+ /** Total size of container writable layers in bytes */
569
+ size: number;
570
+ /** Reclaimable space from stopped containers in bytes */
571
+ reclaimable: number;
572
+ };
573
+ /** Volume storage statistics */
574
+ volumes: {
575
+ /** Total number of volumes */
576
+ total: number;
577
+ /** Number of volumes in use by containers */
578
+ active: number;
579
+ /** Total size of all volumes in bytes */
580
+ size: number;
581
+ /** Reclaimable space from unused volumes in bytes */
582
+ reclaimable: number;
583
+ };
584
+ /** Build cache statistics */
585
+ buildCache: {
586
+ /** Total number of build cache entries */
587
+ total: number;
588
+ /** Total size of build cache in bytes */
589
+ size: number;
590
+ /** Reclaimable space from build cache in bytes */
591
+ reclaimable: number;
592
+ };
593
+ /** Total disk space used by Docker in bytes */
594
+ totalSize: number;
595
+ /** Total reclaimable disk space in bytes */
596
+ totalReclaimable: number;
597
+ }
598
+ /**
599
+ * Result of a Docker prune operation.
600
+ * Contains statistics about space reclaimed and items deleted.
601
+ *
602
+ * @example
603
+ * ```typescript
604
+ * const result: PruneResult = {
605
+ * type: "images",
606
+ * spaceReclaimed: 1073741824, // 1 GB
607
+ * itemsDeleted: 5,
608
+ * details: ["sha256:abc123...", "sha256:def456..."]
609
+ * };
610
+ * ```
611
+ */
612
+ export interface PruneResult {
613
+ /** Type of resource that was pruned */
614
+ type: string;
615
+ /** Amount of disk space reclaimed in bytes */
616
+ spaceReclaimed: number;
617
+ /** Number of items deleted during prune */
618
+ itemsDeleted: number;
619
+ /** Optional array of deleted item identifiers */
620
+ details?: string[];
621
+ }
622
+ /**
623
+ * Raw Docker container listing info from the Docker API.
624
+ * Project-level type to avoid leaking dockerode's Docker.ContainerInfo into public interfaces.
625
+ *
626
+ * This represents the data returned by `docker.listContainers()` and is used
627
+ * in container-to-host lookups and caching.
628
+ */
629
+ export interface DockerRawContainerInfo {
630
+ /** Full container ID hash */
631
+ Id: string;
632
+ /** Container names (with leading slash, e.g., ["/my-container"]) */
633
+ Names: string[];
634
+ /** Image name used by the container */
635
+ Image: string;
636
+ /** Image ID hash */
637
+ ImageID: string;
638
+ /** Container command */
639
+ Command: string;
640
+ /** Creation timestamp (Unix epoch) */
641
+ Created: number;
642
+ /** Container state (e.g., "running", "exited") */
643
+ State: string;
644
+ /** Human-readable status string */
645
+ Status: string;
646
+ /** Port mappings */
647
+ Ports: Array<{
648
+ IP?: string;
649
+ PrivatePort: number;
650
+ PublicPort?: number;
651
+ Type: string;
652
+ }>;
653
+ /** Container labels */
654
+ Labels: Record<string, string>;
655
+ /** Mount points */
656
+ Mounts: Array<{
657
+ Type: string;
658
+ Name?: string;
659
+ Source: string;
660
+ Destination: string;
661
+ Driver?: string;
662
+ Mode: string;
663
+ RW: boolean;
664
+ }>;
665
+ }
666
+ /**
667
+ * Raw Docker container inspection info from the Docker API.
668
+ * Project-level type to avoid leaking dockerode's Docker.ContainerInspectInfo into public interfaces.
669
+ *
670
+ * This represents the detailed data returned by `container.inspect()` and is used
671
+ * in the inspect handler and formatters.
672
+ */
673
+ export interface DockerRawContainerInspectInfo {
674
+ /** Full container ID hash */
675
+ Id: string;
676
+ /** Container name (with leading slash) */
677
+ Name: string;
678
+ /** ISO 8601 creation timestamp */
679
+ Created: string;
680
+ /** Number of times the container has been restarted */
681
+ RestartCount: number;
682
+ /** Container state information */
683
+ State: {
684
+ Status: string;
685
+ Running: boolean;
686
+ Paused: boolean;
687
+ Restarting: boolean;
688
+ OOMKilled: boolean;
689
+ Dead: boolean;
690
+ Pid: number;
691
+ ExitCode: number;
692
+ Error: string;
693
+ StartedAt: string;
694
+ FinishedAt: string;
695
+ };
696
+ /** Container configuration */
697
+ Config: {
698
+ Image: string;
699
+ Cmd: string[] | null;
700
+ WorkingDir: string;
701
+ Env: string[] | null;
702
+ Labels: Record<string, string> | null;
703
+ };
704
+ /** Network settings */
705
+ NetworkSettings: {
706
+ Ports: Record<string, Array<{
707
+ HostIp: string;
708
+ HostPort: string;
709
+ }> | null>;
710
+ Networks: Record<string, unknown>;
711
+ };
712
+ /** Mount points */
713
+ Mounts: Array<{
714
+ Type: string;
715
+ Source: string;
716
+ Destination: string;
717
+ Mode: string;
718
+ RW: boolean;
719
+ }>;
720
+ }
93
721
  //# sourceMappingURL=types.d.ts.map