kubeview-mcp 1.8.2 → 1.9.1

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 (159) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/bin/kubeview-mcp.js +19 -2
  3. package/dist/src/plugins/HelmToolsPlugin.d.ts.map +1 -1
  4. package/dist/src/plugins/HelmToolsPlugin.js +2 -2
  5. package/dist/src/plugins/HelmToolsPlugin.js.map +1 -1
  6. package/dist/src/tools/helm/HelmDebugTool.d.ts +25 -0
  7. package/dist/src/tools/helm/HelmDebugTool.d.ts.map +1 -0
  8. package/dist/src/tools/helm/HelmDebugTool.js +405 -0
  9. package/dist/src/tools/helm/HelmDebugTool.js.map +1 -0
  10. package/dist/src/tools/helm/HelmGetTool.d.ts.map +1 -1
  11. package/dist/src/tools/helm/HelmGetTool.js +11 -2
  12. package/dist/src/tools/helm/HelmGetTool.js.map +1 -1
  13. package/dist/src/tools/helm/index.d.ts +1 -0
  14. package/dist/src/tools/helm/index.d.ts.map +1 -1
  15. package/dist/src/tools/helm/index.js +1 -0
  16. package/dist/src/tools/helm/index.js.map +1 -1
  17. package/dist/src/utils/HelmLiveResources.d.ts +64 -0
  18. package/dist/src/utils/HelmLiveResources.d.ts.map +1 -0
  19. package/dist/src/utils/HelmLiveResources.js +442 -0
  20. package/dist/src/utils/HelmLiveResources.js.map +1 -0
  21. package/dist/src/version.d.ts +1 -1
  22. package/dist/src/version.js +1 -1
  23. package/dist/tests/helm/HelmDebugTool.test.d.ts +2 -0
  24. package/dist/tests/helm/HelmDebugTool.test.d.ts.map +1 -0
  25. package/dist/tests/helm/HelmDebugTool.test.js +261 -0
  26. package/dist/tests/helm/HelmDebugTool.test.js.map +1 -0
  27. package/dist/tests/helm/HelmGetTool.test.js +93 -0
  28. package/dist/tests/helm/HelmGetTool.test.js.map +1 -1
  29. package/dist/tests/utils/HelmLiveResources.test.d.ts +2 -0
  30. package/dist/tests/utils/HelmLiveResources.test.d.ts.map +1 -0
  31. package/dist/tests/utils/HelmLiveResources.test.js +110 -0
  32. package/dist/tests/utils/HelmLiveResources.test.js.map +1 -0
  33. package/package.json +4 -1
  34. package/scripts/build-version.js +19 -0
  35. package/src/agent/bridge/MCPBridge.ts +176 -0
  36. package/src/agent/codegen/CodegenManager.ts +334 -0
  37. package/src/agent/codegen/SchemaToTypeScriptMapper.ts +98 -0
  38. package/src/agent/codegen/ToolDescriptionBuilder.ts +258 -0
  39. package/src/agent/codegen/ToolSchemaIntrospector.ts +95 -0
  40. package/src/agent/codegen/types.ts +38 -0
  41. package/src/agent/config/CodeModeConfig.ts +48 -0
  42. package/src/agent/runtime/code-executor/CodeExecutor.ts +127 -0
  43. package/src/agent/runtime/code-executor/NodeVmCodeExecutor.ts +117 -0
  44. package/src/agent/runtime/createSandboxManager.ts +40 -0
  45. package/src/agent/runtime/ivm/IVMSandboxManager.ts +371 -0
  46. package/src/agent/runtime/types.ts +13 -0
  47. package/src/agent/runtime/vm/VmSandboxManager.ts +284 -0
  48. package/src/agent/security/PIITokenizer.ts +65 -0
  49. package/src/cli/cli.ts +25 -0
  50. package/src/cli/code-mode.ts +254 -0
  51. package/src/cli/run-command.js +682 -0
  52. package/src/index.ts +178 -0
  53. package/src/kubernetes/BaseResourceOperations.ts +286 -0
  54. package/src/kubernetes/CircuitBreaker.ts +485 -0
  55. package/src/kubernetes/ConnectionManager.ts +114 -0
  56. package/src/kubernetes/ConnectionPool.ts +551 -0
  57. package/src/kubernetes/ErrorHandler.ts +436 -0
  58. package/src/kubernetes/ErrorHandling.ts +401 -0
  59. package/src/kubernetes/KubernetesClient.ts +653 -0
  60. package/src/kubernetes/README.md +349 -0
  61. package/src/kubernetes/ResourceOperations.ts +116 -0
  62. package/src/kubernetes/RetryStrategy.ts +372 -0
  63. package/src/kubernetes/RetryableOperation.ts +313 -0
  64. package/src/kubernetes/docs/ResourceOperations.md +606 -0
  65. package/src/kubernetes/index.ts +116 -0
  66. package/src/kubernetes/resources/ConfigMapOperations.ts +368 -0
  67. package/src/kubernetes/resources/CustomResourceOperations.ts +392 -0
  68. package/src/kubernetes/resources/DeploymentOperations.ts +294 -0
  69. package/src/kubernetes/resources/HelmReleaseOperations.ts +536 -0
  70. package/src/kubernetes/resources/IngressOperations.ts +277 -0
  71. package/src/kubernetes/resources/MetricOperations.ts +1734 -0
  72. package/src/kubernetes/resources/NamespaceOperations.ts +129 -0
  73. package/src/kubernetes/resources/PersistentVolumeClaimOperations.ts +516 -0
  74. package/src/kubernetes/resources/PersistentVolumeOperations.ts +438 -0
  75. package/src/kubernetes/resources/PodOperations.ts +424 -0
  76. package/src/kubernetes/resources/SecretOperations.ts +314 -0
  77. package/src/kubernetes/resources/ServiceOperations.ts +283 -0
  78. package/src/kubernetes/utils/ResourceUtils.ts +553 -0
  79. package/src/plugins/ArgoCDToolsPlugin.ts +129 -0
  80. package/src/plugins/ArgoToolsPlugin.ts +130 -0
  81. package/src/plugins/BaseToolsPlugin.ts +148 -0
  82. package/src/plugins/HelmToolsPlugin.ts +129 -0
  83. package/src/plugins/KubernetesToolsPlugin.ts +232 -0
  84. package/src/plugins/SamplePlugin.ts +59 -0
  85. package/src/plugins/index.ts +4 -0
  86. package/src/server/MCPServer.ts +900 -0
  87. package/src/server/StreamableHttpRuntime.ts +391 -0
  88. package/src/server/TransportConfig.ts +95 -0
  89. package/src/tools/RunCodeTool.ts +777 -0
  90. package/src/tools/argo/ArgoCronListTool.ts +140 -0
  91. package/src/tools/argo/ArgoGetTool.ts +138 -0
  92. package/src/tools/argo/ArgoListTool.ts +262 -0
  93. package/src/tools/argo/ArgoLogsTool.ts +307 -0
  94. package/src/tools/argo/BaseTool.ts +104 -0
  95. package/src/tools/argo/index.ts +11 -0
  96. package/src/tools/argocd/ArgoCDAppGetTool.ts +109 -0
  97. package/src/tools/argocd/ArgoCDAppHistoryTool.ts +91 -0
  98. package/src/tools/argocd/ArgoCDAppListTool.ts +144 -0
  99. package/src/tools/argocd/ArgoCDAppResourcesTool.ts +139 -0
  100. package/src/tools/argocd/ArgoCDAppTool.ts +819 -0
  101. package/src/tools/argocd/BaseTool.ts +89 -0
  102. package/src/tools/argocd/index.ts +3 -0
  103. package/src/tools/helm/BaseTool.ts +61 -0
  104. package/src/tools/helm/HelmDebugTool.ts +486 -0
  105. package/src/tools/helm/HelmGetHooksTool.ts +45 -0
  106. package/src/tools/helm/HelmGetManifestTool.ts +45 -0
  107. package/src/tools/helm/HelmGetNotesTool.ts +45 -0
  108. package/src/tools/helm/HelmGetResourcesTool.ts +141 -0
  109. package/src/tools/helm/HelmGetTool.ts +260 -0
  110. package/src/tools/helm/HelmGetValuesTool.ts +71 -0
  111. package/src/tools/helm/HelmHistoryTool.ts +57 -0
  112. package/src/tools/helm/HelmListTool.ts +144 -0
  113. package/src/tools/helm/HelmListWithResourcesTool.ts +195 -0
  114. package/src/tools/helm/HelmStatusTool.ts +63 -0
  115. package/src/tools/helm/index.ts +5 -0
  116. package/src/tools/kubernetes/BaseTool.ts +76 -0
  117. package/src/tools/kubernetes/ExecTool.ts +308 -0
  118. package/src/tools/kubernetes/GetConfigMapTool.ts +33 -0
  119. package/src/tools/kubernetes/GetContainerLogsTool.ts +155 -0
  120. package/src/tools/kubernetes/GetCronJobsTool.ts +47 -0
  121. package/src/tools/kubernetes/GetDaemonSetsTool.ts +55 -0
  122. package/src/tools/kubernetes/GetDeploymentsTool.ts +33 -0
  123. package/src/tools/kubernetes/GetEndpointSlicesTool.ts +57 -0
  124. package/src/tools/kubernetes/GetEndpointsTool.ts +53 -0
  125. package/src/tools/kubernetes/GetEventsTool.ts +133 -0
  126. package/src/tools/kubernetes/GetHPATool.ts +48 -0
  127. package/src/tools/kubernetes/GetIngressTool.ts +39 -0
  128. package/src/tools/kubernetes/GetJobsTool.ts +54 -0
  129. package/src/tools/kubernetes/GetLimitRangesTool.ts +40 -0
  130. package/src/tools/kubernetes/GetMetricsTool.ts +61 -0
  131. package/src/tools/kubernetes/GetNamespacesTool.ts +36 -0
  132. package/src/tools/kubernetes/GetNodesTool.ts +55 -0
  133. package/src/tools/kubernetes/GetPDBTool.ts +48 -0
  134. package/src/tools/kubernetes/GetPersistentVolumeClaimsTool.ts +113 -0
  135. package/src/tools/kubernetes/GetPersistentVolumesTool.ts +107 -0
  136. package/src/tools/kubernetes/GetPodMetricsTool.ts +113 -0
  137. package/src/tools/kubernetes/GetPodsTool.ts +39 -0
  138. package/src/tools/kubernetes/GetReplicaSetsTool.ts +51 -0
  139. package/src/tools/kubernetes/GetResourceQuotaTool.ts +55 -0
  140. package/src/tools/kubernetes/GetResourceTool.ts +1296 -0
  141. package/src/tools/kubernetes/GetSecretsTool.ts +55 -0
  142. package/src/tools/kubernetes/GetServicesTool.ts +39 -0
  143. package/src/tools/kubernetes/GetStatefulSetsTool.ts +55 -0
  144. package/src/tools/kubernetes/KubeListTool.ts +1708 -0
  145. package/src/tools/kubernetes/KubeLogTool.ts +1063 -0
  146. package/src/tools/kubernetes/KubeMetricsTool.ts +220 -0
  147. package/src/tools/kubernetes/KubeNetTool.ts +481 -0
  148. package/src/tools/kubernetes/PortForwardTool.ts +307 -0
  149. package/src/tools/kubernetes/index.ts +10 -0
  150. package/src/tools/meta/PlanStepTool.ts +130 -0
  151. package/src/utils/CliUtils.ts +218 -0
  152. package/src/utils/CodeModeConfig.ts +47 -0
  153. package/src/utils/HelmDataParser.ts +230 -0
  154. package/src/utils/HelmLiveResources.ts +607 -0
  155. package/src/utils/McpToolResult.ts +32 -0
  156. package/src/utils/SensitiveData.ts +148 -0
  157. package/src/utils/toolNamespaces.ts +41 -0
  158. package/src/version.ts +2 -0
  159. package/tsconfig.json +37 -0
package/CHANGELOG.md CHANGED
@@ -7,12 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.9.1] - 2026-06-13
11
+
12
+ ### Fixed
13
+ - **(fix) Fix the launch issue for claude desktop**
14
+
15
+
16
+ ## [1.9.0] - 2026-06-02
17
+
18
+ ### Added
19
+ - **Add robust HelmDebugTool for enhanced Helm release diagnostics**
20
+
10
21
  ## [1.8.2] - 2026-05-26
11
22
 
12
23
  ### Changed
13
24
  - **Enhance MCP publishing workflow by adding home directory support for token management and login checks. Update qs to 6.15.2 for improved security.**
14
25
 
15
-
16
26
  ## [1.8.1] - 2026-05-19
17
27
 
18
28
  ### Changed
@@ -52,11 +52,11 @@ class KubeMCPCLI {
52
52
  const nodeModulesPath = path.join(this.projectRoot, 'node_modules');
53
53
  if (!fs.existsSync(nodeModulesPath)) {
54
54
  this.log('📦 Installing dependencies...', colors.blue);
55
- execSync('npm install', { cwd: this.projectRoot, stdio: 'inherit' });
55
+ this.runCommandForMcpStartup('npm install');
56
56
  }
57
57
 
58
58
  // Build the project
59
- execSync('npm run build', { cwd: this.projectRoot, stdio: 'inherit' });
59
+ this.runCommandForMcpStartup('npm run build');
60
60
  this.log('✅ Build completed successfully', colors.green);
61
61
  } catch (buildError) {
62
62
  this.error('❌ Build failed:');
@@ -66,6 +66,23 @@ class KubeMCPCLI {
66
66
  }
67
67
  }
68
68
 
69
+ runCommandForMcpStartup(command) {
70
+ try {
71
+ execSync(command, {
72
+ cwd: this.projectRoot,
73
+ stdio: ['ignore', 'pipe', 'pipe'],
74
+ });
75
+ } catch (error) {
76
+ if (error.stdout) {
77
+ process.stderr.write(error.stdout);
78
+ }
79
+ if (error.stderr) {
80
+ process.stderr.write(error.stderr);
81
+ }
82
+ throw error;
83
+ }
84
+ }
85
+
69
86
  // Display help information
70
87
  displayHelp() {
71
88
  this.log('Kube MCP - Kubernetes MCP Server', colors.cyan);
@@ -1 +1 @@
1
- {"version":3,"file":"HelmToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/HelmToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAChE,IAAI,SAAgB;IAEpB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,SAAS,CAAC,mBAAmB,IAAI,YAAY,EAAE;IAI/C,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B,SAAS,CAAC,UAAU,IAAI,OAAO;WAMlB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CzF,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAUpC,mBAAmB;IAYjC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;IAUxE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
1
+ {"version":3,"file":"HelmToolsPlugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/HelmToolsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,eAAe,CAAC,YAAY,CAAC;IAChE,IAAI,SAAgB;IAEpB,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IAEjD,SAAS,CAAC,mBAAmB,IAAI,YAAY,EAAE;IAI/C,MAAM,CAAC,eAAe,IAAI,MAAM,EAAE;IAIlC,OAAO,CAAC,MAAM,CAAC,YAAY;IAgB3B,SAAS,CAAC,UAAU,IAAI,OAAO;WAMlB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CzF,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;YAUpC,mBAAmB;IAYjC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;IAUxE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
@@ -1,5 +1,5 @@
1
1
  import winston from 'winston';
2
- import { HelmListTool, HelmGetTool } from '../tools/helm/index.js';
2
+ import { HelmListTool, HelmGetTool, HelmDebugTool, } from '../tools/helm/index.js';
3
3
  import { BaseToolsPlugin } from './BaseToolsPlugin.js';
4
4
  import { KubernetesToolsPlugin } from './KubernetesToolsPlugin.js';
5
5
  /**
@@ -9,7 +9,7 @@ export class HelmToolsPlugin extends BaseToolsPlugin {
9
9
  name = 'helm-tools';
10
10
  kubernetesPlugin;
11
11
  createToolInstances() {
12
- return [new HelmListTool(), new HelmGetTool()];
12
+ return [new HelmListTool(), new HelmGetTool(), new HelmDebugTool()];
13
13
  }
14
14
  static getCommandNames() {
15
15
  return new HelmToolsPlugin().createToolInstances().map((tool) => tool.tool.name);
@@ -1 +1 @@
1
- {"version":3,"file":"HelmToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/HelmToolsPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HelmToolsPlugin.js","sourceRoot":"","sources":["../../../src/plugins/HelmToolsPlugin.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAEL,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,eAA6B;IAChE,IAAI,GAAG,YAAY,CAAC;IAEZ,gBAAgB,CAAyB;IAEvC,mBAAmB;QAC3B,OAAO,CAAC,IAAI,YAAY,EAAE,EAAE,IAAI,WAAW,EAAE,EAAE,IAAI,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,eAAe,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAEO,MAAM,CAAC,YAAY;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,OAAO,CAAC,YAAY,CAAC;YAC1B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;YAChC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjF,UAAU,EAAE;gBACV,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBAC7B,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;oBACpE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBACnF,CAAC;aACH;SACF,CAAC,CAAC;IACL,CAAC;IAES,UAAU;QAClB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,WAAmB,EAAE,MAA+B;QAC9E,IACE,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,MAAM;YAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,EAC3C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/C,MAAM,CAAC,eAAe,EAAE,CAAC;QAEzB,IAAI,MAAoC,CAAC;QACzC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAC9C,MAAM,GAAG,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,2BAA2B,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,MAAa,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC7E,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,WAAW,WAAW,yBAAyB,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,WAAW,WAAW,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAiB;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACvD,IAAI,SAAS,YAAY,qBAAqB,EAAE,CAAC;YAC/C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,4DAA4D,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5F,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,iBAAiB,CAAC,IAAkB;QAC5C,OAAO,KAAK,EAAE,MAAW,EAAE,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;YACxC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACxD,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { KubernetesClient } from '../../kubernetes/KubernetesClient.js';
3
+ import { HelmBaseTool } from './BaseTool.js';
4
+ /**
5
+ * High-signal Helm release diagnostics backed by native Kubernetes API reads.
6
+ */
7
+ export declare class HelmDebugTool implements HelmBaseTool {
8
+ tool: Tool;
9
+ execute(params: any, client?: KubernetesClient): Promise<any>;
10
+ private buildDiagnosis;
11
+ private diagnosisSummary;
12
+ private summarizeByKindAndState;
13
+ private extractWorkloads;
14
+ private isIssue;
15
+ private toIssue;
16
+ private toWorkloadSignal;
17
+ private toResourceSummary;
18
+ private statusFacts;
19
+ private summarizePodSignals;
20
+ private buildEventMap;
21
+ private resourceKey;
22
+ private compactObject;
23
+ private maskValuesIfNeeded;
24
+ }
25
+ //# sourceMappingURL=HelmDebugTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelmDebugTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/helm/HelmDebugTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAYxE,OAAO,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAEhE;;GAEG;AACH,qBAAa,aAAc,YAAW,YAAY;IAChD,IAAI,EAAE,IAAI,CA8DR;IAEI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA8FnE,OAAO,CAAC,cAAc;IA6BtB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,OAAO;IAiBf,OAAO,CAAC,OAAO;IA8Bf,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,WAAW;IA2EnB,OAAO,CAAC,mBAAmB;IAwC3B,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,kBAAkB;CAa3B"}
@@ -0,0 +1,405 @@
1
+ import { HelmReleaseOperations } from '../../kubernetes/resources/HelmReleaseOperations.js';
2
+ import { getHelmLiveResources, getHelmResourceEvents, summarizeHelmResourceHealth, } from '../../utils/HelmLiveResources.js';
3
+ import { isSensitiveMaskEnabled, maskTextForSensitiveValues } from '../../utils/SensitiveData.js';
4
+ import { HelmCommonSchemas } from './BaseTool.js';
5
+ /**
6
+ * High-signal Helm release diagnostics backed by native Kubernetes API reads.
7
+ */
8
+ export class HelmDebugTool {
9
+ tool = {
10
+ name: 'helm_debug',
11
+ description: 'Debug a Helm release by combining stored release data, live Kubernetes resource state, workload readiness, and correlated warning events.',
12
+ inputSchema: {
13
+ type: 'object',
14
+ properties: {
15
+ releaseName: HelmCommonSchemas.releaseName,
16
+ namespace: HelmCommonSchemas.namespace,
17
+ revision: HelmCommonSchemas.revision,
18
+ includeEvents: {
19
+ type: 'boolean',
20
+ description: 'Include recent Kubernetes events correlated to release resources',
21
+ optional: true,
22
+ default: true,
23
+ },
24
+ includeHistory: {
25
+ type: 'boolean',
26
+ description: 'Include Helm release revision history',
27
+ optional: true,
28
+ default: true,
29
+ },
30
+ historyLimit: {
31
+ type: 'number',
32
+ description: 'Maximum number of Helm release history entries to return',
33
+ optional: true,
34
+ default: 5,
35
+ },
36
+ includeValues: {
37
+ type: 'boolean',
38
+ description: 'Include computed Helm release values',
39
+ optional: true,
40
+ default: false,
41
+ },
42
+ includeManifest: {
43
+ type: 'boolean',
44
+ description: 'Include the rendered Helm manifest',
45
+ optional: true,
46
+ default: false,
47
+ },
48
+ eventLimit: {
49
+ type: 'number',
50
+ description: 'Maximum number of correlated events to return',
51
+ optional: true,
52
+ default: 10,
53
+ },
54
+ showAllResources: {
55
+ type: 'boolean',
56
+ description: 'Include concise state summaries for every rendered release resource',
57
+ optional: true,
58
+ default: false,
59
+ },
60
+ showRawKubernetesData: {
61
+ type: 'boolean',
62
+ description: 'Include raw live Kubernetes spec, status, labels, and annotations for deep inspection',
63
+ optional: true,
64
+ default: false,
65
+ },
66
+ },
67
+ required: ['releaseName'],
68
+ },
69
+ };
70
+ async execute(params, client) {
71
+ if (!client) {
72
+ throw new Error('helm_debug requires a Kubernetes client for native live resource lookup');
73
+ }
74
+ const { releaseName, namespace, revision, includeEvents = true, includeHistory = true, historyLimit = 5, includeValues = false, includeManifest = false, eventLimit = 10, showAllResources = false, showRawKubernetesData = false, } = params || {};
75
+ try {
76
+ await client.refreshCurrentContext();
77
+ const resolvedNamespace = namespace || client.getCurrentNamespace() || 'default';
78
+ const helmOps = new HelmReleaseOperations(client);
79
+ const release = await helmOps.getRelease({
80
+ releaseName,
81
+ namespace: resolvedNamespace,
82
+ revision,
83
+ });
84
+ const manifest = release.release.manifest || '';
85
+ const resources = await getHelmLiveResources(client, manifest, resolvedNamespace);
86
+ const events = includeEvents
87
+ ? await getHelmResourceEvents(client, resources, Number(eventLimit) || 10)
88
+ : [];
89
+ const warningEvents = events.filter((event) => event.type === 'Warning');
90
+ const health = summarizeHelmResourceHealth(resources, events);
91
+ const eventMap = this.buildEventMap(warningEvents);
92
+ const allUnsupported = resources.length > 0 && resources.every((resource) => resource.state === 'unsupported');
93
+ const issues = resources
94
+ .filter((resource) => this.isIssue(resource, eventMap, allUnsupported))
95
+ .map((resource) => this.toIssue(resource, eventMap, showRawKubernetesData));
96
+ const result = {
97
+ diagnosis: this.buildDiagnosis(health, resources, issues),
98
+ release: {
99
+ ...release.summary,
100
+ description: release.release.info?.description || '',
101
+ hasNotes: Boolean(release.release.info?.notes),
102
+ storageBackend: release.storageBackend,
103
+ },
104
+ health,
105
+ issues,
106
+ workloads: this.extractWorkloads(resources, showRawKubernetesData),
107
+ };
108
+ if (includeEvents) {
109
+ result.events = warningEvents;
110
+ }
111
+ if (includeHistory) {
112
+ const history = await helmOps.getReleaseHistory({
113
+ releaseName,
114
+ namespace: resolvedNamespace,
115
+ });
116
+ result.history = history.slice(0, Number(historyLimit) || 5).map((entry) => ({
117
+ revision: entry.revision,
118
+ updated: entry.updated,
119
+ status: entry.status,
120
+ chart: entry.chart,
121
+ app_version: entry.app_version,
122
+ description: entry.description,
123
+ }));
124
+ }
125
+ if (showAllResources) {
126
+ result.resources = resources.map((resource) => this.toResourceSummary(resource, eventMap, showRawKubernetesData));
127
+ }
128
+ if (includeValues) {
129
+ result.values = this.maskValuesIfNeeded(await helmOps.getReleaseValues({ releaseName, namespace: resolvedNamespace, revision }, true));
130
+ }
131
+ if (includeManifest) {
132
+ result.manifest = manifest;
133
+ }
134
+ return result;
135
+ }
136
+ catch (error) {
137
+ throw new Error(`Failed to debug Helm release '${releaseName}': ${error.message}`);
138
+ }
139
+ }
140
+ buildDiagnosis(health, resources, issues) {
141
+ const issueCounts = {
142
+ total: issues.length,
143
+ missing: health.missing,
144
+ degraded: health.degraded,
145
+ unknown: health.unknown,
146
+ warningBacked: issues.filter((issue) => issue.warningEvents > 0).length,
147
+ };
148
+ const byKindAndState = this.summarizeByKindAndState(resources);
149
+ const nextTargets = issues.slice(0, 5).map((issue) => ({
150
+ kind: issue.kind,
151
+ name: issue.name,
152
+ namespace: issue.namespace,
153
+ reason: issue.reason || issue.state,
154
+ }));
155
+ return {
156
+ overall: health.overall,
157
+ summary: this.diagnosisSummary(health, issueCounts),
158
+ issueCounts,
159
+ byKindAndState,
160
+ nextTargets,
161
+ };
162
+ }
163
+ diagnosisSummary(health, issueCounts) {
164
+ if (health.overall === 'healthy') {
165
+ return `Release appears healthy: ${health.ready}/${health.supported} supported resources are ready.`;
166
+ }
167
+ if (health.overall === 'missing') {
168
+ return `Release has missing resources: ${health.missing} expected resource(s) were not found.`;
169
+ }
170
+ if (health.overall === 'degraded') {
171
+ return `Release is degraded: ${issueCounts.total} issue(s), ${health.warningEvents} warning event(s).`;
172
+ }
173
+ return `Release health is unknown: ${health.unknown} resource lookup(s) need follow-up.`;
174
+ }
175
+ summarizeByKindAndState(resources) {
176
+ const summary = {};
177
+ for (const resource of resources) {
178
+ const kind = resource.ref.kind;
179
+ summary[kind] ||= {};
180
+ summary[kind][resource.state] = (summary[kind][resource.state] || 0) + 1;
181
+ }
182
+ return summary;
183
+ }
184
+ extractWorkloads(resources, showRawKubernetesData) {
185
+ const workloadKinds = new Set([
186
+ 'Pod',
187
+ 'Deployment',
188
+ 'StatefulSet',
189
+ 'DaemonSet',
190
+ 'ReplicaSet',
191
+ 'Job',
192
+ 'CronJob',
193
+ ]);
194
+ return resources
195
+ .filter((resource) => workloadKinds.has(resource.ref.kind) && resource.state !== 'ready')
196
+ .map((resource) => this.toWorkloadSignal(resource, showRawKubernetesData));
197
+ }
198
+ isIssue(resource, eventMap, allUnsupported) {
199
+ const warningEvents = eventMap.get(this.resourceKey(resource)) || [];
200
+ if (warningEvents.length > 0) {
201
+ return true;
202
+ }
203
+ if (resource.state === 'unsupported') {
204
+ return allUnsupported;
205
+ }
206
+ return (resource.state === 'missing' || resource.state === 'degraded' || resource.state === 'unknown');
207
+ }
208
+ toIssue(resource, eventMap, showRawKubernetesData) {
209
+ const warningEvents = eventMap.get(this.resourceKey(resource)) || [];
210
+ const issue = {
211
+ kind: resource.ref.kind,
212
+ name: resource.ref.name,
213
+ namespace: resource.ref.namespace,
214
+ state: resource.state,
215
+ reason: resource.reason,
216
+ message: resource.message,
217
+ warningEvents: warningEvents.length,
218
+ evidence: this.statusFacts(resource),
219
+ };
220
+ if (warningEvents.length > 0) {
221
+ issue.latestWarnings = warningEvents.slice(0, 3).map((event) => ({
222
+ timestamp: event.timestamp,
223
+ reason: event.reason,
224
+ message: event.message,
225
+ count: event.count,
226
+ }));
227
+ }
228
+ if (showRawKubernetesData) {
229
+ issue.rawKubernetesData = resource.live;
230
+ }
231
+ return issue;
232
+ }
233
+ toWorkloadSignal(resource, showRawKubernetesData) {
234
+ const signal = {
235
+ kind: resource.ref.kind,
236
+ name: resource.ref.name,
237
+ namespace: resource.ref.namespace,
238
+ state: resource.state,
239
+ reason: resource.reason,
240
+ message: resource.message,
241
+ readiness: this.statusFacts(resource),
242
+ pods: this.summarizePodSignals(resource.pods || []),
243
+ };
244
+ if (showRawKubernetesData) {
245
+ signal.rawKubernetesData = resource.live;
246
+ }
247
+ return signal;
248
+ }
249
+ toResourceSummary(resource, eventMap, showRawKubernetesData) {
250
+ const summary = {
251
+ kind: resource.ref.kind,
252
+ apiVersion: resource.ref.apiVersion,
253
+ name: resource.ref.name,
254
+ namespace: resource.ref.namespace,
255
+ state: resource.state,
256
+ reason: resource.reason,
257
+ message: resource.message,
258
+ warningEvents: (eventMap.get(this.resourceKey(resource)) || []).length,
259
+ evidence: this.statusFacts(resource),
260
+ };
261
+ if (showRawKubernetesData) {
262
+ summary.rawKubernetesData = resource.live;
263
+ }
264
+ return summary;
265
+ }
266
+ statusFacts(resource) {
267
+ const status = resource.live?.status || {};
268
+ const spec = resource.live?.spec || {};
269
+ switch (resource.ref.kind) {
270
+ case 'Deployment':
271
+ case 'ReplicaSet':
272
+ case 'StatefulSet':
273
+ return this.compactObject({
274
+ desiredReplicas: spec.replicas,
275
+ replicas: status.replicas,
276
+ readyReplicas: status.readyReplicas,
277
+ availableReplicas: status.availableReplicas,
278
+ updatedReplicas: status.updatedReplicas,
279
+ });
280
+ case 'DaemonSet':
281
+ return this.compactObject({
282
+ desiredNumberScheduled: status.desiredNumberScheduled,
283
+ numberReady: status.numberReady,
284
+ numberAvailable: status.numberAvailable,
285
+ updatedNumberScheduled: status.updatedNumberScheduled,
286
+ });
287
+ case 'Job':
288
+ return this.compactObject({
289
+ completions: spec.completions,
290
+ active: status.active,
291
+ succeeded: status.succeeded,
292
+ failed: status.failed,
293
+ });
294
+ case 'CronJob':
295
+ return this.compactObject({
296
+ suspend: spec.suspend,
297
+ active: Array.isArray(status.active) ? status.active.length : undefined,
298
+ lastScheduleTime: status.lastScheduleTime,
299
+ lastSuccessfulTime: status.lastSuccessfulTime,
300
+ });
301
+ case 'Pod':
302
+ return this.compactObject({
303
+ phase: status.phase,
304
+ podIP: status.podIP,
305
+ nodeName: spec.nodeName,
306
+ });
307
+ case 'PersistentVolumeClaim':
308
+ return this.compactObject({
309
+ phase: status.phase,
310
+ accessModes: status.accessModes,
311
+ capacity: status.capacity,
312
+ });
313
+ case 'Service':
314
+ return this.compactObject({
315
+ type: spec.type,
316
+ clusterIP: spec.clusterIP,
317
+ externalName: spec.externalName,
318
+ loadBalancerIngress: status.loadBalancer?.ingress,
319
+ });
320
+ case 'Ingress':
321
+ return this.compactObject({
322
+ loadBalancerIngress: status.loadBalancer?.ingress,
323
+ });
324
+ case 'HorizontalPodAutoscaler':
325
+ return this.compactObject({
326
+ currentReplicas: status.currentReplicas,
327
+ desiredReplicas: status.desiredReplicas,
328
+ currentMetrics: status.currentMetrics,
329
+ });
330
+ case 'PodDisruptionBudget':
331
+ return this.compactObject({
332
+ currentHealthy: status.currentHealthy,
333
+ desiredHealthy: status.desiredHealthy,
334
+ disruptionsAllowed: status.disruptionsAllowed,
335
+ });
336
+ default:
337
+ return {};
338
+ }
339
+ }
340
+ summarizePodSignals(pods) {
341
+ const phaseCounts = {};
342
+ const waitingReasons = new Set();
343
+ const terminatedReasons = new Set();
344
+ let restartTotal = 0;
345
+ const problematicPods = [];
346
+ for (const pod of pods) {
347
+ const phase = pod.phase || 'Unknown';
348
+ phaseCounts[phase] = (phaseCounts[phase] || 0) + 1;
349
+ restartTotal += pod.restarts;
350
+ pod.waitingReasons.forEach((reason) => waitingReasons.add(reason));
351
+ pod.terminatedReasons.forEach((reason) => terminatedReasons.add(reason));
352
+ if (!pod.ready ||
353
+ pod.restarts > 0 ||
354
+ pod.waitingReasons.length > 0 ||
355
+ pod.terminatedReasons.length > 0) {
356
+ problematicPods.push({
357
+ name: pod.name,
358
+ phase: pod.phase,
359
+ ready: pod.ready,
360
+ restarts: pod.restarts,
361
+ waitingReasons: pod.waitingReasons,
362
+ terminatedReasons: pod.terminatedReasons,
363
+ });
364
+ }
365
+ }
366
+ return {
367
+ total: pods.length,
368
+ phaseCounts,
369
+ restartTotal,
370
+ waitingReasons: Array.from(waitingReasons),
371
+ terminatedReasons: Array.from(terminatedReasons),
372
+ problematicPods: problematicPods.slice(0, 10),
373
+ };
374
+ }
375
+ buildEventMap(events) {
376
+ const map = new Map();
377
+ for (const event of events) {
378
+ const key = `${event.involvedObject.namespace || 'default'}/${event.involvedObject.kind}/${event.involvedObject.name}`;
379
+ const existing = map.get(key) || [];
380
+ existing.push(event);
381
+ map.set(key, existing);
382
+ }
383
+ return map;
384
+ }
385
+ resourceKey(resource) {
386
+ return `${resource.ref.namespace || 'default'}/${resource.ref.kind}/${resource.ref.name}`;
387
+ }
388
+ compactObject(input) {
389
+ return Object.fromEntries(Object.entries(input).filter(([, value]) => value !== undefined && value !== null));
390
+ }
391
+ maskValuesIfNeeded(result) {
392
+ if (!isSensitiveMaskEnabled()) {
393
+ return result;
394
+ }
395
+ const json = JSON.stringify(result, null, 2);
396
+ const masked = maskTextForSensitiveValues(json);
397
+ try {
398
+ return JSON.parse(masked);
399
+ }
400
+ catch {
401
+ return masked;
402
+ }
403
+ }
404
+ }
405
+ //# sourceMappingURL=HelmDebugTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelmDebugTool.js","sourceRoot":"","sources":["../../../../src/tools/helm/HelmDebugTool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelmGetTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/helm/HelmGetTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EACL,YAAY,EAIb,MAAM,eAAe,CAAC;AAGvB;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,IAAI,EAAE,IAAI,CAsCR;IAEI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAmKnE,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,kBAAkB;CAsB3B"}
1
+ {"version":3,"file":"HelmGetTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/helm/HelmGetTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,EACL,YAAY,EAIb,MAAM,eAAe,CAAC;AAIvB;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,IAAI,EAAE,IAAI,CA2CR;IAEI,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA2KnE,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,kBAAkB;CAsB3B"}
@@ -2,6 +2,7 @@ import { HelmReleaseOperations } from '../../kubernetes/resources/HelmReleaseOpe
2
2
  import { parseManifestResources } from '../../utils/HelmDataParser.js';
3
3
  import { HelmCommonSchemas, executeHelmCommand, validateHelmCLI, } from './BaseTool.js';
4
4
  import { isSensitiveMaskEnabled, maskTextForSensitiveValues } from '../../utils/SensitiveData.js';
5
+ import { getHelmLiveResources } from '../../utils/HelmLiveResources.js';
5
6
  /**
6
7
  * Helm "get" tool covering values, manifest, notes, hooks, and resources.
7
8
  */
@@ -39,12 +40,17 @@ export class HelmGetTool {
39
40
  description: 'Show the resources this release created (only for what=status)',
40
41
  optional: true,
41
42
  },
43
+ live: {
44
+ type: 'boolean',
45
+ description: 'Fetch live Kubernetes resource state when what=resources',
46
+ optional: true,
47
+ },
42
48
  },
43
49
  required: ['what', 'releaseName'],
44
50
  },
45
51
  };
46
52
  async execute(params, client) {
47
- const { what, releaseName, namespace, revision, outputFormat, allValues, resourceType, showResources, } = params || {};
53
+ const { what, releaseName, namespace, revision, outputFormat, allValues, resourceType, showResources, live, } = params || {};
48
54
  let apiError;
49
55
  if (client) {
50
56
  try {
@@ -87,6 +93,9 @@ export class HelmGetTool {
87
93
  namespace: resolvedNamespace,
88
94
  revision,
89
95
  });
96
+ if (live) {
97
+ return await getHelmLiveResources(client, manifest, resolvedNamespace, resourceType);
98
+ }
90
99
  return parseManifestResources(manifest, resourceType);
91
100
  }
92
101
  case 'status': {
@@ -104,7 +113,7 @@ export class HelmGetTool {
104
113
  notes: release.release.info?.notes || '',
105
114
  };
106
115
  if (showResources) {
107
- status.resources = parseManifestResources(release.release.manifest || '');
116
+ status.resources = await getHelmLiveResources(client, release.release.manifest || '', resolvedNamespace);
108
117
  }
109
118
  return status;
110
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HelmGetTool.js","sourceRoot":"","sources":["../../../../src/tools/helm/HelmGetTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HelmGetTool.js","sourceRoot":"","sources":["../../../../src/tools/helm/HelmGetTool.ts"],"names":[],"mappings":"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"}