@bldg-7/proxmox-mcp 0.4.3 → 0.6.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 (112) hide show
  1. package/README.md +189 -13
  2. package/dist/schemas/access-control.d.ts +67 -0
  3. package/dist/schemas/access-control.d.ts.map +1 -1
  4. package/dist/schemas/access-control.js +29 -0
  5. package/dist/schemas/access-control.js.map +1 -1
  6. package/dist/schemas/acme.d.ts +60 -0
  7. package/dist/schemas/acme.d.ts.map +1 -0
  8. package/dist/schemas/acme.js +32 -0
  9. package/dist/schemas/acme.js.map +1 -0
  10. package/dist/schemas/certificate.d.ts +76 -0
  11. package/dist/schemas/certificate.d.ts.map +1 -0
  12. package/dist/schemas/certificate.js +36 -0
  13. package/dist/schemas/certificate.js.map +1 -0
  14. package/dist/schemas/cloud-init.d.ts +39 -0
  15. package/dist/schemas/cloud-init.d.ts.map +1 -0
  16. package/dist/schemas/cloud-init.js +14 -0
  17. package/dist/schemas/cloud-init.js.map +1 -0
  18. package/dist/schemas/cluster-management.d.ts +189 -6
  19. package/dist/schemas/cluster-management.d.ts.map +1 -1
  20. package/dist/schemas/cluster-management.js +89 -0
  21. package/dist/schemas/cluster-management.js.map +1 -1
  22. package/dist/schemas/disk.d.ts +43 -2
  23. package/dist/schemas/disk.d.ts.map +1 -1
  24. package/dist/schemas/disk.js +19 -0
  25. package/dist/schemas/disk.js.map +1 -1
  26. package/dist/schemas/index.d.ts +1 -0
  27. package/dist/schemas/index.d.ts.map +1 -1
  28. package/dist/schemas/index.js +1 -0
  29. package/dist/schemas/index.js.map +1 -1
  30. package/dist/schemas/node.d.ts +39 -0
  31. package/dist/schemas/node.d.ts.map +1 -1
  32. package/dist/schemas/node.js +17 -0
  33. package/dist/schemas/node.js.map +1 -1
  34. package/dist/schemas/notifications.d.ts +81 -0
  35. package/dist/schemas/notifications.d.ts.map +1 -0
  36. package/dist/schemas/notifications.js +39 -0
  37. package/dist/schemas/notifications.js.map +1 -0
  38. package/dist/schemas/system-operations.d.ts +57 -0
  39. package/dist/schemas/system-operations.d.ts.map +1 -1
  40. package/dist/schemas/system-operations.js +27 -0
  41. package/dist/schemas/system-operations.js.map +1 -1
  42. package/dist/schemas/vm-advanced.d.ts +178 -0
  43. package/dist/schemas/vm-advanced.d.ts.map +1 -1
  44. package/dist/schemas/vm-advanced.js +38 -0
  45. package/dist/schemas/vm-advanced.js.map +1 -1
  46. package/dist/schemas/vm.d.ts +53 -3
  47. package/dist/schemas/vm.d.ts.map +1 -1
  48. package/dist/schemas/vm.js +22 -0
  49. package/dist/schemas/vm.js.map +1 -1
  50. package/dist/server.d.ts.map +1 -1
  51. package/dist/server.js +85 -0
  52. package/dist/server.js.map +1 -1
  53. package/dist/tools/access-control.d.ts +21 -1
  54. package/dist/tools/access-control.d.ts.map +1 -1
  55. package/dist/tools/access-control.js +140 -1
  56. package/dist/tools/access-control.js.map +1 -1
  57. package/dist/tools/acme.d.ts +13 -0
  58. package/dist/tools/acme.d.ts.map +1 -0
  59. package/dist/tools/acme.js +188 -0
  60. package/dist/tools/acme.js.map +1 -0
  61. package/dist/tools/certificate.d.ts +12 -0
  62. package/dist/tools/certificate.d.ts.map +1 -0
  63. package/dist/tools/certificate.js +156 -0
  64. package/dist/tools/certificate.js.map +1 -0
  65. package/dist/tools/cloud-init.d.ts +19 -0
  66. package/dist/tools/cloud-init.d.ts.map +1 -0
  67. package/dist/tools/cloud-init.js +62 -0
  68. package/dist/tools/cloud-init.js.map +1 -0
  69. package/dist/tools/cluster-management.d.ts +85 -1
  70. package/dist/tools/cluster-management.d.ts.map +1 -1
  71. package/dist/tools/cluster-management.js +520 -1
  72. package/dist/tools/cluster-management.js.map +1 -1
  73. package/dist/tools/disk.d.ts +21 -1
  74. package/dist/tools/disk.d.ts.map +1 -1
  75. package/dist/tools/disk.js +127 -1
  76. package/dist/tools/disk.js.map +1 -1
  77. package/dist/tools/index.d.ts +11 -6
  78. package/dist/tools/index.d.ts.map +1 -1
  79. package/dist/tools/index.js +16 -6
  80. package/dist/tools/index.js.map +1 -1
  81. package/dist/tools/node.d.ts +16 -1
  82. package/dist/tools/node.d.ts.map +1 -1
  83. package/dist/tools/node.js +88 -1
  84. package/dist/tools/node.js.map +1 -1
  85. package/dist/tools/notifications.d.ts +10 -0
  86. package/dist/tools/notifications.d.ts.map +1 -0
  87. package/dist/tools/notifications.js +135 -0
  88. package/dist/tools/notifications.js.map +1 -0
  89. package/dist/tools/registry.d.ts.map +1 -1
  90. package/dist/tools/registry.js +164 -11
  91. package/dist/tools/registry.js.map +1 -1
  92. package/dist/tools/system-operations.d.ts +31 -1
  93. package/dist/tools/system-operations.d.ts.map +1 -1
  94. package/dist/tools/system-operations.js +131 -1
  95. package/dist/tools/system-operations.js.map +1 -1
  96. package/dist/tools/vm-advanced.d.ts +60 -1
  97. package/dist/tools/vm-advanced.d.ts.map +1 -1
  98. package/dist/tools/vm-advanced.js +354 -2
  99. package/dist/tools/vm-advanced.js.map +1 -1
  100. package/dist/tools/vm-query.d.ts +21 -1
  101. package/dist/tools/vm-query.d.ts.map +1 -1
  102. package/dist/tools/vm-query.js +115 -1
  103. package/dist/tools/vm-query.js.map +1 -1
  104. package/dist/types/tools.d.ts +1 -1
  105. package/dist/types/tools.d.ts.map +1 -1
  106. package/dist/types/tools.js +84 -0
  107. package/dist/types/tools.js.map +1 -1
  108. package/dist/validators/index.d.ts +18 -0
  109. package/dist/validators/index.d.ts.map +1 -1
  110. package/dist/validators/index.js +52 -0
  111. package/dist/validators/index.js.map +1 -1
  112. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"system-operations.js","sourceRoot":"","sources":["../../src/tools/system-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-operations.js","sourceRoot":"","sources":["../../src/tools/system-operations.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ProxmoxApiClient } from '../client/proxmox.js';
2
2
  import type { Config } from '../config/index.js';
3
3
  import type { ToolResponse } from '../types/index.js';
4
- import type { MigrateVmInput, MigrateLxcInput, CreateTemplateVmInput, CreateTemplateLxcInput, GetVmRrddataInput, GetLxcRrddataInput, AgentPingInput, AgentGetOsinfoInput, AgentGetFsinfoInput, AgentGetMemoryBlocksInput, AgentGetNetworkInterfacesInput, AgentGetTimeInput, AgentGetTimezoneInput, AgentGetVcpusInput, AgentExecInput, AgentExecStatusInput, ListVmFirewallRulesInput, GetVmFirewallRuleInput, CreateVmFirewallRuleInput, UpdateVmFirewallRuleInput, DeleteVmFirewallRuleInput, ListLxcFirewallRulesInput, GetLxcFirewallRuleInput, CreateLxcFirewallRuleInput, UpdateLxcFirewallRuleInput, DeleteLxcFirewallRuleInput } from '../schemas/vm-advanced.js';
4
+ import type { MigrateVmInput, MigrateLxcInput, CreateTemplateVmInput, CreateTemplateLxcInput, GetVmRrddataInput, GetLxcRrddataInput, AgentPingInput, AgentGetOsinfoInput, AgentGetFsinfoInput, AgentGetMemoryBlocksInput, AgentGetNetworkInterfacesInput, AgentGetTimeInput, AgentGetTimezoneInput, AgentGetVcpusInput, AgentExecInput, AgentExecStatusInput, AgentFileReadInput, AgentFileWriteInput, AgentGetHostnameInput, AgentGetUsersInput, AgentSetUserPasswordInput, AgentShutdownInput, AgentFsfreezeStatusInput, AgentFsfreezeFreezeInput, AgentFsfreezeThawInput, AgentFstrimInput, AgentGetMemoryBlockInfoInput, AgentSuspendDiskInput, AgentSuspendRamInput, AgentSuspendHybridInput, ListVmFirewallRulesInput, GetVmFirewallRuleInput, CreateVmFirewallRuleInput, UpdateVmFirewallRuleInput, DeleteVmFirewallRuleInput, ListLxcFirewallRulesInput, GetLxcFirewallRuleInput, CreateLxcFirewallRuleInput, UpdateLxcFirewallRuleInput, DeleteLxcFirewallRuleInput } from '../schemas/vm-advanced.js';
5
5
  /**
6
6
  * Migrate a QEMU VM to another node.
7
7
  */
@@ -66,6 +66,65 @@ export declare function agentExec(client: ProxmoxApiClient, config: Config, inpu
66
66
  * Get guest agent execution status.
67
67
  */
68
68
  export declare function agentExecStatus(client: ProxmoxApiClient, _config: Config, input: AgentExecStatusInput): Promise<ToolResponse>;
69
+ /**
70
+ * Read file content from guest via QEMU agent.
71
+ * Returns base64-decoded content (or base64 if binary).
72
+ */
73
+ export declare function agentFileRead(client: ProxmoxApiClient, config: Config, input: AgentFileReadInput): Promise<ToolResponse>;
74
+ /**
75
+ * Write content to file in guest via QEMU agent.
76
+ * Content is base64-encoded before sending.
77
+ */
78
+ export declare function agentFileWrite(client: ProxmoxApiClient, config: Config, input: AgentFileWriteInput): Promise<ToolResponse>;
79
+ /**
80
+ * Get hostname from guest via QEMU agent.
81
+ */
82
+ export declare function agentGetHostname(client: ProxmoxApiClient, _config: Config, input: AgentGetHostnameInput): Promise<ToolResponse>;
83
+ /**
84
+ * Get list of logged-in users from guest via QEMU agent.
85
+ */
86
+ export declare function agentGetUsers(client: ProxmoxApiClient, _config: Config, input: AgentGetUsersInput): Promise<ToolResponse>;
87
+ /**
88
+ * Set user password in guest via QEMU agent.
89
+ * WARNING: Password is sent in plain text via API.
90
+ */
91
+ export declare function agentSetUserPassword(client: ProxmoxApiClient, config: Config, input: AgentSetUserPasswordInput): Promise<ToolResponse>;
92
+ /**
93
+ * Shutdown guest via QEMU agent (graceful shutdown from inside guest).
94
+ */
95
+ export declare function agentShutdown(client: ProxmoxApiClient, config: Config, input: AgentShutdownInput): Promise<ToolResponse>;
96
+ /**
97
+ * Get filesystem freeze status via QEMU agent.
98
+ */
99
+ export declare function agentFsfreezeStatus(client: ProxmoxApiClient, _config: Config, input: AgentFsfreezeStatusInput): Promise<ToolResponse>;
100
+ /**
101
+ * Freeze guest filesystems via QEMU agent for consistent backup.
102
+ */
103
+ export declare function agentFsfreezeFreeze(client: ProxmoxApiClient, config: Config, input: AgentFsfreezeFreezeInput): Promise<ToolResponse>;
104
+ /**
105
+ * Thaw (unfreeze) guest filesystems via QEMU agent.
106
+ */
107
+ export declare function agentFsfreezeThaw(client: ProxmoxApiClient, config: Config, input: AgentFsfreezeThawInput): Promise<ToolResponse>;
108
+ /**
109
+ * Discard unused blocks on guest filesystems via QEMU agent.
110
+ */
111
+ export declare function agentFstrim(client: ProxmoxApiClient, config: Config, input: AgentFstrimInput): Promise<ToolResponse>;
112
+ /**
113
+ * Get memory block size information via QEMU agent.
114
+ */
115
+ export declare function agentGetMemoryBlockInfo(client: ProxmoxApiClient, _config: Config, input: AgentGetMemoryBlockInfoInput): Promise<ToolResponse>;
116
+ /**
117
+ * Suspend guest to disk (hibernate) via QEMU agent.
118
+ */
119
+ export declare function agentSuspendDisk(client: ProxmoxApiClient, config: Config, input: AgentSuspendDiskInput): Promise<ToolResponse>;
120
+ /**
121
+ * Suspend guest to RAM (sleep) via QEMU agent.
122
+ */
123
+ export declare function agentSuspendRam(client: ProxmoxApiClient, config: Config, input: AgentSuspendRamInput): Promise<ToolResponse>;
124
+ /**
125
+ * Hybrid suspend guest (RAM + disk) via QEMU agent.
126
+ */
127
+ export declare function agentSuspendHybrid(client: ProxmoxApiClient, config: Config, input: AgentSuspendHybridInput): Promise<ToolResponse>;
69
128
  /**
70
129
  * List VM firewall rules.
71
130
  */
@@ -1 +1 @@
1
- {"version":3,"file":"vm-advanced.d.ts","sourceRoot":"","sources":["../../src/tools/vm-advanced.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-advanced.d.ts","sourceRoot":"","sources":["../../src/tools/vm-advanced.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { formatToolResponse, formatErrorResponse } from '../formatters/index.js';
2
2
  import { requireElevated } from '../middleware/index.js';
3
- import { validateNodeName, validateVMID, validateFirewallRulePos } from '../validators/index.js';
4
- import { migrateVmSchema, migrateLxcSchema, createTemplateVmSchema, createTemplateLxcSchema, getVmRrddataSchema, getLxcRrddataSchema, agentPingSchema, agentGetOsinfoSchema, agentGetFsinfoSchema, agentGetMemoryBlocksSchema, agentGetNetworkInterfacesSchema, agentGetTimeSchema, agentGetTimezoneSchema, agentGetVcpusSchema, agentExecSchema, agentExecStatusSchema, listVmFirewallRulesSchema, getVmFirewallRuleSchema, createVmFirewallRuleSchema, updateVmFirewallRuleSchema, deleteVmFirewallRuleSchema, listLxcFirewallRulesSchema, getLxcFirewallRuleSchema, createLxcFirewallRuleSchema, updateLxcFirewallRuleSchema, deleteLxcFirewallRuleSchema, } from '../schemas/vm-advanced.js';
3
+ import { validateNodeName, validateVMID, validateFirewallRulePos, validateFilePath, validateUsername } from '../validators/index.js';
4
+ import { migrateVmSchema, migrateLxcSchema, createTemplateVmSchema, createTemplateLxcSchema, getVmRrddataSchema, getLxcRrddataSchema, agentPingSchema, agentGetOsinfoSchema, agentGetFsinfoSchema, agentGetMemoryBlocksSchema, agentGetNetworkInterfacesSchema, agentGetTimeSchema, agentGetTimezoneSchema, agentGetVcpusSchema, agentExecSchema, agentExecStatusSchema, agentFileReadSchema, agentFileWriteSchema, agentGetHostnameSchema, agentGetUsersSchema, agentSetUserPasswordSchema, agentShutdownSchema, agentFsfreezeStatusSchema, agentFsfreezeFreezeSchema, agentFsfreezeThawSchema, agentFstrimSchema, agentGetMemoryBlockInfoSchema, agentSuspendDiskSchema, agentSuspendRamSchema, agentSuspendHybridSchema, listVmFirewallRulesSchema, getVmFirewallRuleSchema, createVmFirewallRuleSchema, updateVmFirewallRuleSchema, deleteVmFirewallRuleSchema, listLxcFirewallRulesSchema, getLxcFirewallRuleSchema, createLxcFirewallRuleSchema, updateLxcFirewallRuleSchema, deleteLxcFirewallRuleSchema, } from '../schemas/vm-advanced.js';
5
5
  function formatJsonBlock(data) {
6
6
  return `\n\n\`\`\`json\n${JSON.stringify(data, null, 2)}\n\`\`\``;
7
7
  }
@@ -389,6 +389,358 @@ export async function agentExecStatus(client, _config, input) {
389
389
  return formatErrorResponse(error, 'Agent Exec Status');
390
390
  }
391
391
  }
392
+ /**
393
+ * Read file content from guest via QEMU agent.
394
+ * Returns base64-decoded content (or base64 if binary).
395
+ */
396
+ export async function agentFileRead(client, config, input) {
397
+ try {
398
+ requireElevated(config, 'read files from guest');
399
+ const validated = agentFileReadSchema.parse(input);
400
+ const safeNode = validateNodeName(validated.node);
401
+ const safeVmid = validateVMID(validated.vmid);
402
+ const safeFile = validateFilePath(validated.file);
403
+ const result = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/file-read`, 'GET', {
404
+ file: safeFile,
405
+ });
406
+ // Decode base64 content
407
+ let decodedContent;
408
+ let isBinary = false;
409
+ try {
410
+ decodedContent = Buffer.from(result.content, 'base64').toString('utf-8');
411
+ }
412
+ catch {
413
+ // Binary content - show base64
414
+ decodedContent = result.content;
415
+ isBinary = true;
416
+ }
417
+ const truncatedWarning = result.truncated
418
+ ? '\n\n⚠️ **Warning**: Content was truncated (>16 MiB limit)'
419
+ : '';
420
+ const output = `📄 **File Read from Guest**\n\n` +
421
+ `• **Node**: ${safeNode}\n` +
422
+ `• **VM ID**: ${safeVmid}\n` +
423
+ `• **File**: ${safeFile}\n` +
424
+ `• **Bytes Read**: ${result['bytes-read']}\n` +
425
+ (isBinary ? `• **Format**: Binary (base64 encoded)\n` : '') +
426
+ truncatedWarning +
427
+ `\n\n\`\`\`\n${decodedContent}\n\`\`\``;
428
+ return formatToolResponse(output);
429
+ }
430
+ catch (error) {
431
+ return formatErrorResponse(error, 'Agent File Read');
432
+ }
433
+ }
434
+ /**
435
+ * Write content to file in guest via QEMU agent.
436
+ * Content is base64-encoded before sending.
437
+ */
438
+ export async function agentFileWrite(client, config, input) {
439
+ try {
440
+ requireElevated(config, 'write files to guest');
441
+ const validated = agentFileWriteSchema.parse(input);
442
+ const safeNode = validateNodeName(validated.node);
443
+ const safeVmid = validateVMID(validated.vmid);
444
+ const safeFile = validateFilePath(validated.file);
445
+ // Validate content size (60 KiB max before encoding)
446
+ const contentBytes = Buffer.byteLength(validated.content, 'utf-8');
447
+ if (contentBytes > 61440) {
448
+ throw new Error(`Content too large: ${contentBytes} bytes (max 60 KiB = 61,440 bytes)`);
449
+ }
450
+ // Base64 encode content if encode is true (default)
451
+ const encode = validated.encode !== false;
452
+ const content = encode
453
+ ? Buffer.from(validated.content).toString('base64')
454
+ : validated.content;
455
+ await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/file-write`, 'POST', {
456
+ file: safeFile,
457
+ content,
458
+ encode,
459
+ });
460
+ const output = `📝 **File Written to Guest**\n\n` +
461
+ `• **Node**: ${safeNode}\n` +
462
+ `• **VM ID**: ${safeVmid}\n` +
463
+ `• **File**: ${safeFile}\n` +
464
+ `• **Size**: ${contentBytes} bytes\n` +
465
+ `• **Encoded**: ${encode ? 'Yes (base64)' : 'No'}\n\n` +
466
+ `File has been successfully written.`;
467
+ return formatToolResponse(output);
468
+ }
469
+ catch (error) {
470
+ return formatErrorResponse(error, 'Agent File Write');
471
+ }
472
+ }
473
+ /**
474
+ * Get hostname from guest via QEMU agent.
475
+ */
476
+ export async function agentGetHostname(client, _config, input) {
477
+ try {
478
+ const validated = agentGetHostnameSchema.parse(input);
479
+ const safeNode = validateNodeName(validated.node);
480
+ const safeVmid = validateVMID(validated.vmid);
481
+ const result = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/get-host-name`);
482
+ const output = `🖥️ **Guest Hostname**\n\n` +
483
+ `• **Node**: ${safeNode}\n` +
484
+ `• **VM ID**: ${safeVmid}\n` +
485
+ `• **Hostname**: ${result['host-name']}`;
486
+ return formatToolResponse(output);
487
+ }
488
+ catch (error) {
489
+ return formatErrorResponse(error, 'Agent Get Hostname');
490
+ }
491
+ }
492
+ /**
493
+ * Get list of logged-in users from guest via QEMU agent.
494
+ */
495
+ export async function agentGetUsers(client, _config, input) {
496
+ try {
497
+ const validated = agentGetUsersSchema.parse(input);
498
+ const safeNode = validateNodeName(validated.node);
499
+ const safeVmid = validateVMID(validated.vmid);
500
+ const result = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/get-users`);
501
+ if (result.length === 0) {
502
+ const output = `👥 **Logged-in Users**\n\n` +
503
+ `• **Node**: ${safeNode}\n` +
504
+ `• **VM ID**: ${safeVmid}\n\n` +
505
+ `No users currently logged in.`;
506
+ return formatToolResponse(output);
507
+ }
508
+ const userList = result
509
+ .map((u) => {
510
+ const loginTime = new Date(u['login-time'] * 1000).toISOString();
511
+ const domain = u.domain ? ` (${u.domain})` : '';
512
+ return ` - **${u.user}**${domain} — logged in at ${loginTime}`;
513
+ })
514
+ .join('\n');
515
+ const output = `👥 **Logged-in Users**\n\n` +
516
+ `• **Node**: ${safeNode}\n` +
517
+ `• **VM ID**: ${safeVmid}\n` +
518
+ `• **Count**: ${result.length}\n\n` +
519
+ userList;
520
+ return formatToolResponse(output);
521
+ }
522
+ catch (error) {
523
+ return formatErrorResponse(error, 'Agent Get Users');
524
+ }
525
+ }
526
+ /**
527
+ * Set user password in guest via QEMU agent.
528
+ * WARNING: Password is sent in plain text via API.
529
+ */
530
+ export async function agentSetUserPassword(client, config, input) {
531
+ try {
532
+ requireElevated(config, 'set user password in guest');
533
+ const validated = agentSetUserPasswordSchema.parse(input);
534
+ const safeNode = validateNodeName(validated.node);
535
+ const safeVmid = validateVMID(validated.vmid);
536
+ const safeUsername = validateUsername(validated.username);
537
+ // Note: Password is intentionally NOT logged
538
+ await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/set-user-password`, 'POST', {
539
+ username: safeUsername,
540
+ password: validated.password,
541
+ crypted: validated.crypted ?? false,
542
+ });
543
+ const output = `🔐 **User Password Updated**\n\n` +
544
+ `• **Node**: ${safeNode}\n` +
545
+ `• **VM ID**: ${safeVmid}\n` +
546
+ `• **Username**: ${safeUsername}\n` +
547
+ `• **Crypted**: ${validated.crypted ? 'Yes' : 'No'}\n\n` +
548
+ `Password has been successfully updated.`;
549
+ return formatToolResponse(output);
550
+ }
551
+ catch (error) {
552
+ return formatErrorResponse(error, 'Agent Set User Password');
553
+ }
554
+ }
555
+ /**
556
+ * Shutdown guest via QEMU agent (graceful shutdown from inside guest).
557
+ */
558
+ export async function agentShutdown(client, config, input) {
559
+ try {
560
+ requireElevated(config, 'shutdown guest via agent');
561
+ const validated = agentShutdownSchema.parse(input);
562
+ const safeNode = validateNodeName(validated.node);
563
+ const safeVmid = validateVMID(validated.vmid);
564
+ await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/shutdown`, 'POST');
565
+ const output = `🔌 **Guest Shutdown Initiated**\n\n` +
566
+ `• **Node**: ${safeNode}\n` +
567
+ `• **VM ID**: ${safeVmid}\n\n` +
568
+ `Graceful shutdown has been initiated via guest agent.`;
569
+ return formatToolResponse(output);
570
+ }
571
+ catch (error) {
572
+ return formatErrorResponse(error, 'Agent Shutdown');
573
+ }
574
+ }
575
+ /**
576
+ * Get filesystem freeze status via QEMU agent.
577
+ */
578
+ export async function agentFsfreezeStatus(client, _config, input) {
579
+ try {
580
+ const validated = agentFsfreezeStatusSchema.parse(input);
581
+ const safeNode = validateNodeName(validated.node);
582
+ const safeVmid = validateVMID(validated.vmid);
583
+ const status = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/fsfreeze-status`, 'POST');
584
+ const output = `❄️ **Filesystem Freeze Status**\n\n` +
585
+ `• **Node**: ${safeNode}\n` +
586
+ `• **VM ID**: ${safeVmid}\n` +
587
+ `• **Status**: ${status}`;
588
+ return formatToolResponse(output);
589
+ }
590
+ catch (error) {
591
+ return formatErrorResponse(error, 'Agent Fsfreeze Status');
592
+ }
593
+ }
594
+ /**
595
+ * Freeze guest filesystems via QEMU agent for consistent backup.
596
+ */
597
+ export async function agentFsfreezeFreeze(client, config, input) {
598
+ try {
599
+ requireElevated(config, 'freeze guest filesystems');
600
+ const validated = agentFsfreezeFreezeSchema.parse(input);
601
+ const safeNode = validateNodeName(validated.node);
602
+ const safeVmid = validateVMID(validated.vmid);
603
+ const result = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/fsfreeze-freeze`, 'POST');
604
+ const output = `❄️ **Filesystem Freeze**\n\n` +
605
+ `• **Node**: ${safeNode}\n` +
606
+ `• **VM ID**: ${safeVmid}\n` +
607
+ `• **Frozen Filesystems**: ${result}`;
608
+ return formatToolResponse(output);
609
+ }
610
+ catch (error) {
611
+ return formatErrorResponse(error, 'Agent Fsfreeze Freeze');
612
+ }
613
+ }
614
+ /**
615
+ * Thaw (unfreeze) guest filesystems via QEMU agent.
616
+ */
617
+ export async function agentFsfreezeThaw(client, config, input) {
618
+ try {
619
+ requireElevated(config, 'thaw guest filesystems');
620
+ const validated = agentFsfreezeThawSchema.parse(input);
621
+ const safeNode = validateNodeName(validated.node);
622
+ const safeVmid = validateVMID(validated.vmid);
623
+ const result = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/fsfreeze-thaw`, 'POST');
624
+ const output = `❄️ **Filesystem Thaw**\n\n` +
625
+ `• **Node**: ${safeNode}\n` +
626
+ `• **VM ID**: ${safeVmid}\n` +
627
+ `• **Thawed Filesystems**: ${result}`;
628
+ return formatToolResponse(output);
629
+ }
630
+ catch (error) {
631
+ return formatErrorResponse(error, 'Agent Fsfreeze Thaw');
632
+ }
633
+ }
634
+ /**
635
+ * Discard unused blocks on guest filesystems via QEMU agent.
636
+ */
637
+ export async function agentFstrim(client, config, input) {
638
+ try {
639
+ requireElevated(config, 'trim guest filesystems');
640
+ const validated = agentFstrimSchema.parse(input);
641
+ const safeNode = validateNodeName(validated.node);
642
+ const safeVmid = validateVMID(validated.vmid);
643
+ const result = await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/fstrim`, 'POST');
644
+ let output = `💾 **Filesystem Trim**\n\n` +
645
+ `• **Node**: ${safeNode}\n` +
646
+ `• **VM ID**: ${safeVmid}\n`;
647
+ if (result && typeof result === 'object') {
648
+ output += `\n\`\`\`json\n${JSON.stringify(result, null, 2)}\n\`\`\``;
649
+ }
650
+ else {
651
+ output += `• **Result**: ${result}`;
652
+ }
653
+ return formatToolResponse(output);
654
+ }
655
+ catch (error) {
656
+ return formatErrorResponse(error, 'Agent Fstrim');
657
+ }
658
+ }
659
+ /**
660
+ * Get memory block size information via QEMU agent.
661
+ */
662
+ export async function agentGetMemoryBlockInfo(client, _config, input) {
663
+ try {
664
+ const validated = agentGetMemoryBlockInfoSchema.parse(input);
665
+ const safeNode = validateNodeName(validated.node);
666
+ const safeVmid = validateVMID(validated.vmid);
667
+ const result = (await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/get-memory-block-info`, 'GET'));
668
+ let output = `🧠 **Memory Block Info**\n\n` +
669
+ `• **Node**: ${safeNode}\n` +
670
+ `• **VM ID**: ${safeVmid}\n`;
671
+ if (result?.size) {
672
+ const sizeMB = result.size / (1024 * 1024);
673
+ output += `• **Block Size**: ${result.size} bytes (${sizeMB} MB)`;
674
+ }
675
+ else {
676
+ output += `\n\`\`\`json\n${JSON.stringify(result, null, 2)}\n\`\`\``;
677
+ }
678
+ return formatToolResponse(output);
679
+ }
680
+ catch (error) {
681
+ return formatErrorResponse(error, 'Agent Get Memory Block Info');
682
+ }
683
+ }
684
+ /**
685
+ * Suspend guest to disk (hibernate) via QEMU agent.
686
+ */
687
+ export async function agentSuspendDisk(client, config, input) {
688
+ try {
689
+ requireElevated(config, 'suspend guest to disk');
690
+ const validated = agentSuspendDiskSchema.parse(input);
691
+ const safeNode = validateNodeName(validated.node);
692
+ const safeVmid = validateVMID(validated.vmid);
693
+ await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/suspend-disk`, 'POST');
694
+ const output = `🔌 **Guest Suspended to Disk**\n\n` +
695
+ `• **Node**: ${safeNode}\n` +
696
+ `• **VM ID**: ${safeVmid}\n\n` +
697
+ `Guest has been hibernated (suspended to disk).`;
698
+ return formatToolResponse(output);
699
+ }
700
+ catch (error) {
701
+ return formatErrorResponse(error, 'Agent Suspend Disk');
702
+ }
703
+ }
704
+ /**
705
+ * Suspend guest to RAM (sleep) via QEMU agent.
706
+ */
707
+ export async function agentSuspendRam(client, config, input) {
708
+ try {
709
+ requireElevated(config, 'suspend guest to RAM');
710
+ const validated = agentSuspendRamSchema.parse(input);
711
+ const safeNode = validateNodeName(validated.node);
712
+ const safeVmid = validateVMID(validated.vmid);
713
+ await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/suspend-ram`, 'POST');
714
+ const output = `🔌 **Guest Suspended to RAM**\n\n` +
715
+ `• **Node**: ${safeNode}\n` +
716
+ `• **VM ID**: ${safeVmid}\n\n` +
717
+ `Guest has been put to sleep (suspended to RAM).`;
718
+ return formatToolResponse(output);
719
+ }
720
+ catch (error) {
721
+ return formatErrorResponse(error, 'Agent Suspend RAM');
722
+ }
723
+ }
724
+ /**
725
+ * Hybrid suspend guest (RAM + disk) via QEMU agent.
726
+ */
727
+ export async function agentSuspendHybrid(client, config, input) {
728
+ try {
729
+ requireElevated(config, 'hybrid suspend guest');
730
+ const validated = agentSuspendHybridSchema.parse(input);
731
+ const safeNode = validateNodeName(validated.node);
732
+ const safeVmid = validateVMID(validated.vmid);
733
+ await client.request(`/nodes/${safeNode}/qemu/${safeVmid}/agent/suspend-hybrid`, 'POST');
734
+ const output = `🔌 **Guest Hybrid Suspended**\n\n` +
735
+ `• **Node**: ${safeNode}\n` +
736
+ `• **VM ID**: ${safeVmid}\n\n` +
737
+ `Guest has been hybrid suspended (RAM + disk).`;
738
+ return formatToolResponse(output);
739
+ }
740
+ catch (error) {
741
+ return formatErrorResponse(error, 'Agent Suspend Hybrid');
742
+ }
743
+ }
392
744
  /**
393
745
  * List VM firewall rules.
394
746
  */