@calltelemetry/ct-lab-mcp 0.1.5 → 0.3.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 (179) hide show
  1. package/README.md +29 -1
  2. package/dist/bin/ct-lab-mcp.d.ts +3 -0
  3. package/dist/bin/ct-lab-mcp.d.ts.map +1 -1
  4. package/dist/bin/ct-lab-mcp.js +47 -8
  5. package/dist/bin/ct-lab-mcp.js.map +1 -1
  6. package/dist/src/appliance/commands.d.ts.map +1 -1
  7. package/dist/src/appliance/commands.js +24 -0
  8. package/dist/src/appliance/commands.js.map +1 -1
  9. package/dist/src/appliance/executor.d.ts.map +1 -1
  10. package/dist/src/appliance/executor.js +7 -1
  11. package/dist/src/appliance/executor.js.map +1 -1
  12. package/dist/src/appliance/mock.d.ts +6 -0
  13. package/dist/src/appliance/mock.d.ts.map +1 -1
  14. package/dist/src/appliance/mock.js +27 -6
  15. package/dist/src/appliance/mock.js.map +1 -1
  16. package/dist/src/appliance/types.d.ts +20 -1
  17. package/dist/src/appliance/types.d.ts.map +1 -1
  18. package/dist/src/appliance/types.js.map +1 -1
  19. package/dist/src/canonical/bridge.d.ts +28 -0
  20. package/dist/src/canonical/bridge.d.ts.map +1 -0
  21. package/dist/src/canonical/bridge.js +179 -0
  22. package/dist/src/canonical/bridge.js.map +1 -0
  23. package/dist/src/canonical/cli.d.ts +8 -0
  24. package/dist/src/canonical/cli.d.ts.map +1 -0
  25. package/dist/src/canonical/cli.js +9 -0
  26. package/dist/src/canonical/cli.js.map +1 -0
  27. package/dist/src/canonical/index.d.ts +4 -0
  28. package/dist/src/canonical/index.d.ts.map +1 -0
  29. package/dist/src/canonical/index.js +4 -0
  30. package/dist/src/canonical/index.js.map +1 -0
  31. package/dist/src/canonical/types.d.ts +32 -0
  32. package/dist/src/canonical/types.d.ts.map +1 -0
  33. package/dist/src/canonical/types.js +2 -0
  34. package/dist/src/canonical/types.js.map +1 -0
  35. package/dist/src/credentials/errors.d.ts +16 -0
  36. package/dist/src/credentials/errors.d.ts.map +1 -0
  37. package/dist/src/credentials/errors.js +21 -0
  38. package/dist/src/credentials/errors.js.map +1 -0
  39. package/dist/src/credentials/resolver.d.ts +16 -0
  40. package/dist/src/credentials/resolver.d.ts.map +1 -1
  41. package/dist/src/credentials/resolver.js +104 -10
  42. package/dist/src/credentials/resolver.js.map +1 -1
  43. package/dist/src/credentials/types.d.ts +8 -0
  44. package/dist/src/credentials/types.d.ts.map +1 -1
  45. package/dist/src/diagnostics/collector.d.ts +37 -0
  46. package/dist/src/diagnostics/collector.d.ts.map +1 -0
  47. package/dist/src/diagnostics/collector.js +452 -0
  48. package/dist/src/diagnostics/collector.js.map +1 -0
  49. package/dist/src/diagnostics/types.d.ts +103 -0
  50. package/dist/src/diagnostics/types.d.ts.map +1 -0
  51. package/dist/src/diagnostics/types.js +8 -0
  52. package/dist/src/diagnostics/types.js.map +1 -0
  53. package/dist/src/hypervisors/esxi/client.d.ts +1 -0
  54. package/dist/src/hypervisors/esxi/client.d.ts.map +1 -1
  55. package/dist/src/hypervisors/esxi/client.js +15 -3
  56. package/dist/src/hypervisors/esxi/client.js.map +1 -1
  57. package/dist/src/hypervisors/esxi/mock.d.ts +1 -0
  58. package/dist/src/hypervisors/esxi/mock.d.ts.map +1 -1
  59. package/dist/src/hypervisors/esxi/mock.js +4 -0
  60. package/dist/src/hypervisors/esxi/mock.js.map +1 -1
  61. package/dist/src/hypervisors/manager.d.ts.map +1 -1
  62. package/dist/src/hypervisors/manager.js +37 -3
  63. package/dist/src/hypervisors/manager.js.map +1 -1
  64. package/dist/src/hypervisors/proxmox/client.d.ts +13 -1
  65. package/dist/src/hypervisors/proxmox/client.d.ts.map +1 -1
  66. package/dist/src/hypervisors/proxmox/client.js +485 -4
  67. package/dist/src/hypervisors/proxmox/client.js.map +1 -1
  68. package/dist/src/hypervisors/proxmox/mock.d.ts +1 -0
  69. package/dist/src/hypervisors/proxmox/mock.d.ts.map +1 -1
  70. package/dist/src/hypervisors/proxmox/mock.js +4 -0
  71. package/dist/src/hypervisors/proxmox/mock.js.map +1 -1
  72. package/dist/src/hypervisors/types.d.ts +119 -2
  73. package/dist/src/hypervisors/types.d.ts.map +1 -1
  74. package/dist/src/index.d.ts +1 -0
  75. package/dist/src/index.d.ts.map +1 -1
  76. package/dist/src/index.js +1 -0
  77. package/dist/src/index.js.map +1 -1
  78. package/dist/src/proxmox/mock.d.ts +1 -1
  79. package/dist/src/proxmox/mock.d.ts.map +1 -1
  80. package/dist/src/proxmox/mock.js +103 -1
  81. package/dist/src/proxmox/mock.js.map +1 -1
  82. package/dist/src/server.d.ts +2 -0
  83. package/dist/src/server.d.ts.map +1 -1
  84. package/dist/src/server.js +4 -0
  85. package/dist/src/server.js.map +1 -1
  86. package/dist/src/slot/manager.d.ts +26 -1
  87. package/dist/src/slot/manager.d.ts.map +1 -1
  88. package/dist/src/slot/manager.js +278 -1
  89. package/dist/src/slot/manager.js.map +1 -1
  90. package/dist/src/slot/types.d.ts +49 -0
  91. package/dist/src/slot/types.d.ts.map +1 -1
  92. package/dist/src/slot/types.js +18 -0
  93. package/dist/src/slot/types.js.map +1 -1
  94. package/dist/src/tools/canonical-guard.d.ts +7 -0
  95. package/dist/src/tools/canonical-guard.d.ts.map +1 -0
  96. package/dist/src/tools/canonical-guard.js +38 -0
  97. package/dist/src/tools/canonical-guard.js.map +1 -0
  98. package/dist/src/tools/credential-status.d.ts +29 -0
  99. package/dist/src/tools/credential-status.d.ts.map +1 -0
  100. package/dist/src/tools/credential-status.js +81 -0
  101. package/dist/src/tools/credential-status.js.map +1 -0
  102. package/dist/src/tools/cube-provision.d.ts +288 -0
  103. package/dist/src/tools/cube-provision.d.ts.map +1 -0
  104. package/dist/src/tools/cube-provision.js +892 -0
  105. package/dist/src/tools/cube-provision.js.map +1 -0
  106. package/dist/src/tools/cube-tools.d.ts +137 -0
  107. package/dist/src/tools/cube-tools.d.ts.map +1 -0
  108. package/dist/src/tools/cube-tools.js +292 -0
  109. package/dist/src/tools/cube-tools.js.map +1 -0
  110. package/dist/src/tools/cucm-emulator-tool.d.ts +85 -0
  111. package/dist/src/tools/cucm-emulator-tool.d.ts.map +1 -0
  112. package/dist/src/tools/cucm-emulator-tool.js +191 -0
  113. package/dist/src/tools/cucm-emulator-tool.js.map +1 -0
  114. package/dist/src/tools/cucm-trunk.d.ts +165 -0
  115. package/dist/src/tools/cucm-trunk.d.ts.map +1 -0
  116. package/dist/src/tools/cucm-trunk.js +354 -0
  117. package/dist/src/tools/cucm-trunk.js.map +1 -0
  118. package/dist/src/tools/diagnostics.d.ts +58 -0
  119. package/dist/src/tools/diagnostics.d.ts.map +1 -0
  120. package/dist/src/tools/diagnostics.js +212 -0
  121. package/dist/src/tools/diagnostics.js.map +1 -0
  122. package/dist/src/tools/guest-agent.d.ts +34 -0
  123. package/dist/src/tools/guest-agent.d.ts.map +1 -0
  124. package/dist/src/tools/guest-agent.js +133 -0
  125. package/dist/src/tools/guest-agent.js.map +1 -0
  126. package/dist/src/tools/index.d.ts +11 -0
  127. package/dist/src/tools/index.d.ts.map +1 -1
  128. package/dist/src/tools/index.js +154 -1
  129. package/dist/src/tools/index.js.map +1 -1
  130. package/dist/src/tools/lab-preflight.d.ts +21 -0
  131. package/dist/src/tools/lab-preflight.d.ts.map +1 -0
  132. package/dist/src/tools/lab-preflight.js +22 -0
  133. package/dist/src/tools/lab-preflight.js.map +1 -0
  134. package/dist/src/tools/list-hosts.d.ts +11 -0
  135. package/dist/src/tools/list-hosts.d.ts.map +1 -1
  136. package/dist/src/tools/list-hosts.js.map +1 -1
  137. package/dist/src/tools/list-inventory.d.ts.map +1 -1
  138. package/dist/src/tools/list-inventory.js +21 -0
  139. package/dist/src/tools/list-inventory.js.map +1 -1
  140. package/dist/src/tools/network-tools.d.ts +65 -0
  141. package/dist/src/tools/network-tools.d.ts.map +1 -0
  142. package/dist/src/tools/network-tools.js +200 -0
  143. package/dist/src/tools/network-tools.js.map +1 -0
  144. package/dist/src/tools/provision-tools.d.ts.map +1 -1
  145. package/dist/src/tools/provision-tools.js +26 -0
  146. package/dist/src/tools/provision-tools.js.map +1 -1
  147. package/dist/src/tools/purge-slots.d.ts.map +1 -1
  148. package/dist/src/tools/purge-slots.js +4 -0
  149. package/dist/src/tools/purge-slots.js.map +1 -1
  150. package/dist/src/tools/server-management.d.ts +51 -0
  151. package/dist/src/tools/server-management.d.ts.map +1 -0
  152. package/dist/src/tools/server-management.js +175 -0
  153. package/dist/src/tools/server-management.js.map +1 -0
  154. package/dist/src/tools/slot-tools.d.ts.map +1 -1
  155. package/dist/src/tools/slot-tools.js +7 -0
  156. package/dist/src/tools/slot-tools.js.map +1 -1
  157. package/dist/src/tools/storage-tools.d.ts +177 -0
  158. package/dist/src/tools/storage-tools.d.ts.map +1 -1
  159. package/dist/src/tools/storage-tools.js +420 -0
  160. package/dist/src/tools/storage-tools.js.map +1 -1
  161. package/dist/src/tools/update-cli.d.ts +62 -0
  162. package/dist/src/tools/update-cli.d.ts.map +1 -0
  163. package/dist/src/tools/update-cli.js +142 -0
  164. package/dist/src/tools/update-cli.js.map +1 -0
  165. package/dist/src/tools/vm-action.d.ts +6 -6
  166. package/dist/src/tools/vm-action.d.ts.map +1 -1
  167. package/dist/src/tools/vm-action.js +7 -1
  168. package/dist/src/tools/vm-action.js.map +1 -1
  169. package/dist/src/types/mcp.d.ts +5 -1
  170. package/dist/src/types/mcp.d.ts.map +1 -1
  171. package/dist/src/types/mcp.js +14 -0
  172. package/dist/src/types/mcp.js.map +1 -1
  173. package/dist/src/types/proxmox.d.ts +1 -0
  174. package/dist/src/types/proxmox.d.ts.map +1 -1
  175. package/dist/src/utils/formatters.d.ts +7 -0
  176. package/dist/src/utils/formatters.d.ts.map +1 -1
  177. package/dist/src/utils/formatters.js +48 -5
  178. package/dist/src/utils/formatters.js.map +1 -1
  179. package/package.json +2 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/tools/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * QEMU Guest Agent & Tools Inspection MCP Tool
3
+ *
4
+ * Inspects QEMU Guest Agent / VMware Tools responsiveness, OS information,
5
+ * kernel version, hostname, and guest-assigned IP network interfaces.
6
+ */
7
+ import { z } from "zod";
8
+ import { ToolContext } from "./list-hosts.js";
9
+ import { CallToolResult } from "../types/mcp.js";
10
+ import { GuestAgentStatusReport } from "../hypervisors/types.js";
11
+ export declare const GetGuestAgentStatusInputShape: {
12
+ target: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
13
+ vmIdOrName: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
14
+ host: z.ZodOptional<z.ZodString>;
15
+ };
16
+ export declare const GetGuestAgentStatusInputSchema: z.ZodObject<{
17
+ target: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
18
+ vmIdOrName: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
19
+ host: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ target: string | number;
22
+ host?: string | undefined;
23
+ vmIdOrName?: string | number | undefined;
24
+ }, {
25
+ target: string | number;
26
+ host?: string | undefined;
27
+ vmIdOrName?: string | number | undefined;
28
+ }>;
29
+ export declare function handleGetGuestAgentStatus(args: Record<string, unknown>, context: ToolContext): Promise<CallToolResult>;
30
+ /**
31
+ * Format Guest Agent report into Markdown.
32
+ */
33
+ export declare function formatGuestAgentMarkdown(report: GuestAgentStatusReport): string;
34
+ //# sourceMappingURL=guest-agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-agent.d.ts","sourceRoot":"","sources":["../../../src/tools/guest-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAIjE,eAAO,MAAM,6BAA6B;;;;CAYzC,CAAC;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;EAA0C,CAAC;AAEtF,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAyEzB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CA0D/E"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * QEMU Guest Agent & Tools Inspection MCP Tool
3
+ *
4
+ * Inspects QEMU Guest Agent / VMware Tools responsiveness, OS information,
5
+ * kernel version, hostname, and guest-assigned IP network interfaces.
6
+ */
7
+ import { z } from "zod";
8
+ import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
9
+ import { telemetry } from "../telemetry/registry.js";
10
+ import { logger } from "../utils/logger.js";
11
+ export const GetGuestAgentStatusInputShape = {
12
+ target: z
13
+ .union([z.string().min(1), z.number().int().positive()])
14
+ .describe("Target VMID (e.g. 105, 104) or VM name/path."),
15
+ vmIdOrName: z
16
+ .union([z.string().min(1), z.number().int().positive()])
17
+ .optional()
18
+ .describe("Alias for target."),
19
+ host: z
20
+ .string()
21
+ .optional()
22
+ .describe("Target hypervisor host (e.g. 'proxmox-lab', 'proxmox-mini').")
23
+ };
24
+ export const GetGuestAgentStatusInputSchema = z.object(GetGuestAgentStatusInputShape);
25
+ export async function handleGetGuestAgentStatus(args, context) {
26
+ const target = (args.target || args.vmIdOrName || args.vmid);
27
+ if (!target) {
28
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'target' (VMID or VM name) is required.");
29
+ }
30
+ const hostName = args.host;
31
+ if (!context.hypervisorManager) {
32
+ return createToolErrorResult(ProxmoxErrorCode.UPSTREAM_API_ERROR, "Hypervisor manager is not initialized in context.");
33
+ }
34
+ try {
35
+ const driver = hostName
36
+ ? context.hypervisorManager.getDriver(hostName)
37
+ : (await context.hypervisorManager.findVm(target))?.driver;
38
+ if (!driver) {
39
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `Could not resolve hypervisor driver for VM '${target}'${hostName ? ` on host '${hostName}'` : ""}.`);
40
+ }
41
+ if (!driver.getGuestAgentStatus) {
42
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Guest Agent inspection is not supported on hypervisor '${driver.hostName}' (${driver.hypervisorType}).`);
43
+ }
44
+ const report = await driver.getGuestAgentStatus(target);
45
+ telemetry.emit({
46
+ event: "vm.power_action",
47
+ actor: "guest_agent_inspector",
48
+ status: report.isAlive ? "success" : "failure",
49
+ metadata: {
50
+ target,
51
+ host: driver.hostName,
52
+ isAlive: report.isAlive,
53
+ osName: report.osName
54
+ }
55
+ });
56
+ const markdown = formatGuestAgentMarkdown(report);
57
+ return {
58
+ content: [
59
+ {
60
+ type: "text",
61
+ text: markdown
62
+ }
63
+ ],
64
+ structuredContent: {
65
+ success: report.isAlive,
66
+ report
67
+ }
68
+ };
69
+ }
70
+ catch (err) {
71
+ const msg = err instanceof Error ? err.message : String(err);
72
+ logger.error(`Guest agent inspection error for VM '${target}': ${msg}`);
73
+ return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to inspect Guest Agent on VM '${target}': ${msg}`);
74
+ }
75
+ }
76
+ /**
77
+ * Format Guest Agent report into Markdown.
78
+ */
79
+ export function formatGuestAgentMarkdown(report) {
80
+ const statusEmoji = report.isAlive ? "🟢" : "⚪";
81
+ const lines = [
82
+ `### ${statusEmoji} Guest Agent Status: **${report.vmName}** (VMID: \`${report.vmId}\`)`,
83
+ ``,
84
+ `*Host:* **${report.hostName}** (\`${report.hypervisor}\`) | *Agent Health:* ${report.isAlive ? `🟢 **ACTIVE** (${report.pingLatencyMs ?? 0}ms latency)` : "⚪ **OFFLINE / NOT INSTALLED**"}`,
85
+ ``
86
+ ];
87
+ if (!report.isAlive) {
88
+ lines.push(`> ⚠️ **Warning:** The QEMU Guest Agent daemon is either not running inside the guest OS, or the virtual serial channel is offline.`);
89
+ if (report.error) {
90
+ lines.push(`> *Error:* \`${report.error}\``);
91
+ }
92
+ lines.push(``);
93
+ return lines.join("\n");
94
+ }
95
+ if (report.primaryIp) {
96
+ lines.push(`> 🎯 **Primary Management IP:** \`${report.primaryIp}\` | **Primary MAC:** \`${report.primaryMac || "N/A"}\``);
97
+ lines.push(`> 🔑 **SSH Command:** \`${report.sshCommand || `ssh -p 2222 calltelemetry@${report.primaryIp}`}\``);
98
+ lines.push(`> 🔐 *Credentials:* Resolved via Doppler \`LAB_VM_CREDENTIALS\` / \`LAB_VM_PASS\` (Port 2222).`);
99
+ lines.push(``);
100
+ }
101
+ // 1. OS & Runtime Info
102
+ lines.push(`#### 🐧 1. Operating System & Kernel Information`);
103
+ lines.push(`| Property | Value |`);
104
+ lines.push(`|---|---|`);
105
+ lines.push(`| **Operating System** | **${report.osName ?? "Linux (Unknown)"}** (Version: \`${report.osVersion ?? "N/A"}\`) |`);
106
+ lines.push(`| **Kernel Release** | \`${report.kernelVersion ?? "N/A"}\` |`);
107
+ lines.push(`| **Hostname** | \`${report.hostname ?? "N/A"}\` |`);
108
+ lines.push(`| **Architecture** | \`${report.architecture ?? "x86_64"}\` |`);
109
+ lines.push(`| **QEMU Agent Version** | \`${report.agentVersion ?? "N/A"}\` (\`${report.supportedCommandsCount ?? 0}\` supported RPCs) |`);
110
+ lines.push(``);
111
+ // 2. Discovered Guest IP Addresses
112
+ lines.push(`#### 🌐 2. Discovered IP Addresses`);
113
+ if (report.ipAddresses && report.ipAddresses.length > 0) {
114
+ lines.push(`*Active IPs:* ` + report.ipAddresses.map((ip) => `\`${ip}\``).join(", "));
115
+ }
116
+ else {
117
+ lines.push(`*No active non-loopback IP addresses reported by guest agent.*`);
118
+ }
119
+ lines.push(``);
120
+ // 3. Guest Network Interfaces
121
+ if (report.guestInterfaces && report.guestInterfaces.length > 0) {
122
+ lines.push(`#### 🔌 3. Guest Network Interfaces`);
123
+ lines.push(`| Interface | MAC Address | IP Addresses |`);
124
+ lines.push(`|:---:|:---:|---|`);
125
+ for (const gi of report.guestInterfaces) {
126
+ const ipList = gi.ipAddresses.map((a) => `\`${a.ip}${a.prefix ? `/${a.prefix}` : ""}\` (${a.type})`).join("<br/>") || "No IP assigned";
127
+ lines.push(`| **\`${gi.name}\`** | \`${gi.macAddress || "N/A"}\` | ${ipList} |`);
128
+ }
129
+ lines.push(``);
130
+ }
131
+ return lines.join("\n");
132
+ }
133
+ //# sourceMappingURL=guest-agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guest-agent.js","sourceRoot":"","sources":["../../../src/tools/guest-agent.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,17 @@ export * from "./vm-action.js";
23
23
  export * from "./appliance-exec.js";
24
24
  export * from "./factory-reset.js";
25
25
  export * from "./storage-tools.js";
26
+ export * from "./update-cli.js";
27
+ export * from "./diagnostics.js";
28
+ export * from "./network-tools.js";
29
+ export * from "./guest-agent.js";
30
+ export * from "./cube-tools.js";
31
+ export * from "./cube-provision.js";
32
+ export * from "./cucm-trunk.js";
33
+ export * from "./server-management.js";
34
+ export * from "./cucm-emulator-tool.js";
35
+ export * from "./credential-status.js";
36
+ export * from "./lab-preflight.js";
26
37
  /**
27
38
  * Register all Call Telemetry Lab MCP tools onto an McpServer instance.
28
39
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAIL,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAyDzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CA4I9E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAIL,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAiIzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AAEnC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAyY9E"}
@@ -20,7 +20,19 @@ import { ProvisionVmInputShape, handleProvisionVm, AutoProvisionVmInputShape, ha
20
20
  import { VmActionInputShape, handleVmAction, } from "./vm-action.js";
21
21
  import { ApplianceExecInputShape, handleApplianceExec, } from "./appliance-exec.js";
22
22
  import { FactoryResetInputShape, handleFactoryReset, } from "./factory-reset.js";
23
- import { ListStorageInputShape, handleListStorage, ListSnapshotsInputShape, handleListSnapshots, CleanStorageInputShape, handleCleanStorage, } from "./storage-tools.js";
23
+ import { ListStorageInputShape, handleListStorage, ListSnapshotsInputShape, handleListSnapshots, CleanStorageInputShape, handleCleanStorage, GetVmStorageInputShape, handleGetVmStorage, MountIsoInputShape, handleMountIso, UnmountIsoInputShape, handleUnmountIso, CreateSnapshotInputShape, handleCreateSnapshot, RollbackSnapshotInputShape, handleRollbackSnapshot, } from "./storage-tools.js";
24
+ import { UpdateApplianceCliInputShape, handleUpdateApplianceCli, } from "./update-cli.js";
25
+ import { GetApplianceDiagnosticsInputShape, handleGetApplianceDiagnostics, } from "./diagnostics.js";
26
+ import { ManageVmNetworkInputShape, handleManageVmNetwork, } from "./network-tools.js";
27
+ import { GetGuestAgentStatusInputShape, handleGetGuestAgentStatus, } from "./guest-agent.js";
28
+ import { ListCubesInputShape, handleListCubes, ClaimCubeInputShape, handleClaimCube, ReleaseCubeInputShape, handleReleaseCube, } from "./cube-tools.js";
29
+ import { ProvisionCubeInputShape, handleProvisionCube, SetupCubeXccInputShape, handleSetupCubeXcc, } from "./cube-provision.js";
30
+ import { ProvisionCucmTrunkInputShape, handleProvisionCucmTrunk, GetSipTrunkStatusInputShape, handleGetSipTrunkStatus, } from "./cucm-trunk.js";
31
+ import { ManageMcpServerInputShape, handleManageMcpServer, } from "./server-management.js";
32
+ import { SetupCucmEmulatorInputShape, handleSetupCucmEmulator, } from "./cucm-emulator-tool.js";
33
+ import { CredentialStatusInputShape, handleCredentialStatus, } from "./credential-status.js";
34
+ import { LabPreflightInputShape, handleLabPreflight, } from "./lab-preflight.js";
35
+ import { canonicalMode, canonicalOperationBlocked } from "./canonical-guard.js";
24
36
  export * from "./list-hosts.js";
25
37
  export * from "./list-inventory.js";
26
38
  export * from "./slot-tools.js";
@@ -30,10 +42,79 @@ export * from "./vm-action.js";
30
42
  export * from "./appliance-exec.js";
31
43
  export * from "./factory-reset.js";
32
44
  export * from "./storage-tools.js";
45
+ export * from "./update-cli.js";
46
+ export * from "./diagnostics.js";
47
+ export * from "./network-tools.js";
48
+ export * from "./guest-agent.js";
49
+ export * from "./cube-tools.js";
50
+ export * from "./cube-provision.js";
51
+ export * from "./cucm-trunk.js";
52
+ export * from "./server-management.js";
53
+ export * from "./cucm-emulator-tool.js";
54
+ export * from "./credential-status.js";
55
+ export * from "./lab-preflight.js";
33
56
  /**
34
57
  * Register all Call Telemetry Lab MCP tools onto an McpServer instance.
35
58
  */
36
59
  export function registerAllTools(server, context) {
60
+ // The Node package still contains the historical hypervisor/guest handlers
61
+ // for compatibility and offline tests. In a governed installation they must
62
+ // not be exposed as an alternate identity/lease authority. Keep the public
63
+ // façade narrow until each operation has an exact canonical asset bridge and
64
+ // durable receipt contract.
65
+ const canonicalDirectTools = new Set([
66
+ "list_hosts",
67
+ "claim_slot",
68
+ "release_slot",
69
+ "purge_slots",
70
+ "list_slots",
71
+ "provision_vm",
72
+ "auto_provision_vm",
73
+ "vm_action",
74
+ "appliance_exec",
75
+ "factory_reset_appliance",
76
+ "list_storage",
77
+ "list_snapshots",
78
+ "clean_storage",
79
+ "get_vm_storage",
80
+ "mount_iso",
81
+ "unmount_iso",
82
+ "create_snapshot",
83
+ "rollback_snapshot",
84
+ "update_appliance_cli",
85
+ "get_appliance_diagnostics",
86
+ "manage_vm_network",
87
+ "get_guest_agent_status",
88
+ "list_cubes",
89
+ "claim_cube",
90
+ "release_cube",
91
+ "provision_cube",
92
+ "setup_cube_xcc",
93
+ "provision_cucm_trunk",
94
+ "get_sip_trunk_status",
95
+ "setup_cucm_emulator",
96
+ ]);
97
+ const rawTool = server.tool.bind(server);
98
+ const registerTool = server.tool.bind(server);
99
+ server.tool = (...args) => {
100
+ const name = String(args[0] || "");
101
+ const handler = args[args.length - 1];
102
+ if (typeof handler !== "function")
103
+ return registerTool(...args);
104
+ const wrapped = async (toolArgs) => {
105
+ if (canonicalMode(context) && canonicalDirectTools.has(name)) {
106
+ return canonicalOperationBlocked(name, "this legacy handler is not an identity-bound canonical operation; use the canonical lab workflow");
107
+ }
108
+ return handler(toolArgs);
109
+ };
110
+ const wrappedArgs = [...args.slice(0, -1), wrapped];
111
+ return rawTool(...wrappedArgs);
112
+ };
113
+ server.tool("lab_preflight", "Validate canonical inventory, exact VM identity, and software release-line qualification before any guest command. This does not release software to the lab; it qualifies a fixture against a cut release.", LabPreflightInputShape, async (args) => handleLabPreflight(args, context));
114
+ // 0. credential_status (self-check / doctor)
115
+ server.tool("credential_status", "Self-check: reports the resolved credential tier, which hosts/executors are real vs mock, and live reachability per hypervisor host. Call this before trusting other tool results. See QA-395.", CredentialStatusInputShape, async (args) => {
116
+ return handleCredentialStatus(args, context);
117
+ });
37
118
  // 1. list_hosts
38
119
  server.tool("list_hosts", "Query capacity, health, CPU/RAM/Disk metrics, and 8GB slot limits across Proxmox VE (proxmox-lab, proxmox-mini) and VMware ESXi (esxi-intel-192-168-123-176).", ListHostsInputShape, async (args) => {
39
120
  return handleListHosts(args, context);
@@ -90,5 +171,77 @@ export function registerAllTools(server, context) {
90
171
  server.tool("list_slots", "Query all 8GB appliance slot claims, lease TTLs, expiration timestamps, structured metadata (labels, workload types, versions, branches, tags), and cluster capacity breakdown.", ListSlotsInputShape, async (args) => {
91
172
  return handleListSlots(args, context);
92
173
  });
174
+ // 14. get_vm_storage
175
+ server.tool("get_vm_storage", "Query detailed storage configuration for a specific VM, including hypervisor virtual disks, CD-ROM drives, mounted ISOs, and live guest OS filesystem mount points (/boot, /, /data) via QEMU agent.", GetVmStorageInputShape, async (args) => {
176
+ return handleGetVmStorage(args, context);
177
+ });
178
+ // 15. mount_iso
179
+ server.tool("mount_iso", "Mount an ISO image from hypervisor storage (e.g. 'synology-cisco-isos:iso/...' or 'local:iso/...') into a target VM CD-ROM / optical drive.", MountIsoInputShape, async (args) => {
180
+ return handleMountIso(args, context);
181
+ });
182
+ // 16. unmount_iso
183
+ server.tool("unmount_iso", "Unmount / eject an ISO image from a target VM CD-ROM / optical drive.", UnmountIsoInputShape, async (args) => {
184
+ return handleUnmountIso(args, context);
185
+ });
186
+ // 17. create_snapshot
187
+ server.tool("create_snapshot", "Create a new snapshot of a target VM with optional RAM state and description.", CreateSnapshotInputShape, async (args) => {
188
+ return handleCreateSnapshot(args, context);
189
+ });
190
+ // 18. rollback_snapshot
191
+ server.tool("rollback_snapshot", "Revert / rollback a target VM to a specified snapshot with safety validation protecting core infrastructure.", RollbackSnapshotInputShape, async (args) => {
192
+ return handleRollbackSnapshot(args, context);
193
+ });
194
+ // 19. update_appliance_cli
195
+ server.tool("update_appliance_cli", "Update or hot-patch the remote appliance operator script (/home/calltelemetry/cli.sh) on a running appliance VM over SSH (port 2222) for rapid UAT fixes. Includes base64 delivery, syntax validation (bash -n), and status assertion.", UpdateApplianceCliInputShape, async (args) => {
196
+ return handleUpdateApplianceCli(args, context);
197
+ });
198
+ // 20. get_appliance_diagnostics
199
+ server.tool("get_appliance_diagnostics", "Inspect deep multi-subsystem telemetry across HTTP /api/health, Prometheus /metrics (BEAM memory, ETS tables, process count, DB pool), Oban job queues & fetchable depth, active alarms, and SQL connection health on a target Call Telemetry appliance.", GetApplianceDiagnosticsInputShape, async (args) => {
200
+ return handleGetApplianceDiagnostics(args, context);
201
+ });
202
+ // 21. manage_vm_network
203
+ server.tool("manage_vm_network", "Inspect and manage virtual network adapters (net0, net1), MAC addresses, bridges (vmbr0, vmbr1), VLAN tags, rate limits, and link state (connect/disconnect virtual cable for partition testing).", ManageVmNetworkInputShape, async (args) => {
204
+ return handleManageVmNetwork(args, context);
205
+ });
206
+ // 22. get_guest_agent_status
207
+ server.tool("get_guest_agent_status", "Query QEMU Guest Agent / VMware Tools health, agent ping latency, guest operating system and kernel version, hostname, and guest-assigned IP network interfaces.", GetGuestAgentStatusInputShape, async (args) => {
208
+ return handleGetGuestAgentStatus(args, context);
209
+ });
210
+ // 23. list_cubes
211
+ server.tool("list_cubes", "Lists all lab CUBE routers (Cat8000v), their IP addresses, power state, and current lease claim / holder Linear issue.", ListCubesInputShape, async (args) => {
212
+ return handleListCubes(args, context);
213
+ });
214
+ // 24. claim_cube
215
+ server.tool("claim_cube", "Acquires an exclusive lease lock on a CUBE router fixture for a test suite with automatic TTL expiration.", ClaimCubeInputShape, async (args) => {
216
+ return handleClaimCube(args, context);
217
+ });
218
+ // 25. release_cube
219
+ server.tool("release_cube", "Releases an exclusive CUBE router lease lock, returning it to the available pool.", ReleaseCubeInputShape, async (args) => {
220
+ return handleReleaseCube(args, context);
221
+ });
222
+ // 26. provision_cube
223
+ server.tool("provision_cube", "Provisions a new Cisco Cat8000v CUBE router VM, activates advanced licensing (network-advantage with reboot), and applies clean XCC/WSAPI config.", ProvisionCubeInputShape, async (args) => {
224
+ return handleProvisionCube(args, context);
225
+ });
226
+ // 27. setup_cube_xcc
227
+ server.tool("setup_cube_xcc", "Aggressively wipes stale dial-peers and WSAPI accounts on an existing CUBE and configures fresh XCC callbacks pointing to a Call Telemetry appliance.", SetupCubeXccInputShape, async (args) => {
228
+ return handleSetupCubeXcc(args, context);
229
+ });
230
+ // 28. provision_cucm_trunk
231
+ server.tool("provision_cucm_trunk", "Provisions or synchronizes a Cisco CUCM SIP Trunk and Route Pattern pointing to a target CUBE router or media fixture via AXL SOAP with immediate reset activation.", ProvisionCucmTrunkInputShape, async (args) => {
232
+ return handleProvisionCucmTrunk(args, context);
233
+ });
234
+ // 29. manage_mcp_server
235
+ server.tool("manage_mcp_server", "Manages the MCP server runtime lifecycle: inspects status, checks for npm/git updates, triggers hot credential/cache reloads, sends tool list refresh notifications, or signals a process upgrade/restart.", ManageMcpServerInputShape, async (args) => {
236
+ return handleManageMcpServer(args, context);
237
+ });
238
+ // 30. get_sip_trunk_status
239
+ server.tool("get_sip_trunk_status", "Queries real-time Cisco CUCM SIP Trunk registration status, destination reachability, and SIP OPTIONS Ping In-Service (INS) / Out-of-Service (OOS) health via RISDB / RISPort70.", GetSipTrunkStatusInputShape, async (args) => {
240
+ return handleGetSipTrunkStatus(args, context);
241
+ });
242
+ // 31. setup_cucm_emulator
243
+ server.tool("setup_cucm_emulator", "Manages CUCM Emulator suite: inspects status, seeds standard lab fixtures (phones, lines, CSS, partitions, SIP trunks, JTAPI users), resets store, or triggers simulated call legs.", SetupCucmEmulatorInputShape, async (args) => {
244
+ return handleSetupCucmEmulator(args, context);
245
+ });
93
246
  }
94
247
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import { CallToolResult } from "../types/mcp.js";
3
+ import { CanonicalLabBridge } from "../canonical/bridge.js";
4
+ export declare const LabPreflightInputShape: {
5
+ assetId: z.ZodString;
6
+ linearIssue: z.ZodString;
7
+ };
8
+ export declare const LabPreflightInputSchema: z.ZodObject<{
9
+ assetId: z.ZodString;
10
+ linearIssue: z.ZodString;
11
+ }, "strip", z.ZodTypeAny, {
12
+ linearIssue: string;
13
+ assetId: string;
14
+ }, {
15
+ linearIssue: string;
16
+ assetId: string;
17
+ }>;
18
+ export declare function handleLabPreflight(rawArgs: unknown, context: {
19
+ canonicalBridge?: CanonicalLabBridge;
20
+ }): Promise<CallToolResult>;
21
+ //# sourceMappingURL=lab-preflight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab-preflight.d.ts","sourceRoot":"","sources":["../../../src/tools/lab-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAoE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,eAAO,MAAM,sBAAsB;;;CAGlC,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;EAAmC,CAAC;AAExE,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IAAE,eAAe,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAChD,OAAO,CAAC,cAAc,CAAC,CAgBzB"}
@@ -0,0 +1,22 @@
1
+ import { z } from "zod";
2
+ import { ProxmoxErrorCode, createToolErrorResult, createToolSuccessResult } from "../types/mcp.js";
3
+ export const LabPreflightInputShape = {
4
+ assetId: z.string().min(1).describe("Exact canonical lab asset ID; do not substitute VMID, name, or IP."),
5
+ linearIssue: z.string().regex(/^[A-Z][A-Z0-9]+-\d+$/i).describe("Linear issue owning this lab qualification."),
6
+ };
7
+ export const LabPreflightInputSchema = z.object(LabPreflightInputShape);
8
+ export async function handleLabPreflight(rawArgs, context) {
9
+ const parsed = LabPreflightInputSchema.safeParse(rawArgs);
10
+ if (!parsed.success) {
11
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, parsed.error.errors.map((error) => error.message).join("; "));
12
+ }
13
+ if (!context.canonicalBridge) {
14
+ return createToolErrorResult("CANONICAL_INVENTORY_UNAVAILABLE", "canonical lab bridge is not available");
15
+ }
16
+ const result = await context.canonicalBridge.preflight(parsed.data);
17
+ if (result.status === "blocked") {
18
+ return createToolErrorResult("LAB_PREFLIGHT_BLOCKED", result.message || "lab preflight blocked", result);
19
+ }
20
+ return createToolSuccessResult("Lab preflight passed: inventory, identity, and release-line qualification are valid.", result);
21
+ }
22
+ //# sourceMappingURL=lab-preflight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab-preflight.js","sourceRoot":"","sources":["../../../src/tools/lab-preflight.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,gBAAgB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGnH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IACzG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC/G,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAExE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,OAAiD;IAEjD,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChI,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC7B,OAAO,qBAAqB,CAAC,iCAAiC,EAAE,uCAAuC,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC,uBAAuB,EAAE,MAAM,CAAC,OAAO,IAAI,uBAAuB,EAAE,MAA4C,CAAC,CAAC;IACjJ,CAAC;IAED,OAAO,uBAAuB,CAAC,sFAAsF,EAAE,MAA4C,CAAC,CAAC;AACvK,CAAC"}
@@ -10,12 +10,23 @@ import { MultiHypervisorManager } from "../hypervisors/manager.js";
10
10
  import { MultiHostProxmoxManager } from "../proxmox/index.js";
11
11
  import { SafetyGuardrailEngine } from "../guardrails/safety.js";
12
12
  import { IApplianceExecutor } from "../appliance/types.js";
13
+ import { CredentialResolutionResult } from "../credentials/types.js";
14
+ import { CanonicalLabBridge } from "../canonical/bridge.js";
13
15
  export interface ToolContext {
14
16
  slotManager: SlotManager;
15
17
  hypervisorManager?: MultiHypervisorManager;
16
18
  guardrailEngine?: SafetyGuardrailEngine;
17
19
  applianceExecutor?: IApplianceExecutor;
18
20
  proxmoxManager?: MultiHostProxmoxManager;
21
+ /**
22
+ * The resolved credential tier/hosts for this server instance, when
23
+ * available. Used by the credential_status self-check tool so agents can
24
+ * verify real-vs-mock transport before trusting other tool results. See QA-395.
25
+ */
26
+ credentials?: CredentialResolutionResult;
27
+ /** True when this server instance was explicitly permitted to run in mock mode. */
28
+ mockPermitted?: boolean;
29
+ canonicalBridge?: CanonicalLabBridge;
19
30
  }
20
31
  export declare const ListHostsInputShape: {
21
32
  host: z.ZodDefault<z.ZodOptional<z.ZodEnum<["proxmox-lab", "proxmox-mini", "proxmox-minis-lab", "esxi-intel-192-168-123-176", "all"]>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"list-hosts.d.ts","sourceRoot":"","sources":["../../../src/tools/list-hosts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,cAAc,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,eAAO,MAAM,mBAAmB;;;;CAgB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,YAAK,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAmEzB"}
1
+ {"version":3,"file":"list-hosts.d.ts","sourceRoot":"","sources":["../../../src/tools/list-hosts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IACvC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC;;;;OAIG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IACzC,mFAAmF;IACnF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED,eAAO,MAAM,mBAAmB;;;;CAgB/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAAgC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,eAAe,CACnC,OAAO,EAAE,iBAAiB,YAAK,EAC/B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAmEzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-hosts.js","sourceRoot":"","sources":["../../../src/tools/list-hosts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-hosts.js","sourceRoot":"","sources":["../../../src/tools/list-hosts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-inventory.d.ts","sourceRoot":"","sources":["../../../src/tools/list-inventory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,uBAAuB;;;;;;;;;CAoCnC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,YAAK,EACnC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAmEzB"}
1
+ {"version":3,"file":"list-inventory.d.ts","sourceRoot":"","sources":["../../../src/tools/list-inventory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,eAAO,MAAM,uBAAuB;;;;;;;;;CAoCnC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoC,CAAC;AAC1E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE7E,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,YAAK,EACnC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA4FzB"}
@@ -6,6 +6,7 @@
6
6
  import { z } from "zod";
7
7
  import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
8
8
  import { formatUnifiedInventory } from "../utils/formatters.js";
9
+ import { canonicalMode, runCanonicalOperation } from "./canonical-guard.js";
9
10
  export const ListInventoryInputShape = {
10
11
  hypervisor: z
11
12
  .enum(["proxmox", "esxi", "all"])
@@ -47,6 +48,26 @@ export const ListInventoryInputSchema = z.object(ListInventoryInputShape);
47
48
  export async function handleListInventory(rawArgs = {}, context) {
48
49
  try {
49
50
  const args = ListInventoryInputSchema.parse(rawArgs);
51
+ if (canonicalMode(context)) {
52
+ const hasFilter = (args.hypervisor && args.hypervisor !== "all") ||
53
+ (args.hypervisorType && args.hypervisorType !== "all") ||
54
+ args.host ||
55
+ args.hostName ||
56
+ (args.status && args.status !== "all") ||
57
+ args.includeTemplates ||
58
+ args.filter ||
59
+ args.tags;
60
+ if (hasFilter) {
61
+ return createToolErrorResult("CANONICAL_FILTER_UNSUPPORTED", "canonical inventory mode exposes the complete identity-bound inventory; apply filtering to the returned records");
62
+ }
63
+ return runCanonicalOperation(context.canonicalBridge, "list_inventory", [
64
+ "vm",
65
+ "inventory",
66
+ "--all",
67
+ "--format",
68
+ "json",
69
+ ]);
70
+ }
50
71
  let parsedTags;
51
72
  if (args.tags) {
52
73
  if (Array.isArray(args.tags)) {
@@ -1 +1 @@
1
- {"version":3,"file":"list-inventory.js","sourceRoot":"","sources":["../../../src/tools/list-inventory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-inventory.js","sourceRoot":"","sources":["../../../src/tools/list-inventory.ts"],"names":[],"mappings":"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"}