kubeview-mcp 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/.prettierrc.json +11 -0
  2. package/CHANGELOG.md +55 -0
  3. package/LICENSE +21 -0
  4. package/README.md +251 -0
  5. package/RELEASE.md +154 -0
  6. package/TODO.md +0 -0
  7. package/bin/kubeview-mcp.js +274 -0
  8. package/bin/setup.js +368 -0
  9. package/dist/src/cli/cli.d.ts +3 -0
  10. package/dist/src/cli/cli.d.ts.map +1 -0
  11. package/dist/src/cli/cli.js +23 -0
  12. package/dist/src/cli/cli.js.map +1 -0
  13. package/dist/src/index.d.ts +8 -0
  14. package/dist/src/index.d.ts.map +1 -0
  15. package/dist/src/index.js +45 -0
  16. package/dist/src/index.js.map +1 -0
  17. package/dist/src/kubernetes/BaseResourceOperations.d.ts +155 -0
  18. package/dist/src/kubernetes/BaseResourceOperations.d.ts.map +1 -0
  19. package/dist/src/kubernetes/BaseResourceOperations.js +136 -0
  20. package/dist/src/kubernetes/BaseResourceOperations.js.map +1 -0
  21. package/dist/src/kubernetes/CircuitBreaker.d.ts +182 -0
  22. package/dist/src/kubernetes/CircuitBreaker.d.ts.map +1 -0
  23. package/dist/src/kubernetes/CircuitBreaker.js +369 -0
  24. package/dist/src/kubernetes/CircuitBreaker.js.map +1 -0
  25. package/dist/src/kubernetes/ConnectionManager.d.ts +60 -0
  26. package/dist/src/kubernetes/ConnectionManager.d.ts.map +1 -0
  27. package/dist/src/kubernetes/ConnectionManager.js +77 -0
  28. package/dist/src/kubernetes/ConnectionManager.js.map +1 -0
  29. package/dist/src/kubernetes/ConnectionPool.d.ts +183 -0
  30. package/dist/src/kubernetes/ConnectionPool.d.ts.map +1 -0
  31. package/dist/src/kubernetes/ConnectionPool.js +437 -0
  32. package/dist/src/kubernetes/ConnectionPool.js.map +1 -0
  33. package/dist/src/kubernetes/ErrorHandler.d.ts +172 -0
  34. package/dist/src/kubernetes/ErrorHandler.d.ts.map +1 -0
  35. package/dist/src/kubernetes/ErrorHandler.js +328 -0
  36. package/dist/src/kubernetes/ErrorHandler.js.map +1 -0
  37. package/dist/src/kubernetes/ErrorHandling.d.ts +148 -0
  38. package/dist/src/kubernetes/ErrorHandling.d.ts.map +1 -0
  39. package/dist/src/kubernetes/ErrorHandling.js +304 -0
  40. package/dist/src/kubernetes/ErrorHandling.js.map +1 -0
  41. package/dist/src/kubernetes/KubernetesClient.d.ts +162 -0
  42. package/dist/src/kubernetes/KubernetesClient.d.ts.map +1 -0
  43. package/dist/src/kubernetes/KubernetesClient.js +382 -0
  44. package/dist/src/kubernetes/KubernetesClient.js.map +1 -0
  45. package/dist/src/kubernetes/ResourceOperations.d.ts +69 -0
  46. package/dist/src/kubernetes/ResourceOperations.d.ts.map +1 -0
  47. package/dist/src/kubernetes/ResourceOperations.js +99 -0
  48. package/dist/src/kubernetes/ResourceOperations.js.map +1 -0
  49. package/dist/src/kubernetes/RetryStrategy.d.ts +137 -0
  50. package/dist/src/kubernetes/RetryStrategy.d.ts.map +1 -0
  51. package/dist/src/kubernetes/RetryStrategy.js +277 -0
  52. package/dist/src/kubernetes/RetryStrategy.js.map +1 -0
  53. package/dist/src/kubernetes/RetryableOperation.d.ts +118 -0
  54. package/dist/src/kubernetes/RetryableOperation.d.ts.map +1 -0
  55. package/dist/src/kubernetes/RetryableOperation.js +233 -0
  56. package/dist/src/kubernetes/RetryableOperation.js.map +1 -0
  57. package/dist/src/kubernetes/index.d.ts +18 -0
  58. package/dist/src/kubernetes/index.d.ts.map +1 -0
  59. package/dist/src/kubernetes/index.js +28 -0
  60. package/dist/src/kubernetes/index.js.map +1 -0
  61. package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts +60 -0
  62. package/dist/src/kubernetes/resources/ConfigMapOperations.d.ts.map +1 -0
  63. package/dist/src/kubernetes/resources/ConfigMapOperations.js +306 -0
  64. package/dist/src/kubernetes/resources/ConfigMapOperations.js.map +1 -0
  65. package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts +55 -0
  66. package/dist/src/kubernetes/resources/CustomResourceOperations.d.ts.map +1 -0
  67. package/dist/src/kubernetes/resources/CustomResourceOperations.js +363 -0
  68. package/dist/src/kubernetes/resources/CustomResourceOperations.js.map +1 -0
  69. package/dist/src/kubernetes/resources/DeploymentOperations.d.ts +66 -0
  70. package/dist/src/kubernetes/resources/DeploymentOperations.d.ts.map +1 -0
  71. package/dist/src/kubernetes/resources/DeploymentOperations.js +234 -0
  72. package/dist/src/kubernetes/resources/DeploymentOperations.js.map +1 -0
  73. package/dist/src/kubernetes/resources/IngressOperations.d.ts +60 -0
  74. package/dist/src/kubernetes/resources/IngressOperations.d.ts.map +1 -0
  75. package/dist/src/kubernetes/resources/IngressOperations.js +224 -0
  76. package/dist/src/kubernetes/resources/IngressOperations.js.map +1 -0
  77. package/dist/src/kubernetes/resources/MetricOperations.d.ts +218 -0
  78. package/dist/src/kubernetes/resources/MetricOperations.d.ts.map +1 -0
  79. package/dist/src/kubernetes/resources/MetricOperations.js +893 -0
  80. package/dist/src/kubernetes/resources/MetricOperations.js.map +1 -0
  81. package/dist/src/kubernetes/resources/NamespaceOperations.d.ts +38 -0
  82. package/dist/src/kubernetes/resources/NamespaceOperations.d.ts.map +1 -0
  83. package/dist/src/kubernetes/resources/NamespaceOperations.js +101 -0
  84. package/dist/src/kubernetes/resources/NamespaceOperations.js.map +1 -0
  85. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts +109 -0
  86. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.d.ts.map +1 -0
  87. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js +383 -0
  88. package/dist/src/kubernetes/resources/PersistentVolumeClaimOperations.js.map +1 -0
  89. package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts +97 -0
  90. package/dist/src/kubernetes/resources/PersistentVolumeOperations.d.ts.map +1 -0
  91. package/dist/src/kubernetes/resources/PersistentVolumeOperations.js +321 -0
  92. package/dist/src/kubernetes/resources/PersistentVolumeOperations.js.map +1 -0
  93. package/dist/src/kubernetes/resources/PodOperations.d.ts +99 -0
  94. package/dist/src/kubernetes/resources/PodOperations.d.ts.map +1 -0
  95. package/dist/src/kubernetes/resources/PodOperations.js +333 -0
  96. package/dist/src/kubernetes/resources/PodOperations.js.map +1 -0
  97. package/dist/src/kubernetes/resources/SecretOperations.d.ts +71 -0
  98. package/dist/src/kubernetes/resources/SecretOperations.d.ts.map +1 -0
  99. package/dist/src/kubernetes/resources/SecretOperations.js +254 -0
  100. package/dist/src/kubernetes/resources/SecretOperations.js.map +1 -0
  101. package/dist/src/kubernetes/resources/ServiceOperations.d.ts +64 -0
  102. package/dist/src/kubernetes/resources/ServiceOperations.d.ts.map +1 -0
  103. package/dist/src/kubernetes/resources/ServiceOperations.js +232 -0
  104. package/dist/src/kubernetes/resources/ServiceOperations.js.map +1 -0
  105. package/dist/src/kubernetes/utils/ResourceUtils.d.ts +238 -0
  106. package/dist/src/kubernetes/utils/ResourceUtils.d.ts.map +1 -0
  107. package/dist/src/kubernetes/utils/ResourceUtils.js +439 -0
  108. package/dist/src/kubernetes/utils/ResourceUtils.js.map +1 -0
  109. package/dist/src/plugins/ArgoCDToolsPlugin.d.ts +45 -0
  110. package/dist/src/plugins/ArgoCDToolsPlugin.d.ts.map +1 -0
  111. package/dist/src/plugins/ArgoCDToolsPlugin.js +155 -0
  112. package/dist/src/plugins/ArgoCDToolsPlugin.js.map +1 -0
  113. package/dist/src/plugins/ArgoToolsPlugin.d.ts +45 -0
  114. package/dist/src/plugins/ArgoToolsPlugin.d.ts.map +1 -0
  115. package/dist/src/plugins/ArgoToolsPlugin.js +149 -0
  116. package/dist/src/plugins/ArgoToolsPlugin.js.map +1 -0
  117. package/dist/src/plugins/HelmToolsPlugin.d.ts +41 -0
  118. package/dist/src/plugins/HelmToolsPlugin.d.ts.map +1 -0
  119. package/dist/src/plugins/HelmToolsPlugin.js +146 -0
  120. package/dist/src/plugins/HelmToolsPlugin.js.map +1 -0
  121. package/dist/src/plugins/KubernetesToolsPlugin.d.ts +44 -0
  122. package/dist/src/plugins/KubernetesToolsPlugin.d.ts.map +1 -0
  123. package/dist/src/plugins/KubernetesToolsPlugin.js +159 -0
  124. package/dist/src/plugins/KubernetesToolsPlugin.js.map +1 -0
  125. package/dist/src/plugins/SamplePlugin.d.ts +12 -0
  126. package/dist/src/plugins/SamplePlugin.d.ts.map +1 -0
  127. package/dist/src/plugins/SamplePlugin.js +51 -0
  128. package/dist/src/plugins/SamplePlugin.js.map +1 -0
  129. package/dist/src/plugins/index.d.ts +5 -0
  130. package/dist/src/plugins/index.d.ts.map +1 -0
  131. package/dist/src/plugins/index.js +5 -0
  132. package/dist/src/plugins/index.js.map +1 -0
  133. package/dist/src/server/MCPServer.d.ts +93 -0
  134. package/dist/src/server/MCPServer.d.ts.map +1 -0
  135. package/dist/src/server/MCPServer.js +398 -0
  136. package/dist/src/server/MCPServer.js.map +1 -0
  137. package/dist/src/tools/argo/ArgoCronListTool.d.ts +10 -0
  138. package/dist/src/tools/argo/ArgoCronListTool.d.ts.map +1 -0
  139. package/dist/src/tools/argo/ArgoCronListTool.js +70 -0
  140. package/dist/src/tools/argo/ArgoCronListTool.js.map +1 -0
  141. package/dist/src/tools/argo/ArgoGetTool.d.ts +10 -0
  142. package/dist/src/tools/argo/ArgoGetTool.d.ts.map +1 -0
  143. package/dist/src/tools/argo/ArgoGetTool.js +80 -0
  144. package/dist/src/tools/argo/ArgoGetTool.js.map +1 -0
  145. package/dist/src/tools/argo/ArgoListTool.d.ts +10 -0
  146. package/dist/src/tools/argo/ArgoListTool.d.ts.map +1 -0
  147. package/dist/src/tools/argo/ArgoListTool.js +133 -0
  148. package/dist/src/tools/argo/ArgoListTool.js.map +1 -0
  149. package/dist/src/tools/argo/ArgoLogsTool.d.ts +10 -0
  150. package/dist/src/tools/argo/ArgoLogsTool.d.ts.map +1 -0
  151. package/dist/src/tools/argo/ArgoLogsTool.js +117 -0
  152. package/dist/src/tools/argo/ArgoLogsTool.js.map +1 -0
  153. package/dist/src/tools/argo/BaseTool.d.ts +60 -0
  154. package/dist/src/tools/argo/BaseTool.d.ts.map +1 -0
  155. package/dist/src/tools/argo/BaseTool.js +51 -0
  156. package/dist/src/tools/argo/BaseTool.js.map +1 -0
  157. package/dist/src/tools/argo/index.d.ts +7 -0
  158. package/dist/src/tools/argo/index.d.ts.map +1 -0
  159. package/dist/src/tools/argo/index.js +6 -0
  160. package/dist/src/tools/argo/index.js.map +1 -0
  161. package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts +10 -0
  162. package/dist/src/tools/argocd/ArgoCDAppGetTool.d.ts.map +1 -0
  163. package/dist/src/tools/argocd/ArgoCDAppGetTool.js +97 -0
  164. package/dist/src/tools/argocd/ArgoCDAppGetTool.js.map +1 -0
  165. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts +10 -0
  166. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.d.ts.map +1 -0
  167. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js +80 -0
  168. package/dist/src/tools/argocd/ArgoCDAppHistoryTool.js.map +1 -0
  169. package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts +10 -0
  170. package/dist/src/tools/argocd/ArgoCDAppListTool.d.ts.map +1 -0
  171. package/dist/src/tools/argocd/ArgoCDAppListTool.js +128 -0
  172. package/dist/src/tools/argocd/ArgoCDAppListTool.js.map +1 -0
  173. package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts +10 -0
  174. package/dist/src/tools/argocd/ArgoCDAppLogsTool.d.ts.map +1 -0
  175. package/dist/src/tools/argocd/ArgoCDAppLogsTool.js +143 -0
  176. package/dist/src/tools/argocd/ArgoCDAppLogsTool.js.map +1 -0
  177. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts +10 -0
  178. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.d.ts.map +1 -0
  179. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js +123 -0
  180. package/dist/src/tools/argocd/ArgoCDAppResourcesTool.js.map +1 -0
  181. package/dist/src/tools/argocd/BaseTool.d.ts +71 -0
  182. package/dist/src/tools/argocd/BaseTool.d.ts.map +1 -0
  183. package/dist/src/tools/argocd/BaseTool.js +62 -0
  184. package/dist/src/tools/argocd/BaseTool.js.map +1 -0
  185. package/dist/src/tools/argocd/index.d.ts +8 -0
  186. package/dist/src/tools/argocd/index.d.ts.map +1 -0
  187. package/dist/src/tools/argocd/index.js +7 -0
  188. package/dist/src/tools/argocd/index.js.map +1 -0
  189. package/dist/src/tools/helm/BaseTool.d.ts +51 -0
  190. package/dist/src/tools/helm/BaseTool.d.ts.map +1 -0
  191. package/dist/src/tools/helm/BaseTool.js +42 -0
  192. package/dist/src/tools/helm/BaseTool.js.map +1 -0
  193. package/dist/src/tools/helm/HelmGetHooksTool.d.ts +10 -0
  194. package/dist/src/tools/helm/HelmGetHooksTool.d.ts.map +1 -0
  195. package/dist/src/tools/helm/HelmGetHooksTool.js +38 -0
  196. package/dist/src/tools/helm/HelmGetHooksTool.js.map +1 -0
  197. package/dist/src/tools/helm/HelmGetManifestTool.d.ts +10 -0
  198. package/dist/src/tools/helm/HelmGetManifestTool.d.ts.map +1 -0
  199. package/dist/src/tools/helm/HelmGetManifestTool.js +38 -0
  200. package/dist/src/tools/helm/HelmGetManifestTool.js.map +1 -0
  201. package/dist/src/tools/helm/HelmGetNotesTool.d.ts +10 -0
  202. package/dist/src/tools/helm/HelmGetNotesTool.d.ts.map +1 -0
  203. package/dist/src/tools/helm/HelmGetNotesTool.js +38 -0
  204. package/dist/src/tools/helm/HelmGetNotesTool.js.map +1 -0
  205. package/dist/src/tools/helm/HelmGetResourcesTool.d.ts +13 -0
  206. package/dist/src/tools/helm/HelmGetResourcesTool.d.ts.map +1 -0
  207. package/dist/src/tools/helm/HelmGetResourcesTool.js +124 -0
  208. package/dist/src/tools/helm/HelmGetResourcesTool.js.map +1 -0
  209. package/dist/src/tools/helm/HelmGetValuesTool.d.ts +10 -0
  210. package/dist/src/tools/helm/HelmGetValuesTool.d.ts.map +1 -0
  211. package/dist/src/tools/helm/HelmGetValuesTool.js +54 -0
  212. package/dist/src/tools/helm/HelmGetValuesTool.js.map +1 -0
  213. package/dist/src/tools/helm/HelmHistoryTool.d.ts +10 -0
  214. package/dist/src/tools/helm/HelmHistoryTool.d.ts.map +1 -0
  215. package/dist/src/tools/helm/HelmHistoryTool.js +49 -0
  216. package/dist/src/tools/helm/HelmHistoryTool.js.map +1 -0
  217. package/dist/src/tools/helm/HelmListTool.d.ts +10 -0
  218. package/dist/src/tools/helm/HelmListTool.d.ts.map +1 -0
  219. package/dist/src/tools/helm/HelmListTool.js +107 -0
  220. package/dist/src/tools/helm/HelmListTool.js.map +1 -0
  221. package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts +14 -0
  222. package/dist/src/tools/helm/HelmListWithResourcesTool.d.ts.map +1 -0
  223. package/dist/src/tools/helm/HelmListWithResourcesTool.js +175 -0
  224. package/dist/src/tools/helm/HelmListWithResourcesTool.js.map +1 -0
  225. package/dist/src/tools/helm/HelmStatusTool.d.ts +10 -0
  226. package/dist/src/tools/helm/HelmStatusTool.d.ts.map +1 -0
  227. package/dist/src/tools/helm/HelmStatusTool.js +54 -0
  228. package/dist/src/tools/helm/HelmStatusTool.js.map +1 -0
  229. package/dist/src/tools/helm/index.d.ts +12 -0
  230. package/dist/src/tools/helm/index.d.ts.map +1 -0
  231. package/dist/src/tools/helm/index.js +11 -0
  232. package/dist/src/tools/helm/index.js.map +1 -0
  233. package/dist/src/tools/kubernetes/BaseTool.d.ts +48 -0
  234. package/dist/src/tools/kubernetes/BaseTool.d.ts.map +1 -0
  235. package/dist/src/tools/kubernetes/BaseTool.js +55 -0
  236. package/dist/src/tools/kubernetes/BaseTool.js.map +1 -0
  237. package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts +11 -0
  238. package/dist/src/tools/kubernetes/GetConfigMapTool.d.ts.map +1 -0
  239. package/dist/src/tools/kubernetes/GetConfigMapTool.js +28 -0
  240. package/dist/src/tools/kubernetes/GetConfigMapTool.js.map +1 -0
  241. package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts +15 -0
  242. package/dist/src/tools/kubernetes/GetContainerLogsTool.d.ts.map +1 -0
  243. package/dist/src/tools/kubernetes/GetContainerLogsTool.js +119 -0
  244. package/dist/src/tools/kubernetes/GetContainerLogsTool.js.map +1 -0
  245. package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts +11 -0
  246. package/dist/src/tools/kubernetes/GetDeploymentsTool.d.ts.map +1 -0
  247. package/dist/src/tools/kubernetes/GetDeploymentsTool.js +30 -0
  248. package/dist/src/tools/kubernetes/GetDeploymentsTool.js.map +1 -0
  249. package/dist/src/tools/kubernetes/GetEventsTool.d.ts +11 -0
  250. package/dist/src/tools/kubernetes/GetEventsTool.d.ts.map +1 -0
  251. package/dist/src/tools/kubernetes/GetEventsTool.js +123 -0
  252. package/dist/src/tools/kubernetes/GetEventsTool.js.map +1 -0
  253. package/dist/src/tools/kubernetes/GetIngressTool.d.ts +11 -0
  254. package/dist/src/tools/kubernetes/GetIngressTool.d.ts.map +1 -0
  255. package/dist/src/tools/kubernetes/GetIngressTool.js +35 -0
  256. package/dist/src/tools/kubernetes/GetIngressTool.js.map +1 -0
  257. package/dist/src/tools/kubernetes/GetMetricsTool.d.ts +11 -0
  258. package/dist/src/tools/kubernetes/GetMetricsTool.d.ts.map +1 -0
  259. package/dist/src/tools/kubernetes/GetMetricsTool.js +40 -0
  260. package/dist/src/tools/kubernetes/GetMetricsTool.js.map +1 -0
  261. package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts +11 -0
  262. package/dist/src/tools/kubernetes/GetNamespacesTool.d.ts.map +1 -0
  263. package/dist/src/tools/kubernetes/GetNamespacesTool.js +33 -0
  264. package/dist/src/tools/kubernetes/GetNamespacesTool.js.map +1 -0
  265. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts +11 -0
  266. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.d.ts.map +1 -0
  267. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js +92 -0
  268. package/dist/src/tools/kubernetes/GetPersistentVolumeClaimsTool.js.map +1 -0
  269. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts +11 -0
  270. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.d.ts.map +1 -0
  271. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js +88 -0
  272. package/dist/src/tools/kubernetes/GetPersistentVolumesTool.js.map +1 -0
  273. package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts +11 -0
  274. package/dist/src/tools/kubernetes/GetPodMetricsTool.d.ts.map +1 -0
  275. package/dist/src/tools/kubernetes/GetPodMetricsTool.js +100 -0
  276. package/dist/src/tools/kubernetes/GetPodMetricsTool.js.map +1 -0
  277. package/dist/src/tools/kubernetes/GetPodsTool.d.ts +11 -0
  278. package/dist/src/tools/kubernetes/GetPodsTool.d.ts.map +1 -0
  279. package/dist/src/tools/kubernetes/GetPodsTool.js +35 -0
  280. package/dist/src/tools/kubernetes/GetPodsTool.js.map +1 -0
  281. package/dist/src/tools/kubernetes/GetResourceTool.d.ts +12 -0
  282. package/dist/src/tools/kubernetes/GetResourceTool.d.ts.map +1 -0
  283. package/dist/src/tools/kubernetes/GetResourceTool.js +79 -0
  284. package/dist/src/tools/kubernetes/GetResourceTool.js.map +1 -0
  285. package/dist/src/tools/kubernetes/GetSecretsTool.d.ts +11 -0
  286. package/dist/src/tools/kubernetes/GetSecretsTool.d.ts.map +1 -0
  287. package/dist/src/tools/kubernetes/GetSecretsTool.js +49 -0
  288. package/dist/src/tools/kubernetes/GetSecretsTool.js.map +1 -0
  289. package/dist/src/tools/kubernetes/GetServicesTool.d.ts +11 -0
  290. package/dist/src/tools/kubernetes/GetServicesTool.d.ts.map +1 -0
  291. package/dist/src/tools/kubernetes/GetServicesTool.js +35 -0
  292. package/dist/src/tools/kubernetes/GetServicesTool.js.map +1 -0
  293. package/dist/src/tools/kubernetes/index.d.ts +17 -0
  294. package/dist/src/tools/kubernetes/index.d.ts.map +1 -0
  295. package/dist/src/tools/kubernetes/index.js +16 -0
  296. package/dist/src/tools/kubernetes/index.js.map +1 -0
  297. package/dist/src/utils/CliUtils.d.ts +24 -0
  298. package/dist/src/utils/CliUtils.d.ts.map +1 -0
  299. package/dist/src/utils/CliUtils.js +159 -0
  300. package/dist/src/utils/CliUtils.js.map +1 -0
  301. package/dist/tests/__mocks__/@kubernetes/client-node.d.ts +34 -0
  302. package/dist/tests/__mocks__/@kubernetes/client-node.d.ts.map +1 -0
  303. package/dist/tests/__mocks__/@kubernetes/client-node.js +20 -0
  304. package/dist/tests/__mocks__/@kubernetes/client-node.js.map +1 -0
  305. package/dist/tests/argo/ArgoGetTool.test.d.ts +2 -0
  306. package/dist/tests/argo/ArgoGetTool.test.d.ts.map +1 -0
  307. package/dist/tests/argo/ArgoGetTool.test.js +141 -0
  308. package/dist/tests/argo/ArgoGetTool.test.js.map +1 -0
  309. package/dist/tests/helm/BaseTool.test.d.ts +2 -0
  310. package/dist/tests/helm/BaseTool.test.d.ts.map +1 -0
  311. package/dist/tests/helm/BaseTool.test.js +241 -0
  312. package/dist/tests/helm/BaseTool.test.js.map +1 -0
  313. package/dist/tests/index.test.d.ts +2 -0
  314. package/dist/tests/index.test.d.ts.map +1 -0
  315. package/dist/tests/index.test.js +7 -0
  316. package/dist/tests/index.test.js.map +1 -0
  317. package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts +2 -0
  318. package/dist/tests/kubernetes/ConfigMapOperations.test.d.ts.map +1 -0
  319. package/dist/tests/kubernetes/ConfigMapOperations.test.js +460 -0
  320. package/dist/tests/kubernetes/ConfigMapOperations.test.js.map +1 -0
  321. package/dist/tests/kubernetes/ConnectionManager.test.d.ts +2 -0
  322. package/dist/tests/kubernetes/ConnectionManager.test.d.ts.map +1 -0
  323. package/dist/tests/kubernetes/ConnectionManager.test.js +97 -0
  324. package/dist/tests/kubernetes/ConnectionManager.test.js.map +1 -0
  325. package/dist/tests/kubernetes/ConnectionPool.test.d.ts +2 -0
  326. package/dist/tests/kubernetes/ConnectionPool.test.d.ts.map +1 -0
  327. package/dist/tests/kubernetes/ConnectionPool.test.js +328 -0
  328. package/dist/tests/kubernetes/ConnectionPool.test.js.map +1 -0
  329. package/dist/tests/kubernetes/DeploymentOperations.test.d.ts +2 -0
  330. package/dist/tests/kubernetes/DeploymentOperations.test.d.ts.map +1 -0
  331. package/dist/tests/kubernetes/DeploymentOperations.test.js +196 -0
  332. package/dist/tests/kubernetes/DeploymentOperations.test.js.map +1 -0
  333. package/dist/tests/kubernetes/ErrorHandling.test.d.ts +2 -0
  334. package/dist/tests/kubernetes/ErrorHandling.test.d.ts.map +1 -0
  335. package/dist/tests/kubernetes/ErrorHandling.test.js +329 -0
  336. package/dist/tests/kubernetes/ErrorHandling.test.js.map +1 -0
  337. package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts +2 -0
  338. package/dist/tests/kubernetes/GetPodMetricsTool.test.d.ts.map +1 -0
  339. package/dist/tests/kubernetes/GetPodMetricsTool.test.js +150 -0
  340. package/dist/tests/kubernetes/GetPodMetricsTool.test.js.map +1 -0
  341. package/dist/tests/kubernetes/KubernetesClient.test.d.ts +2 -0
  342. package/dist/tests/kubernetes/KubernetesClient.test.d.ts.map +1 -0
  343. package/dist/tests/kubernetes/KubernetesClient.test.js +371 -0
  344. package/dist/tests/kubernetes/KubernetesClient.test.js.map +1 -0
  345. package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts +2 -0
  346. package/dist/tests/kubernetes/MetricOperations.parsing.test.d.ts.map +1 -0
  347. package/dist/tests/kubernetes/MetricOperations.parsing.test.js +49 -0
  348. package/dist/tests/kubernetes/MetricOperations.parsing.test.js.map +1 -0
  349. package/dist/tests/kubernetes/NamespaceOperations.test.d.ts +2 -0
  350. package/dist/tests/kubernetes/NamespaceOperations.test.d.ts.map +1 -0
  351. package/dist/tests/kubernetes/NamespaceOperations.test.js +115 -0
  352. package/dist/tests/kubernetes/NamespaceOperations.test.js.map +1 -0
  353. package/dist/tests/kubernetes/PodOperations.test.d.ts +2 -0
  354. package/dist/tests/kubernetes/PodOperations.test.d.ts.map +1 -0
  355. package/dist/tests/kubernetes/PodOperations.test.js +209 -0
  356. package/dist/tests/kubernetes/PodOperations.test.js.map +1 -0
  357. package/dist/tests/kubernetes/RetryStrategy.test.d.ts +2 -0
  358. package/dist/tests/kubernetes/RetryStrategy.test.d.ts.map +1 -0
  359. package/dist/tests/kubernetes/RetryStrategy.test.js +419 -0
  360. package/dist/tests/kubernetes/RetryStrategy.test.js.map +1 -0
  361. package/dist/tests/kubernetes/ServiceOperations.test.d.ts +2 -0
  362. package/dist/tests/kubernetes/ServiceOperations.test.d.ts.map +1 -0
  363. package/dist/tests/kubernetes/ServiceOperations.test.js +159 -0
  364. package/dist/tests/kubernetes/ServiceOperations.test.js.map +1 -0
  365. package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts +2 -0
  366. package/dist/tests/plugins/KubernetesToolsPlugin.test.d.ts.map +1 -0
  367. package/dist/tests/plugins/KubernetesToolsPlugin.test.js +153 -0
  368. package/dist/tests/plugins/KubernetesToolsPlugin.test.js.map +1 -0
  369. package/dist/tests/server/MCPServer.integration.test.d.ts +2 -0
  370. package/dist/tests/server/MCPServer.integration.test.d.ts.map +1 -0
  371. package/dist/tests/server/MCPServer.integration.test.js +244 -0
  372. package/dist/tests/server/MCPServer.integration.test.js.map +1 -0
  373. package/dist/tests/server/MCPServer.test.d.ts +2 -0
  374. package/dist/tests/server/MCPServer.test.d.ts.map +1 -0
  375. package/dist/tests/server/MCPServer.test.js +257 -0
  376. package/dist/tests/server/MCPServer.test.js.map +1 -0
  377. package/package.json +85 -0
  378. package/src/cli/cli.ts +25 -0
  379. package/src/cli/run-command.js +391 -0
  380. package/src/index.ts +46 -0
  381. package/src/kubernetes/BaseResourceOperations.ts +286 -0
  382. package/src/kubernetes/CircuitBreaker.ts +485 -0
  383. package/src/kubernetes/ConnectionManager.ts +114 -0
  384. package/src/kubernetes/ConnectionPool.ts +551 -0
  385. package/src/kubernetes/ErrorHandler.ts +436 -0
  386. package/src/kubernetes/ErrorHandling.ts +401 -0
  387. package/src/kubernetes/KubernetesClient.ts +500 -0
  388. package/src/kubernetes/README.md +349 -0
  389. package/src/kubernetes/ResourceOperations.ts +116 -0
  390. package/src/kubernetes/RetryStrategy.ts +365 -0
  391. package/src/kubernetes/RetryableOperation.ts +313 -0
  392. package/src/kubernetes/docs/ResourceOperations.md +606 -0
  393. package/src/kubernetes/index.ts +116 -0
  394. package/src/kubernetes/resources/ConfigMapOperations.ts +367 -0
  395. package/src/kubernetes/resources/CustomResourceOperations.ts +392 -0
  396. package/src/kubernetes/resources/DeploymentOperations.ts +294 -0
  397. package/src/kubernetes/resources/IngressOperations.ts +277 -0
  398. package/src/kubernetes/resources/MetricOperations.ts +1159 -0
  399. package/src/kubernetes/resources/NamespaceOperations.ts +129 -0
  400. package/src/kubernetes/resources/PersistentVolumeClaimOperations.ts +516 -0
  401. package/src/kubernetes/resources/PersistentVolumeOperations.ts +438 -0
  402. package/src/kubernetes/resources/PodOperations.ts +417 -0
  403. package/src/kubernetes/resources/SecretOperations.ts +304 -0
  404. package/src/kubernetes/resources/ServiceOperations.ts +283 -0
  405. package/src/kubernetes/utils/ResourceUtils.ts +553 -0
  406. package/src/plugins/ArgoCDToolsPlugin.ts +189 -0
  407. package/src/plugins/ArgoToolsPlugin.ts +180 -0
  408. package/src/plugins/HelmToolsPlugin.ts +180 -0
  409. package/src/plugins/KubernetesToolsPlugin.ts +198 -0
  410. package/src/plugins/SamplePlugin.ts +60 -0
  411. package/src/plugins/index.ts +4 -0
  412. package/src/server/MCPServer.ts +500 -0
  413. package/src/tools/argo/ArgoCronListTool.ts +78 -0
  414. package/src/tools/argo/ArgoGetTool.ts +91 -0
  415. package/src/tools/argo/ArgoListTool.ts +143 -0
  416. package/src/tools/argo/ArgoLogsTool.ts +131 -0
  417. package/src/tools/argo/BaseTool.ts +69 -0
  418. package/src/tools/argo/index.ts +6 -0
  419. package/src/tools/argocd/ArgoCDAppGetTool.ts +109 -0
  420. package/src/tools/argocd/ArgoCDAppHistoryTool.ts +91 -0
  421. package/src/tools/argocd/ArgoCDAppListTool.ts +144 -0
  422. package/src/tools/argocd/ArgoCDAppLogsTool.ts +162 -0
  423. package/src/tools/argocd/ArgoCDAppResourcesTool.ts +139 -0
  424. package/src/tools/argocd/BaseTool.ts +83 -0
  425. package/src/tools/argocd/index.ts +7 -0
  426. package/src/tools/helm/BaseTool.ts +60 -0
  427. package/src/tools/helm/HelmGetHooksTool.ts +44 -0
  428. package/src/tools/helm/HelmGetManifestTool.ts +44 -0
  429. package/src/tools/helm/HelmGetNotesTool.ts +44 -0
  430. package/src/tools/helm/HelmGetResourcesTool.ts +140 -0
  431. package/src/tools/helm/HelmGetValuesTool.ts +62 -0
  432. package/src/tools/helm/HelmHistoryTool.ts +56 -0
  433. package/src/tools/helm/HelmListTool.ts +107 -0
  434. package/src/tools/helm/HelmListWithResourcesTool.ts +194 -0
  435. package/src/tools/helm/HelmStatusTool.ts +62 -0
  436. package/src/tools/helm/index.ts +11 -0
  437. package/src/tools/kubernetes/BaseTool.ts +76 -0
  438. package/src/tools/kubernetes/GetConfigMapTool.ts +33 -0
  439. package/src/tools/kubernetes/GetContainerLogsTool.ts +140 -0
  440. package/src/tools/kubernetes/GetDeploymentsTool.ts +33 -0
  441. package/src/tools/kubernetes/GetEventsTool.ts +133 -0
  442. package/src/tools/kubernetes/GetIngressTool.ts +39 -0
  443. package/src/tools/kubernetes/GetMetricsTool.ts +53 -0
  444. package/src/tools/kubernetes/GetNamespacesTool.ts +36 -0
  445. package/src/tools/kubernetes/GetPersistentVolumeClaimsTool.ts +113 -0
  446. package/src/tools/kubernetes/GetPersistentVolumesTool.ts +107 -0
  447. package/src/tools/kubernetes/GetPodMetricsTool.ts +113 -0
  448. package/src/tools/kubernetes/GetPodsTool.ts +39 -0
  449. package/src/tools/kubernetes/GetResourceTool.ts +90 -0
  450. package/src/tools/kubernetes/GetSecretsTool.ts +55 -0
  451. package/src/tools/kubernetes/GetServicesTool.ts +39 -0
  452. package/src/tools/kubernetes/index.ts +16 -0
  453. package/src/utils/CliUtils.ts +207 -0
  454. package/tsconfig.json +36 -0
@@ -0,0 +1,439 @@
1
+ /**
2
+ * Label selector builder utility
3
+ */
4
+ export class LabelSelector {
5
+ selectors = [];
6
+ /**
7
+ * Add an equality-based selector (key=value)
8
+ */
9
+ equals(key, value) {
10
+ this.selectors.push(`${key}=${value}`);
11
+ return this;
12
+ }
13
+ /**
14
+ * Add an inequality-based selector (key!=value)
15
+ */
16
+ notEquals(key, value) {
17
+ this.selectors.push(`${key}!=${value}`);
18
+ return this;
19
+ }
20
+ /**
21
+ * Add a set-based selector (key in (value1,value2))
22
+ */
23
+ in(key, values) {
24
+ this.selectors.push(`${key} in (${values.join(',')})`);
25
+ return this;
26
+ }
27
+ /**
28
+ * Add a set-based selector (key notin (value1,value2))
29
+ */
30
+ notIn(key, values) {
31
+ this.selectors.push(`${key} notin (${values.join(',')})`);
32
+ return this;
33
+ }
34
+ /**
35
+ * Add an existence-based selector (key exists)
36
+ */
37
+ exists(key) {
38
+ this.selectors.push(key);
39
+ return this;
40
+ }
41
+ /**
42
+ * Add a non-existence-based selector (!key)
43
+ */
44
+ notExists(key) {
45
+ this.selectors.push(`!${key}`);
46
+ return this;
47
+ }
48
+ /**
49
+ * Build the label selector string
50
+ */
51
+ build() {
52
+ return this.selectors.join(',');
53
+ }
54
+ }
55
+ /**
56
+ * Field selector builder utility
57
+ */
58
+ export class FieldSelector {
59
+ selectors = [];
60
+ /**
61
+ * Add a field selector
62
+ */
63
+ field(path, value) {
64
+ this.selectors.push(`${path}=${value}`);
65
+ return this;
66
+ }
67
+ /**
68
+ * Add a field not equals selector
69
+ */
70
+ fieldNotEquals(path, value) {
71
+ this.selectors.push(`${path}!=${value}`);
72
+ return this;
73
+ }
74
+ /**
75
+ * Select by name
76
+ */
77
+ name(name) {
78
+ return this.field('metadata.name', name);
79
+ }
80
+ /**
81
+ * Select by namespace
82
+ */
83
+ namespace(namespace) {
84
+ return this.field('metadata.namespace', namespace);
85
+ }
86
+ /**
87
+ * Select by status phase (for pods)
88
+ */
89
+ phase(phase) {
90
+ return this.field('status.phase', phase);
91
+ }
92
+ /**
93
+ * Build the field selector string
94
+ */
95
+ build() {
96
+ return this.selectors.join(',');
97
+ }
98
+ }
99
+ /**
100
+ * Resource patch builder utility
101
+ */
102
+ export class PatchBuilder {
103
+ patches = [];
104
+ /**
105
+ * Add a JSON patch operation
106
+ */
107
+ add(path, value) {
108
+ this.patches.push({
109
+ op: 'add',
110
+ path,
111
+ value,
112
+ });
113
+ return this;
114
+ }
115
+ /**
116
+ * Remove a JSON patch operation
117
+ */
118
+ remove(path) {
119
+ this.patches.push({
120
+ op: 'remove',
121
+ path,
122
+ });
123
+ return this;
124
+ }
125
+ /**
126
+ * Replace a JSON patch operation
127
+ */
128
+ replace(path, value) {
129
+ this.patches.push({
130
+ op: 'replace',
131
+ path,
132
+ value,
133
+ });
134
+ return this;
135
+ }
136
+ /**
137
+ * Copy a JSON patch operation
138
+ */
139
+ copy(from, path) {
140
+ this.patches.push({
141
+ op: 'copy',
142
+ from,
143
+ path,
144
+ });
145
+ return this;
146
+ }
147
+ /**
148
+ * Move a JSON patch operation
149
+ */
150
+ move(from, path) {
151
+ this.patches.push({
152
+ op: 'move',
153
+ from,
154
+ path,
155
+ });
156
+ return this;
157
+ }
158
+ /**
159
+ * Test a JSON patch operation
160
+ */
161
+ test(path, value) {
162
+ this.patches.push({
163
+ op: 'test',
164
+ path,
165
+ value,
166
+ });
167
+ return this;
168
+ }
169
+ /**
170
+ * Build the JSON patch array
171
+ */
172
+ build() {
173
+ return this.patches;
174
+ }
175
+ }
176
+ /**
177
+ * Resource metadata utilities
178
+ */
179
+ export class MetadataUtils {
180
+ /**
181
+ * Generate a unique name with a random suffix
182
+ */
183
+ static generateName(prefix) {
184
+ const randomSuffix = Math.random().toString(36).substring(2, 7);
185
+ return `${prefix}-${randomSuffix}`;
186
+ }
187
+ /**
188
+ * Add or update labels on a resource
189
+ */
190
+ static addLabels(resource, labels) {
191
+ if (!resource.metadata) {
192
+ resource.metadata = {};
193
+ }
194
+ if (!resource.metadata.labels) {
195
+ resource.metadata.labels = {};
196
+ }
197
+ Object.assign(resource.metadata.labels, labels);
198
+ return resource;
199
+ }
200
+ /**
201
+ * Add or update annotations on a resource
202
+ */
203
+ static addAnnotations(resource, annotations) {
204
+ if (!resource.metadata) {
205
+ resource.metadata = {};
206
+ }
207
+ if (!resource.metadata.annotations) {
208
+ resource.metadata.annotations = {};
209
+ }
210
+ Object.assign(resource.metadata.annotations, annotations);
211
+ return resource;
212
+ }
213
+ /**
214
+ * Add owner reference to a resource
215
+ */
216
+ static addOwnerReference(resource, owner, controller = false, blockOwnerDeletion = false) {
217
+ if (!resource.metadata) {
218
+ resource.metadata = {};
219
+ }
220
+ if (!resource.metadata.ownerReferences) {
221
+ resource.metadata.ownerReferences = [];
222
+ }
223
+ const ownerRef = {
224
+ apiVersion: owner.apiVersion,
225
+ kind: owner.kind,
226
+ name: owner.metadata.name,
227
+ uid: owner.metadata.uid,
228
+ controller,
229
+ blockOwnerDeletion,
230
+ };
231
+ resource.metadata.ownerReferences.push(ownerRef);
232
+ return resource;
233
+ }
234
+ /**
235
+ * Check if a resource has a specific label
236
+ */
237
+ static hasLabel(resource, key, value) {
238
+ if (!resource.metadata?.labels || !resource.metadata.labels[key]) {
239
+ return false;
240
+ }
241
+ return value === undefined || resource.metadata.labels[key] === value;
242
+ }
243
+ /**
244
+ * Check if a resource has a specific annotation
245
+ */
246
+ static hasAnnotation(resource, key, value) {
247
+ if (!resource.metadata?.annotations || !resource.metadata.annotations[key]) {
248
+ return false;
249
+ }
250
+ return value === undefined || resource.metadata.annotations[key] === value;
251
+ }
252
+ /**
253
+ * Get resource age in milliseconds
254
+ */
255
+ static getAge(resource) {
256
+ if (!resource.metadata?.creationTimestamp) {
257
+ return 0;
258
+ }
259
+ const created = new Date(resource.metadata.creationTimestamp);
260
+ return Date.now() - created.getTime();
261
+ }
262
+ /**
263
+ * Format resource age as human-readable string
264
+ */
265
+ static formatAge(resource) {
266
+ const ageMs = this.getAge(resource);
267
+ const seconds = Math.floor(ageMs / 1000);
268
+ const minutes = Math.floor(seconds / 60);
269
+ const hours = Math.floor(minutes / 60);
270
+ const days = Math.floor(hours / 24);
271
+ if (days > 0) {
272
+ return `${days}d`;
273
+ }
274
+ else if (hours > 0) {
275
+ return `${hours}h`;
276
+ }
277
+ else if (minutes > 0) {
278
+ return `${minutes}m`;
279
+ }
280
+ else {
281
+ return `${seconds}s`;
282
+ }
283
+ }
284
+ }
285
+ /**
286
+ * Container utilities
287
+ */
288
+ export class ContainerUtils {
289
+ /**
290
+ * Create a basic container spec
291
+ */
292
+ static createContainer(name, image, options) {
293
+ return {
294
+ name,
295
+ image,
296
+ ...options,
297
+ };
298
+ }
299
+ /**
300
+ * Add environment variable to container
301
+ */
302
+ static addEnvVar(container, name, value, valueFrom) {
303
+ if (!container.env) {
304
+ container.env = [];
305
+ }
306
+ const envVar = { name };
307
+ if (value !== undefined) {
308
+ envVar.value = value;
309
+ }
310
+ if (valueFrom !== undefined) {
311
+ envVar.valueFrom = valueFrom;
312
+ }
313
+ container.env.push(envVar);
314
+ return container;
315
+ }
316
+ /**
317
+ * Add port to container
318
+ */
319
+ static addPort(container, containerPort, options) {
320
+ if (!container.ports) {
321
+ container.ports = [];
322
+ }
323
+ container.ports.push({
324
+ containerPort,
325
+ ...options,
326
+ });
327
+ return container;
328
+ }
329
+ /**
330
+ * Set container resources
331
+ */
332
+ static setResources(container, requests, limits) {
333
+ container.resources = {
334
+ requests,
335
+ limits,
336
+ };
337
+ return container;
338
+ }
339
+ }
340
+ /**
341
+ * Pod template utilities
342
+ */
343
+ export class PodTemplateUtils {
344
+ /**
345
+ * Create a basic pod template spec
346
+ */
347
+ static createPodTemplateSpec(containers, options) {
348
+ return {
349
+ metadata: {
350
+ labels: options?.labels,
351
+ annotations: options?.annotations,
352
+ },
353
+ spec: {
354
+ containers,
355
+ restartPolicy: options?.restartPolicy,
356
+ serviceAccountName: options?.serviceAccountName,
357
+ volumes: options?.volumes,
358
+ nodeSelector: options?.nodeSelector,
359
+ tolerations: options?.tolerations,
360
+ affinity: options?.affinity,
361
+ },
362
+ };
363
+ }
364
+ /**
365
+ * Add init container to pod template
366
+ */
367
+ static addInitContainer(podTemplate, initContainer) {
368
+ if (!podTemplate.spec) {
369
+ podTemplate.spec = {
370
+ containers: [],
371
+ };
372
+ }
373
+ if (!podTemplate.spec.initContainers) {
374
+ podTemplate.spec.initContainers = [];
375
+ }
376
+ podTemplate.spec.initContainers.push(initContainer);
377
+ return podTemplate;
378
+ }
379
+ /**
380
+ * Add volume to pod template
381
+ */
382
+ static addVolume(podTemplate, volume) {
383
+ if (!podTemplate.spec) {
384
+ podTemplate.spec = {
385
+ containers: [],
386
+ };
387
+ }
388
+ if (!podTemplate.spec.volumes) {
389
+ podTemplate.spec.volumes = [];
390
+ }
391
+ podTemplate.spec.volumes.push(volume);
392
+ return podTemplate;
393
+ }
394
+ }
395
+ /**
396
+ * Service utilities
397
+ */
398
+ export class ServiceUtils {
399
+ /**
400
+ * Create a service spec for a deployment or pods
401
+ */
402
+ static createServiceSpec(selector, ports, type = 'ClusterIP') {
403
+ return {
404
+ selector,
405
+ ports: ports.map((p) => ({
406
+ port: p.port,
407
+ targetPort: p.targetPort,
408
+ protocol: p.protocol || 'TCP',
409
+ name: p.name,
410
+ })),
411
+ type,
412
+ };
413
+ }
414
+ }
415
+ /**
416
+ * Deployment utilities
417
+ */
418
+ export class DeploymentUtils {
419
+ /**
420
+ * Create a deployment spec
421
+ */
422
+ static createDeploymentSpec(replicas, selector, template, strategy) {
423
+ return {
424
+ replicas,
425
+ selector: {
426
+ matchLabels: selector,
427
+ },
428
+ template,
429
+ strategy: strategy || {
430
+ type: 'RollingUpdate',
431
+ rollingUpdate: {
432
+ maxUnavailable: '25%',
433
+ maxSurge: '25%',
434
+ },
435
+ },
436
+ };
437
+ }
438
+ }
439
+ //# sourceMappingURL=ResourceUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceUtils.js","sourceRoot":"","sources":["../../../../src/kubernetes/utils/ResourceUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { MCPPlugin, MCPServer } from '../server/MCPServer.js';
2
+ /**
3
+ * Plugin that registers ArgoCD tools with the MCP server
4
+ */
5
+ export declare class ArgoCDToolsPlugin implements MCPPlugin {
6
+ name: string;
7
+ version: string;
8
+ private commands;
9
+ private logger?;
10
+ private commandMap;
11
+ constructor();
12
+ /**
13
+ * Check if plugin is disabled via environment variable
14
+ */
15
+ private static isDisabled;
16
+ /**
17
+ * Create the list of all available tool instances
18
+ * This is the single source of truth for all tools in the plugin
19
+ */
20
+ private static createToolInstances;
21
+ /**
22
+ * Get all command names from the tool instances
23
+ */
24
+ static getCommandNames(): string[];
25
+ /**
26
+ * Create a Winston logger for CLI usage only if LOG_LEVEL is set
27
+ */
28
+ private static createLogger;
29
+ /**
30
+ * Static method to directly execute a command from CLI without starting the MCP server
31
+ * @param commandName The name of the command to execute
32
+ * @param params Parameters for the command
33
+ * @returns The result of the command execution
34
+ */
35
+ static executeCommand(commandName: string, params: Record<string, any>): Promise<any>;
36
+ initialize(server: MCPServer): Promise<void>;
37
+ /**
38
+ * Get a function that executes a specific tool by name
39
+ * @param toolName The name of the tool to execute
40
+ * @returns A function that takes parameters and executes the tool, or undefined if the tool doesn't exist
41
+ */
42
+ getToolFunction(toolName: string): ((params: any) => Promise<any>) | undefined;
43
+ shutdown(): Promise<void>;
44
+ }
45
+ //# sourceMappingURL=ArgoCDToolsPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgoCDToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/ArgoCDToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAY9D;;GAEG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,IAAI,SAAkB;IACtB,OAAO,SAAW;IAElB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAC,CAAsB;IACrC,OAAO,CAAC,UAAU,CAA0C;;IAI5D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAMzB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAUlC;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B;;;;;OAKG;WACU,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAoCrF,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDlD;;;;OAIG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS;IAYxE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
@@ -0,0 +1,155 @@
1
+ import winston from 'winston';
2
+ import { validateArgoCDCLI, ArgoCDAppListTool, ArgoCDAppGetTool, ArgoCDAppHistoryTool, ArgoCDAppLogsTool, ArgoCDAppResourcesTool, } from '../tools/argocd/index.js';
3
+ /**
4
+ * Plugin that registers ArgoCD tools with the MCP server
5
+ */
6
+ export class ArgoCDToolsPlugin {
7
+ name = 'argocd-tools';
8
+ version = '0.1.0';
9
+ commands = [];
10
+ logger;
11
+ commandMap = new Map();
12
+ constructor() { }
13
+ /**
14
+ * Check if plugin is disabled via environment variable
15
+ */
16
+ static isDisabled() {
17
+ return (process.env.DISABLE_ARGOCD_PLUGIN === 'true' || process.env.DISABLE_ARGOCD_PLUGIN === '1');
18
+ }
19
+ /**
20
+ * Create the list of all available tool instances
21
+ * This is the single source of truth for all tools in the plugin
22
+ */
23
+ static createToolInstances() {
24
+ return [
25
+ new ArgoCDAppListTool(),
26
+ new ArgoCDAppGetTool(),
27
+ new ArgoCDAppHistoryTool(),
28
+ new ArgoCDAppLogsTool(),
29
+ new ArgoCDAppResourcesTool(),
30
+ ];
31
+ }
32
+ /**
33
+ * Get all command names from the tool instances
34
+ */
35
+ static getCommandNames() {
36
+ return this.createToolInstances().map((tool) => tool.tool.name);
37
+ }
38
+ /**
39
+ * Create a Winston logger for CLI usage only if LOG_LEVEL is set
40
+ */
41
+ static createLogger() {
42
+ if (!process.env.LOG_LEVEL) {
43
+ return undefined;
44
+ }
45
+ return winston.createLogger({
46
+ level: process.env.LOG_LEVEL,
47
+ format: winston.format.combine(winston.format.timestamp(), winston.format.json()),
48
+ transports: [
49
+ new winston.transports.Console({
50
+ stderrLevels: ['error', 'warn', 'info', 'verbose', 'debug', 'silly'],
51
+ format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
52
+ }),
53
+ ],
54
+ });
55
+ }
56
+ /**
57
+ * Static method to directly execute a command from CLI without starting the MCP server
58
+ * @param commandName The name of the command to execute
59
+ * @param params Parameters for the command
60
+ * @returns The result of the command execution
61
+ */
62
+ static async executeCommand(commandName, params) {
63
+ const plugin = new ArgoCDToolsPlugin();
64
+ // Initialize commands using the centralized method
65
+ plugin.commands = this.createToolInstances();
66
+ // Create map of commands
67
+ for (const command of plugin.commands) {
68
+ plugin.commandMap.set(command.tool.name, command);
69
+ }
70
+ const command = plugin.commandMap.get(commandName);
71
+ if (!command) {
72
+ throw new Error(`Unknown tool: ${commandName}`);
73
+ }
74
+ const logger = this.createLogger();
75
+ if (logger) {
76
+ logger.info(`Executing ArgoCD command: ${commandName}`, { params });
77
+ }
78
+ try {
79
+ // Execute the command
80
+ const result = await command.execute(params);
81
+ if (logger) {
82
+ logger.debug(`Command ${commandName} completed successfully`);
83
+ }
84
+ return result;
85
+ }
86
+ catch (error) {
87
+ if (logger) {
88
+ logger.error(`Command ${commandName} failed`, { error });
89
+ }
90
+ throw error;
91
+ }
92
+ }
93
+ async initialize(server) {
94
+ this.logger = server.getLogger();
95
+ try {
96
+ // Check if plugin is disabled
97
+ if (ArgoCDToolsPlugin.isDisabled()) {
98
+ this.logger.info('ArgoCDToolsPlugin is disabled via environment variable');
99
+ this.commands = [];
100
+ this.commandMap.clear();
101
+ return;
102
+ }
103
+ // Validate ArgoCD CLI - only register tools if validation succeeds
104
+ try {
105
+ await validateArgoCDCLI();
106
+ this.logger.info('ArgoCD CLI validation successful');
107
+ // Initialize commands using the centralized method
108
+ this.commands = ArgoCDToolsPlugin.createToolInstances();
109
+ // Create a map of command names to command instances
110
+ for (const command of this.commands) {
111
+ this.commandMap.set(command.tool.name, command);
112
+ }
113
+ // Register each command with the server
114
+ for (const command of this.commands) {
115
+ server.registerTool(command.tool, async (params) => {
116
+ return command.execute(params);
117
+ });
118
+ }
119
+ this.logger.info(`ArgoCDToolsPlugin initialized with ${this.commands.length} tools. ArgoCD CLI ready.`);
120
+ }
121
+ catch (error) {
122
+ this.logger.warn('ArgoCD CLI not found. ArgoCD tools will not be registered.', {
123
+ error: error instanceof Error ? error.message : String(error),
124
+ });
125
+ // Don't register any tools if argocd CLI is not available
126
+ this.commands = [];
127
+ this.commandMap.clear();
128
+ this.logger.info('ArgoCDToolsPlugin initialized with 0 tools (ArgoCD CLI not available).');
129
+ }
130
+ }
131
+ catch (error) {
132
+ this.logger.error('Failed to initialize ArgoCDToolsPlugin', error);
133
+ throw error; // Rethrow to allow MCPServer to catch it if needed
134
+ }
135
+ }
136
+ /**
137
+ * Get a function that executes a specific tool by name
138
+ * @param toolName The name of the tool to execute
139
+ * @returns A function that takes parameters and executes the tool, or undefined if the tool doesn't exist
140
+ */
141
+ getToolFunction(toolName) {
142
+ const command = this.commandMap.get(toolName);
143
+ if (!command) {
144
+ return undefined;
145
+ }
146
+ return async (params) => {
147
+ return command.execute(params);
148
+ };
149
+ }
150
+ async shutdown() {
151
+ // No specific cleanup needed for ArgoCD CLI operations
152
+ this.logger?.info('ArgoCDToolsPlugin shutting down...');
153
+ }
154
+ }
155
+ //# sourceMappingURL=ArgoCDToolsPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgoCDToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ArgoCDToolsPlugin.ts"],"names":[],"mappings":"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"}