@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
@@ -262,4 +262,424 @@ export async function handleCleanStorage(args, context) {
262
262
  return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to clean storage on '${host}': ${msg}`);
263
263
  }
264
264
  }
265
+ // ============================================================================
266
+ // 4. get_vm_storage
267
+ // ============================================================================
268
+ export const GetVmStorageInputShape = {
269
+ target: z
270
+ .union([z.string(), z.number()])
271
+ .optional()
272
+ .describe("VM ID or name to query storage for (e.g. '105' or 'ct-appliance-slot2-thin')."),
273
+ vmIdOrName: z
274
+ .union([z.string(), z.number()])
275
+ .optional()
276
+ .describe("Alias for target."),
277
+ host: z
278
+ .enum(["proxmox-lab", "proxmox-mini", "proxmox-minis-lab", "esxi-intel-192-168-123-176", "auto"])
279
+ .optional()
280
+ .default("auto")
281
+ .describe("Hypervisor host or 'auto' to auto-discover.")
282
+ };
283
+ export const GetVmStorageInputSchema = z
284
+ .object(GetVmStorageInputShape)
285
+ .refine((data) => Boolean(data.target || data.vmIdOrName), { message: "VM target ('target' or 'vmIdOrName') is required." });
286
+ export async function handleGetVmStorage(args, context) {
287
+ const parsed = GetVmStorageInputSchema.safeParse(args || {});
288
+ if (!parsed.success) {
289
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Invalid arguments for get_vm_storage.");
290
+ }
291
+ const target = parsed.data.target || parsed.data.vmIdOrName;
292
+ const targetHost = parsed.data.host;
293
+ const drivers = context.hypervisorManager?.getAllDrivers() || [];
294
+ let foundDriver = targetHost && targetHost !== "auto"
295
+ ? drivers.find(d => d.hostName === targetHost || (targetHost === "proxmox-mini" && d.hostName === "proxmox-minis-lab"))
296
+ : null;
297
+ let vmRecord = null;
298
+ if (foundDriver) {
299
+ vmRecord = await foundDriver.getVm(target);
300
+ }
301
+ else {
302
+ for (const d of drivers) {
303
+ const vm = await d.getVm(target);
304
+ if (vm) {
305
+ foundDriver = d;
306
+ vmRecord = vm;
307
+ break;
308
+ }
309
+ }
310
+ }
311
+ if (!foundDriver || !vmRecord) {
312
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `VM '${target}' was not found on any hypervisor host.`);
313
+ }
314
+ if (!foundDriver.getVmStorage) {
315
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Host '${foundDriver.hostName}' does not support getVmStorage.`);
316
+ }
317
+ try {
318
+ const report = await foundDriver.getVmStorage(vmRecord.id);
319
+ // Format Markdown tables
320
+ const diskRows = report.disks.map((d) => {
321
+ const sizeStr = d.sizeGb ? `${d.sizeGb.toFixed(1)} GB` : "Unknown";
322
+ const flags = [d.discard ? "discard" : null, d.ssd ? "ssd" : null].filter(Boolean).join(", ");
323
+ return `| **\`${d.drive}\`** | \`${d.storage}\` | **\`${d.volid}\`** | ${sizeStr} | \`${d.format}\` | ${flags || "standard"} |`;
324
+ }).join("\n");
325
+ const cdromRows = report.cdroms.map((c) => {
326
+ const mediaStr = c.volid === "none" || !c.volid ? "*(Empty / Ejected)*" : `**\`${c.volid}\`**`;
327
+ return `| **\`${c.drive}\`** | ${mediaStr} | \`${c.storage}\` | \`cdrom\` |`;
328
+ }).join("\n");
329
+ let fsSection = "";
330
+ if (report.guestFilesystems && report.guestFilesystems.length > 0) {
331
+ const fsRows = report.guestFilesystems.map((fs) => {
332
+ const totalGb = (fs.totalBytes / (1024 * 1024 * 1024)).toFixed(2);
333
+ const usedGb = (fs.usedBytes / (1024 * 1024 * 1024)).toFixed(2);
334
+ const availGb = (fs.availableBytes / (1024 * 1024 * 1024)).toFixed(2);
335
+ const icon = fs.usedPercent > 85 ? "🔴" : fs.usedPercent > 70 ? "🟡" : "🟢";
336
+ return `| **\`${fs.mountPoint}\`** | \`${fs.fsType}\` | ${totalGb} GB | ${usedGb} GB (${fs.usedPercent}%) | **${availGb} GB** | ${icon} | \`${fs.diskDevice || "N/A"}\` |`;
337
+ }).join("\n");
338
+ fsSection = `\n\n#### 💽 Live Guest OS Filesystems (QEMU Agent)\n\n| Mount Point | Type | Total | Used (%) | Free | Status | Device |\n|---|:---:|:---:|:---:|:---:|:---:|:---:|\n${fsRows}`;
339
+ }
340
+ else {
341
+ fsSection = `\n\n*Guest Filesystem Info: ${report.status === "running" ? "QEMU Agent not responding / initializing" : "VM is stopped"}*`;
342
+ }
343
+ const markdown = `### 💾 VM Storage & Filesystem Analysis: **${report.vmName}** (\`${report.vmId}\`)
344
+
345
+ *Host:* \`${report.hostName}\` | *Status:* **${report.status}** | *Guest Agent:* **${report.guestAgentActive ? "🟢 Active" : "⚪ Offline"}**
346
+
347
+ #### 🗄️ Hypervisor Virtual Disks
348
+ | Drive | Storage Pool | Volume ID | Size | Format | Flags |
349
+ |---|---|---|:---:|:---:|:---:|
350
+ ${diskRows || "| - | No virtual disks attached | - | - | - | - |"}
351
+
352
+ #### 💿 Optical Drives & Mounted Media (CD-ROM)
353
+ | Drive | Mounted Media / ISO | Storage Pool | Type |
354
+ |---|---|---|:---:|
355
+ ${cdromRows || "| - | No CD-ROM drives configured | - | - |"}${fsSection}`;
356
+ return {
357
+ content: [{ type: "text", text: markdown }],
358
+ structuredContent: {
359
+ success: true,
360
+ report
361
+ }
362
+ };
363
+ }
364
+ catch (err) {
365
+ const msg = err instanceof Error ? err.message : String(err);
366
+ return createToolErrorResult(ProxmoxErrorCode.UPSTREAM_API_ERROR, `Failed to query VM storage for '${target}': ${msg}`);
367
+ }
368
+ }
369
+ // ============================================================================
370
+ // 5. mount_iso
371
+ // ============================================================================
372
+ export const MountIsoInputShape = {
373
+ target: z
374
+ .union([z.string(), z.number()])
375
+ .optional()
376
+ .describe("Target VM ID or name to mount ISO onto (e.g. '105' or 'ct-appliance-slot2-thin')."),
377
+ vmIdOrName: z
378
+ .union([z.string(), z.number()])
379
+ .optional()
380
+ .describe("Alias for target."),
381
+ iso: z
382
+ .string()
383
+ .describe("ISO Volume ID to mount (e.g. 'synology-cisco-isos:iso/c8000v-universalk9.17.18.02.iso' or 'local:iso/cube-pmx-internal-bootstrap.iso')."),
384
+ drive: z
385
+ .string()
386
+ .optional()
387
+ .default("ide2")
388
+ .describe("CD-ROM drive identifier (default: 'ide2')."),
389
+ host: z
390
+ .enum(["proxmox-lab", "proxmox-mini", "proxmox-minis-lab", "esxi-intel-192-168-123-176", "auto"])
391
+ .optional()
392
+ .default("auto")
393
+ .describe("Hypervisor host or 'auto'.")
394
+ };
395
+ export const MountIsoInputSchema = z
396
+ .object(MountIsoInputShape)
397
+ .refine((data) => Boolean(data.target || data.vmIdOrName), { message: "VM target ('target' or 'vmIdOrName') is required." });
398
+ export async function handleMountIso(args, context) {
399
+ const parsed = MountIsoInputSchema.safeParse(args || {});
400
+ if (!parsed.success) {
401
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Invalid arguments for mount_iso.");
402
+ }
403
+ const target = parsed.data.target || parsed.data.vmIdOrName;
404
+ const { iso, drive, host: targetHost } = parsed.data;
405
+ const drivers = context.hypervisorManager?.getAllDrivers() || [];
406
+ let foundDriver = targetHost && targetHost !== "auto"
407
+ ? drivers.find(d => d.hostName === targetHost || (targetHost === "proxmox-mini" && d.hostName === "proxmox-minis-lab"))
408
+ : null;
409
+ let vmRecord = null;
410
+ if (foundDriver) {
411
+ vmRecord = await foundDriver.getVm(target);
412
+ }
413
+ else {
414
+ for (const d of drivers) {
415
+ const vm = await d.getVm(target);
416
+ if (vm) {
417
+ foundDriver = d;
418
+ vmRecord = vm;
419
+ break;
420
+ }
421
+ }
422
+ }
423
+ if (!foundDriver || !vmRecord) {
424
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `VM '${target}' not found.`);
425
+ }
426
+ if (!foundDriver.mountIso) {
427
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Host '${foundDriver.hostName}' does not support mountIso.`);
428
+ }
429
+ try {
430
+ await foundDriver.mountIso(vmRecord.id, iso, drive);
431
+ telemetry.emit({
432
+ event: "storage.mount_iso",
433
+ actor: "ct-lab-mcp",
434
+ status: "success",
435
+ hostId: foundDriver.hostName,
436
+ vmId: vmRecord.id,
437
+ metadata: { iso, drive }
438
+ });
439
+ return {
440
+ content: [{ type: "text", text: `### 💿 ISO Mounted Successfully\n\nISO **\`${iso}\`** was mounted to drive **\`${drive}\`** on VM **${vmRecord.name}** (\`${vmRecord.id}\`) on host \`${foundDriver.hostName}\`.` }],
441
+ structuredContent: { success: true, host: foundDriver.hostName, vmId: vmRecord.id, vmName: vmRecord.name, iso, drive }
442
+ };
443
+ }
444
+ catch (err) {
445
+ const msg = err instanceof Error ? err.message : String(err);
446
+ return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to mount ISO on VM '${target}': ${msg}`);
447
+ }
448
+ }
449
+ // ============================================================================
450
+ // 6. unmount_iso
451
+ // ============================================================================
452
+ export const UnmountIsoInputShape = {
453
+ target: z
454
+ .union([z.string(), z.number()])
455
+ .optional()
456
+ .describe("Target VM ID or name to unmount ISO from (e.g. '105')."),
457
+ vmIdOrName: z
458
+ .union([z.string(), z.number()])
459
+ .optional()
460
+ .describe("Alias for target."),
461
+ drive: z
462
+ .string()
463
+ .optional()
464
+ .default("ide2")
465
+ .describe("CD-ROM drive identifier (default: 'ide2')."),
466
+ host: z
467
+ .enum(["proxmox-lab", "proxmox-mini", "proxmox-minis-lab", "esxi-intel-192-168-123-176", "auto"])
468
+ .optional()
469
+ .default("auto")
470
+ .describe("Hypervisor host or 'auto'.")
471
+ };
472
+ export const UnmountIsoInputSchema = z
473
+ .object(UnmountIsoInputShape)
474
+ .refine((data) => Boolean(data.target || data.vmIdOrName), { message: "VM target ('target' or 'vmIdOrName') is required." });
475
+ export async function handleUnmountIso(args, context) {
476
+ const parsed = UnmountIsoInputSchema.safeParse(args || {});
477
+ if (!parsed.success) {
478
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Invalid arguments for unmount_iso.");
479
+ }
480
+ const target = parsed.data.target || parsed.data.vmIdOrName;
481
+ const { drive, host: targetHost } = parsed.data;
482
+ const drivers = context.hypervisorManager?.getAllDrivers() || [];
483
+ let foundDriver = targetHost && targetHost !== "auto"
484
+ ? drivers.find(d => d.hostName === targetHost || (targetHost === "proxmox-mini" && d.hostName === "proxmox-minis-lab"))
485
+ : null;
486
+ let vmRecord = null;
487
+ if (foundDriver) {
488
+ vmRecord = await foundDriver.getVm(target);
489
+ }
490
+ else {
491
+ for (const d of drivers) {
492
+ const vm = await d.getVm(target);
493
+ if (vm) {
494
+ foundDriver = d;
495
+ vmRecord = vm;
496
+ break;
497
+ }
498
+ }
499
+ }
500
+ if (!foundDriver || !vmRecord) {
501
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `VM '${target}' not found.`);
502
+ }
503
+ if (!foundDriver.unmountIso) {
504
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Host '${foundDriver.hostName}' does not support unmountIso.`);
505
+ }
506
+ try {
507
+ await foundDriver.unmountIso(vmRecord.id, drive);
508
+ telemetry.emit({
509
+ event: "storage.unmount_iso",
510
+ actor: "ct-lab-mcp",
511
+ status: "success",
512
+ hostId: foundDriver.hostName,
513
+ vmId: vmRecord.id,
514
+ metadata: { drive }
515
+ });
516
+ return {
517
+ content: [{ type: "text", text: `### ⏏️ CD-ROM Drive Ejected\n\nDrive **\`${drive}\`** on VM **${vmRecord.name}** (\`${vmRecord.id}\`) on host \`${foundDriver.hostName}\` was unmounted / ejected.` }],
518
+ structuredContent: { success: true, host: foundDriver.hostName, vmId: vmRecord.id, vmName: vmRecord.name, drive }
519
+ };
520
+ }
521
+ catch (err) {
522
+ const msg = err instanceof Error ? err.message : String(err);
523
+ return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to unmount ISO on VM '${target}': ${msg}`);
524
+ }
525
+ }
526
+ // ============================================================================
527
+ // 7. create_snapshot
528
+ // ============================================================================
529
+ export const CreateSnapshotInputShape = {
530
+ target: z
531
+ .union([z.string(), z.number()])
532
+ .optional()
533
+ .describe("Target VM ID or name to snapshot (e.g. '105' or 'ct-appliance-slot2-thin')."),
534
+ vmIdOrName: z
535
+ .union([z.string(), z.number()])
536
+ .optional()
537
+ .describe("Alias for target."),
538
+ snapshotName: z
539
+ .string()
540
+ .describe("Name for the new snapshot (e.g. 'pre-upgrade', 'clean-base')."),
541
+ description: z
542
+ .string()
543
+ .optional()
544
+ .describe("Optional human-readable description for the snapshot."),
545
+ includeRam: z
546
+ .boolean()
547
+ .optional()
548
+ .default(false)
549
+ .describe("Whether to include RAM / live memory state in the snapshot (default: false)."),
550
+ host: z
551
+ .enum(["proxmox-lab", "proxmox-mini", "proxmox-minis-lab", "esxi-intel-192-168-123-176", "auto"])
552
+ .optional()
553
+ .default("auto")
554
+ .describe("Hypervisor host or 'auto'.")
555
+ };
556
+ export const CreateSnapshotInputSchema = z
557
+ .object(CreateSnapshotInputShape)
558
+ .refine((data) => Boolean(data.target || data.vmIdOrName), { message: "VM target ('target' or 'vmIdOrName') is required." });
559
+ export async function handleCreateSnapshot(args, context) {
560
+ const parsed = CreateSnapshotInputSchema.safeParse(args || {});
561
+ if (!parsed.success) {
562
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Invalid arguments for create_snapshot.");
563
+ }
564
+ const target = parsed.data.target || parsed.data.vmIdOrName;
565
+ const { snapshotName, description, includeRam, host: targetHost } = parsed.data;
566
+ const drivers = context.hypervisorManager?.getAllDrivers() || [];
567
+ let foundDriver = targetHost && targetHost !== "auto"
568
+ ? drivers.find(d => d.hostName === targetHost || (targetHost === "proxmox-mini" && d.hostName === "proxmox-minis-lab"))
569
+ : null;
570
+ let vmRecord = null;
571
+ if (foundDriver) {
572
+ vmRecord = await foundDriver.getVm(target);
573
+ }
574
+ else {
575
+ for (const d of drivers) {
576
+ const vm = await d.getVm(target);
577
+ if (vm) {
578
+ foundDriver = d;
579
+ vmRecord = vm;
580
+ break;
581
+ }
582
+ }
583
+ }
584
+ if (!foundDriver || !vmRecord) {
585
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `VM '${target}' not found.`);
586
+ }
587
+ if (!foundDriver.createSnapshot) {
588
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Host '${foundDriver.hostName}' does not support createSnapshot.`);
589
+ }
590
+ try {
591
+ await foundDriver.createSnapshot(vmRecord.id, snapshotName, description, includeRam);
592
+ telemetry.emit({
593
+ event: "storage.create_snapshot",
594
+ actor: "ct-lab-mcp",
595
+ status: "success",
596
+ hostId: foundDriver.hostName,
597
+ vmId: vmRecord.id,
598
+ metadata: { snapshotName, includeRam }
599
+ });
600
+ return {
601
+ content: [{ type: "text", text: `### 📸 Snapshot Created Successfully\n\nSnapshot **\`${snapshotName}\`** was created for VM **${vmRecord.name}** (\`${vmRecord.id}\`) on host \`${foundDriver.hostName}\`.\n*RAM State:* ${includeRam ? "Included" : "Disk Only"}\n*Description:* ${description || "None"}` }],
602
+ structuredContent: { success: true, host: foundDriver.hostName, vmId: vmRecord.id, vmName: vmRecord.name, snapshotName, includeRam, description }
603
+ };
604
+ }
605
+ catch (err) {
606
+ const msg = err instanceof Error ? err.message : String(err);
607
+ return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to create snapshot '${snapshotName}' on VM '${target}': ${msg}`);
608
+ }
609
+ }
610
+ // ============================================================================
611
+ // 8. rollback_snapshot
612
+ // ============================================================================
613
+ export const RollbackSnapshotInputShape = {
614
+ target: z
615
+ .union([z.string(), z.number()])
616
+ .optional()
617
+ .describe("Target VM ID or name to rollback (e.g. '105')."),
618
+ vmIdOrName: z
619
+ .union([z.string(), z.number()])
620
+ .optional()
621
+ .describe("Alias for target."),
622
+ snapshotName: z
623
+ .string()
624
+ .describe("Name of the snapshot to rollback / revert to (e.g. 'clean-base')."),
625
+ host: z
626
+ .enum(["proxmox-lab", "proxmox-mini", "proxmox-minis-lab", "esxi-intel-192-168-123-176", "auto"])
627
+ .optional()
628
+ .default("auto")
629
+ .describe("Hypervisor host or 'auto'.")
630
+ };
631
+ export const RollbackSnapshotInputSchema = z
632
+ .object(RollbackSnapshotInputShape)
633
+ .refine((data) => Boolean(data.target || data.vmIdOrName), { message: "VM target ('target' or 'vmIdOrName') is required." });
634
+ export async function handleRollbackSnapshot(args, context) {
635
+ const parsed = RollbackSnapshotInputSchema.safeParse(args || {});
636
+ if (!parsed.success) {
637
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Invalid arguments for rollback_snapshot.");
638
+ }
639
+ const target = parsed.data.target || parsed.data.vmIdOrName;
640
+ const { snapshotName, host: targetHost } = parsed.data;
641
+ const drivers = context.hypervisorManager?.getAllDrivers() || [];
642
+ let foundDriver = targetHost && targetHost !== "auto"
643
+ ? drivers.find(d => d.hostName === targetHost || (targetHost === "proxmox-mini" && d.hostName === "proxmox-minis-lab"))
644
+ : null;
645
+ let vmRecord = null;
646
+ if (foundDriver) {
647
+ vmRecord = await foundDriver.getVm(target);
648
+ }
649
+ else {
650
+ for (const d of drivers) {
651
+ const vm = await d.getVm(target);
652
+ if (vm) {
653
+ foundDriver = d;
654
+ vmRecord = vm;
655
+ break;
656
+ }
657
+ }
658
+ }
659
+ if (!foundDriver || !vmRecord) {
660
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `VM '${target}' not found.`);
661
+ }
662
+ if (!foundDriver.rollbackSnapshot) {
663
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Host '${foundDriver.hostName}' does not support rollbackSnapshot.`);
664
+ }
665
+ try {
666
+ await foundDriver.rollbackSnapshot(vmRecord.id, snapshotName);
667
+ telemetry.emit({
668
+ event: "storage.rollback_snapshot",
669
+ actor: "ct-lab-mcp",
670
+ status: "success",
671
+ hostId: foundDriver.hostName,
672
+ vmId: vmRecord.id,
673
+ metadata: { snapshotName }
674
+ });
675
+ return {
676
+ content: [{ type: "text", text: `### 🔄 Snapshot Rollback Completed\n\nVM **${vmRecord.name}** (\`${vmRecord.id}\`) on host \`${foundDriver.hostName}\` was reverted to snapshot **\`${snapshotName}\`**.` }],
677
+ structuredContent: { success: true, host: foundDriver.hostName, vmId: vmRecord.id, vmName: vmRecord.name, snapshotName }
678
+ };
679
+ }
680
+ catch (err) {
681
+ const msg = err instanceof Error ? err.message : String(err);
682
+ return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to rollback snapshot '${snapshotName}' on VM '${target}': ${msg}`);
683
+ }
684
+ }
265
685
  //# sourceMappingURL=storage-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-tools.js","sourceRoot":"","sources":["../../../src/tools/storage-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-tools.js","sourceRoot":"","sources":["../../../src/tools/storage-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Update Appliance CLI MCP Tool
3
+ *
4
+ * Updates or hot-patches the remote appliance operator script (/home/calltelemetry/cli.sh)
5
+ * on a running Call Telemetry appliance VM over SSH (port 2222) for rapid UAT fixes.
6
+ */
7
+ import { z } from "zod";
8
+ import { ToolContext } from "./list-hosts.js";
9
+ import { CallToolResult } from "../types/mcp.js";
10
+ export declare const UpdateApplianceCliInputShape: {
11
+ targetIp: z.ZodString;
12
+ cliScriptContent: z.ZodOptional<z.ZodString>;
13
+ sourceFilePath: z.ZodOptional<z.ZodString>;
14
+ targetPath: z.ZodDefault<z.ZodOptional<z.ZodString>>;
15
+ verifySyntax: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
16
+ assertHealth: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
17
+ timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
18
+ };
19
+ export declare const UpdateApplianceCliInputSchema: z.ZodEffects<z.ZodObject<{
20
+ targetIp: z.ZodString;
21
+ cliScriptContent: z.ZodOptional<z.ZodString>;
22
+ sourceFilePath: z.ZodOptional<z.ZodString>;
23
+ targetPath: z.ZodDefault<z.ZodOptional<z.ZodString>>;
24
+ verifySyntax: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
25
+ assertHealth: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
26
+ timeoutMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ targetIp: string;
29
+ targetPath: string;
30
+ timeoutMs: number;
31
+ assertHealth: boolean;
32
+ verifySyntax: boolean;
33
+ cliScriptContent?: string | undefined;
34
+ sourceFilePath?: string | undefined;
35
+ }, {
36
+ targetIp: string;
37
+ cliScriptContent?: string | undefined;
38
+ targetPath?: string | undefined;
39
+ timeoutMs?: number | undefined;
40
+ assertHealth?: boolean | undefined;
41
+ sourceFilePath?: string | undefined;
42
+ verifySyntax?: boolean | undefined;
43
+ }>, {
44
+ targetIp: string;
45
+ targetPath: string;
46
+ timeoutMs: number;
47
+ assertHealth: boolean;
48
+ verifySyntax: boolean;
49
+ cliScriptContent?: string | undefined;
50
+ sourceFilePath?: string | undefined;
51
+ }, {
52
+ targetIp: string;
53
+ cliScriptContent?: string | undefined;
54
+ targetPath?: string | undefined;
55
+ timeoutMs?: number | undefined;
56
+ assertHealth?: boolean | undefined;
57
+ sourceFilePath?: string | undefined;
58
+ verifySyntax?: boolean | undefined;
59
+ }>;
60
+ export type UpdateApplianceCliInput = z.infer<typeof UpdateApplianceCliInputSchema>;
61
+ export declare function handleUpdateApplianceCli(args: unknown, context: ToolContext): Promise<CallToolResult>;
62
+ //# sourceMappingURL=update-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-cli.d.ts","sourceRoot":"","sources":["../../../src/tools/update-cli.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAK1F,eAAO,MAAM,4BAA4B;;;;;;;;CAmCxC,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKvC,CAAC;AAEJ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAuGzB"}