@bldg-7/proxmox-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 (44) hide show
  1. package/README.md +162 -4
  2. package/dist/schemas/disk.d.ts +47 -0
  3. package/dist/schemas/disk.d.ts.map +1 -1
  4. package/dist/schemas/disk.js +21 -0
  5. package/dist/schemas/disk.js.map +1 -1
  6. package/dist/schemas/node.d.ts +30 -0
  7. package/dist/schemas/node.d.ts.map +1 -1
  8. package/dist/schemas/node.js +14 -0
  9. package/dist/schemas/node.js.map +1 -1
  10. package/dist/schemas/vm.d.ts +22 -0
  11. package/dist/schemas/vm.d.ts.map +1 -1
  12. package/dist/schemas/vm.js +10 -0
  13. package/dist/schemas/vm.js.map +1 -1
  14. package/dist/server.d.ts.map +1 -1
  15. package/dist/server.js +10 -0
  16. package/dist/server.js.map +1 -1
  17. package/dist/tools/disk.d.ts +21 -1
  18. package/dist/tools/disk.d.ts.map +1 -1
  19. package/dist/tools/disk.js +163 -2
  20. package/dist/tools/disk.js.map +1 -1
  21. package/dist/tools/index.d.ts +3 -3
  22. package/dist/tools/index.d.ts.map +1 -1
  23. package/dist/tools/index.js +3 -3
  24. package/dist/tools/index.js.map +1 -1
  25. package/dist/tools/node.d.ts +16 -1
  26. package/dist/tools/node.d.ts.map +1 -1
  27. package/dist/tools/node.js +98 -2
  28. package/dist/tools/node.js.map +1 -1
  29. package/dist/tools/registry.d.ts.map +1 -1
  30. package/dist/tools/registry.js +16 -7
  31. package/dist/tools/registry.js.map +1 -1
  32. package/dist/tools/vm-query.d.ts +13 -1
  33. package/dist/tools/vm-query.d.ts.map +1 -1
  34. package/dist/tools/vm-query.js +102 -1
  35. package/dist/tools/vm-query.js.map +1 -1
  36. package/dist/types/tools.d.ts +1 -1
  37. package/dist/types/tools.d.ts.map +1 -1
  38. package/dist/types/tools.js +9 -0
  39. package/dist/types/tools.js.map +1 -1
  40. package/dist/validators/index.d.ts +8 -0
  41. package/dist/validators/index.d.ts.map +1 -1
  42. package/dist/validators/index.js +17 -0
  43. package/dist/validators/index.js.map +1 -1
  44. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { formatToolResponse, formatErrorResponse, formatBytes, formatUptime, formatCpuPercent, } from '../formatters/index.js';
2
2
  import { validateNodeName, validateVMID } from '../validators/index.js';
3
- import { getVmsSchema, getVmStatusSchema, getStorageSchema } from '../schemas/vm.js';
3
+ import { getVmsSchema, getVmStatusSchema, getStorageSchema, getVmConfigSchema, getLxcConfigSchema } from '../schemas/vm.js';
4
4
  /**
5
5
  * List all VMs/LXCs across cluster with status.
6
6
  * No elevated permissions required.
@@ -103,6 +103,107 @@ export async function getVMStatus(client, _config, input) {
103
103
  return formatErrorResponse(error, 'Get VM Status');
104
104
  }
105
105
  }
106
+ /**
107
+ * Get hardware configuration for a QEMU VM.
108
+ * Returns disks, network interfaces, CPU, memory settings.
109
+ * No elevated permissions required.
110
+ */
111
+ export async function getVMConfig(client, _config, input) {
112
+ try {
113
+ const validated = getVmConfigSchema.parse(input);
114
+ const safeNode = validateNodeName(validated.node);
115
+ const safeVMID = validateVMID(validated.vmid);
116
+ const vmConfig = await client.request(`/nodes/${safeNode}/qemu/${safeVMID}/config`);
117
+ let output = `🖥️ **QEMU VM Configuration** (ID: ${safeVMID})\n\n`;
118
+ output += `• **Node**: ${safeNode}\n`;
119
+ output += `• **Name**: ${vmConfig.name || 'N/A'}\n`;
120
+ output += `• **Memory**: ${vmConfig.memory || 'N/A'} MB\n`;
121
+ output += `• **CPU Cores**: ${vmConfig.cores || 1}\n`;
122
+ output += `• **CPU Sockets**: ${vmConfig.sockets || 1}\n`;
123
+ output += `• **OS Type**: ${vmConfig.ostype || 'N/A'}\n\n`;
124
+ // Disks
125
+ output += `**💿 Disks**:\n`;
126
+ const diskKeys = Object.keys(vmConfig).filter(k => /^(scsi|virtio|ide|sata)\d+$/.test(k)).sort();
127
+ if (diskKeys.length === 0) {
128
+ output += ` (none)\n`;
129
+ }
130
+ else {
131
+ for (const key of diskKeys) {
132
+ output += ` • ${key}: ${vmConfig[key]}\n`;
133
+ }
134
+ }
135
+ // Network interfaces
136
+ output += `\n**🌐 Network Interfaces**:\n`;
137
+ const netKeys = Object.keys(vmConfig).filter(k => /^net\d+$/.test(k)).sort();
138
+ if (netKeys.length === 0) {
139
+ output += ` (none)\n`;
140
+ }
141
+ else {
142
+ for (const key of netKeys) {
143
+ output += ` • ${key}: ${vmConfig[key]}\n`;
144
+ }
145
+ }
146
+ // Boot order
147
+ if (vmConfig.boot) {
148
+ output += `\n**🔄 Boot Order**: ${vmConfig.boot}\n`;
149
+ }
150
+ return formatToolResponse(output);
151
+ }
152
+ catch (error) {
153
+ return formatErrorResponse(error, 'Get VM Config');
154
+ }
155
+ }
156
+ /**
157
+ * Get hardware configuration for an LXC container.
158
+ * Returns mount points, network interfaces, CPU, memory settings.
159
+ * No elevated permissions required.
160
+ */
161
+ export async function getLxcConfig(client, _config, input) {
162
+ try {
163
+ const validated = getLxcConfigSchema.parse(input);
164
+ const safeNode = validateNodeName(validated.node);
165
+ const safeVMID = validateVMID(validated.vmid);
166
+ const lxcConfig = await client.request(`/nodes/${safeNode}/lxc/${safeVMID}/config`);
167
+ let output = `📦 **LXC Container Configuration** (ID: ${safeVMID})\n\n`;
168
+ output += `• **Node**: ${safeNode}\n`;
169
+ output += `• **Hostname**: ${lxcConfig.hostname || 'N/A'}\n`;
170
+ output += `• **Memory**: ${lxcConfig.memory || 'N/A'} MB\n`;
171
+ output += `• **Swap**: ${lxcConfig.swap || 0} MB\n`;
172
+ output += `• **CPU Cores**: ${lxcConfig.cores || 'unlimited'}\n`;
173
+ output += `• **OS Type**: ${lxcConfig.ostype || 'N/A'}\n\n`;
174
+ // Root filesystem
175
+ if (lxcConfig.rootfs) {
176
+ output += `**💿 Root Filesystem**:\n`;
177
+ output += ` • rootfs: ${lxcConfig.rootfs}\n\n`;
178
+ }
179
+ // Mount points
180
+ output += `**📁 Mount Points**:\n`;
181
+ const mpKeys = Object.keys(lxcConfig).filter(k => /^mp\d+$/.test(k)).sort();
182
+ if (mpKeys.length === 0) {
183
+ output += ` (none)\n`;
184
+ }
185
+ else {
186
+ for (const key of mpKeys) {
187
+ output += ` • ${key}: ${lxcConfig[key]}\n`;
188
+ }
189
+ }
190
+ // Network interfaces
191
+ output += `\n**🌐 Network Interfaces**:\n`;
192
+ const netKeys = Object.keys(lxcConfig).filter(k => /^net\d+$/.test(k)).sort();
193
+ if (netKeys.length === 0) {
194
+ output += ` (none)\n`;
195
+ }
196
+ else {
197
+ for (const key of netKeys) {
198
+ output += ` • ${key}: ${lxcConfig[key]}\n`;
199
+ }
200
+ }
201
+ return formatToolResponse(output);
202
+ }
203
+ catch (error) {
204
+ return formatErrorResponse(error, 'Get LXC Config');
205
+ }
206
+ }
106
207
  /**
107
208
  * List all storage pools and their usage.
108
209
  * No elevated permissions required.
@@ -1 +1 @@
1
- {"version":3,"file":"vm-query.js","sourceRoot":"","sources":["../../src/tools/vm-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vm-query.js","sourceRoot":"","sources":["../../src/tools/vm-query.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAQ5H;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,MAAwB,EACxB,OAAe,EACf,KAAkB;IAElB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;QAClC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC;QAE3C,IAAI,GAAG,GAAiB,EAAE,CAAC;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,oBAAoB;YACpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,OAAO,CAAC,CAAgB,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;gBACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,MAAM,CAAC,CAAgB,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAkB,CAAC;YAEhE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,OAAO,CAAC,CAAgB,CAAC;oBAClF,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,MAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzF,CAAC;gBAED,IAAI,UAAU,KAAK,KAAK,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,MAAM,CAAC,CAAgB,CAAC;oBAClF,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAe,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExE,gBAAgB;QAChB,IAAI,MAAM,GAAG,6BAA6B,CAAC;QAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,8BAA8B,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACtF,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC3D,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpF,MAAM,QAAQ,GACZ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAErF,MAAM,IAAI,GAAG,MAAM,IAAI,QAAQ,MAAM,EAAE,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC;gBACvF,MAAM,IAAI,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC;gBACpC,MAAM,IAAI,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC;gBACxC,MAAM,IAAI,cAAc,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;gBAClD,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,IAAI,gBAAgB,MAAM,IAAI,CAAC;oBACrC,MAAM,IAAI,aAAa,QAAQ,IAAI,CAAC;oBACpC,MAAM,IAAI,gBAAgB,QAAQ,IAAI,CAAC;gBACzC,CAAC;gBACD,MAAM,IAAI,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAeD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAwB,EACxB,OAAe,EACf,KAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC;QAEtC,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CACpC,UAAU,QAAQ,IAAI,IAAI,IAAI,QAAQ,iBAAiB,CACxD,CAAa,CAAC;QAEf,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAClG,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhD,IAAI,MAAM,GAAG,GAAG,MAAM,IAAI,QAAQ,MAAM,QAAQ,CAAC,IAAI,IAAI,MAAM,QAAQ,EAAE,WAAW,QAAQ,OAAO,CAAC;QACpG,MAAM,IAAI,eAAe,QAAQ,IAAI,CAAC;QACtC,MAAM,IAAI,iBAAiB,QAAQ,CAAC,MAAM,IAAI,CAAC;QAC/C,MAAM,IAAI,eAAe,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;QAEhD,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAiB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACvF,MAAM,IAAI,oBAAoB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACxF,MAAM,IAAI,iBACR,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM;gBAC7B,CAAC,CAAC,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBAC5H,CAAC,CAAC,KACN,IAAI,CAAC;YACL,MAAM,IAAI,oBAAoB,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAC7F,MAAM,IAAI,qBAAqB,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAChG,MAAM,IAAI,qBAAqB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YACxF,MAAM,IAAI,sBAAsB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAC7F,CAAC;QAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAwB,EACxB,OAAe,EACf,KAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,UAAU,QAAQ,SAAS,QAAQ,SAAS,CAClB,CAAC;QAE7B,IAAI,MAAM,GAAG,sCAAsC,QAAQ,OAAO,CAAC;QACnE,MAAM,IAAI,eAAe,QAAQ,IAAI,CAAC;QACtC,MAAM,IAAI,eAAe,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;QACpD,MAAM,IAAI,iBAAiB,QAAQ,CAAC,MAAM,IAAI,KAAK,OAAO,CAAC;QAC3D,MAAM,IAAI,oBAAoB,QAAQ,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC;QACtD,MAAM,IAAI,sBAAsB,QAAQ,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC;QAC1D,MAAM,IAAI,kBAAkB,QAAQ,CAAC,MAAM,IAAI,KAAK,MAAM,CAAC;QAE3D,QAAQ;QACR,MAAM,IAAI,iBAAiB,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAChD,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC,CACtC,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,YAAY,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,gCAAgC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,wBAAwB,QAAQ,CAAC,IAAI,IAAI,CAAC;QACtD,CAAC;QAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,eAAe,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAwB,EACxB,OAAe,EACf,KAAwB;IAExB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CACpC,UAAU,QAAQ,QAAQ,QAAQ,SAAS,CACjB,CAAC;QAE7B,IAAI,MAAM,GAAG,2CAA2C,QAAQ,OAAO,CAAC;QACxE,MAAM,IAAI,eAAe,QAAQ,IAAI,CAAC;QACtC,MAAM,IAAI,mBAAmB,SAAS,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC;QAC7D,MAAM,IAAI,iBAAiB,SAAS,CAAC,MAAM,IAAI,KAAK,OAAO,CAAC;QAC5D,MAAM,IAAI,eAAe,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;QACpD,MAAM,IAAI,oBAAoB,SAAS,CAAC,KAAK,IAAI,WAAW,IAAI,CAAC;QACjE,MAAM,IAAI,kBAAkB,SAAS,CAAC,MAAM,IAAI,KAAK,MAAM,CAAC;QAE5D,kBAAkB;QAClB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,IAAI,2BAA2B,CAAC;YACtC,MAAM,IAAI,eAAe,SAAS,CAAC,MAAM,MAAM,CAAC;QAClD,CAAC;QAED,eAAe;QACf,MAAM,IAAI,wBAAwB,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,YAAY,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,OAAO,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,gCAAgC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,YAAY,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,OAAO,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,gBAAgB,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAMD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAwB,EACxB,OAAe,EACf,KAAsB;IAEtB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC;QAElC,IAAI,QAAQ,GAAsB,EAAE,CAAC;QAErC,IAAI,UAAU,EAAE,CAAC;YACf,oBAAoB;YACpB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,UAAU,CAAC,CAAqB,CAAC;YAC9F,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAkB,CAAC;YAEhE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,CAAqB,CAAC;gBAC/F,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,MAAM,cAAc,GAAsB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAElE,gBAAgB;QAChB,IAAI,MAAM,GAAG,0BAA0B,CAAC;QAExC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,qBAAqB,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,MAAM,YAAY,GAChB,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE5F,MAAM,IAAI,GAAG,MAAM,MAAM,OAAO,CAAC,OAAO,MAAM,CAAC;gBAC/C,MAAM,IAAI,cAAc,OAAO,CAAC,IAAI,IAAI,KAAK,IAAI,CAAC;gBAClD,MAAM,IAAI,cAAc,OAAO,CAAC,IAAI,IAAI,CAAC;gBACzC,MAAM,IAAI,iBAAiB,OAAO,CAAC,OAAO,IAAI,KAAK,IAAI,CAAC;gBACxD,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,IAAI,eAAe,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,MAAM,CAAC;gBAC5G,CAAC;gBACD,MAAM,IAAI,gBAAgB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,mBAAmB,CAAC,KAAc,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const TOOL_NAMES: readonly ["proxmox_get_nodes", "proxmox_get_node_status", "proxmox_get_vms", "proxmox_get_vm_status", "proxmox_execute_vm_command", "proxmox_get_storage", "proxmox_get_cluster_status", "proxmox_list_templates", "proxmox_create_lxc", "proxmox_create_vm", "proxmox_get_next_vmid", "proxmox_start_lxc", "proxmox_start_vm", "proxmox_stop_lxc", "proxmox_stop_vm", "proxmox_delete_lxc", "proxmox_delete_vm", "proxmox_reboot_lxc", "proxmox_reboot_vm", "proxmox_shutdown_lxc", "proxmox_shutdown_vm", "proxmox_pause_vm", "proxmox_resume_vm", "proxmox_clone_lxc", "proxmox_clone_vm", "proxmox_resize_lxc", "proxmox_resize_vm", "proxmox_create_snapshot_lxc", "proxmox_create_snapshot_vm", "proxmox_list_snapshots_lxc", "proxmox_list_snapshots_vm", "proxmox_rollback_snapshot_lxc", "proxmox_rollback_snapshot_vm", "proxmox_delete_snapshot_lxc", "proxmox_delete_snapshot_vm", "proxmox_create_backup_lxc", "proxmox_create_backup_vm", "proxmox_list_backups", "proxmox_restore_backup_lxc", "proxmox_restore_backup_vm", "proxmox_delete_backup", "proxmox_add_disk_vm", "proxmox_add_mountpoint_lxc", "proxmox_resize_disk_vm", "proxmox_resize_disk_lxc", "proxmox_remove_disk_vm", "proxmox_remove_mountpoint_lxc", "proxmox_move_disk_vm", "proxmox_move_disk_lxc", "proxmox_add_network_vm", "proxmox_add_network_lxc", "proxmox_update_network_vm", "proxmox_update_network_lxc", "proxmox_remove_network_vm", "proxmox_remove_network_lxc"];
1
+ export declare const TOOL_NAMES: readonly ["proxmox_get_nodes", "proxmox_get_node_status", "proxmox_get_vms", "proxmox_get_vm_status", "proxmox_get_vm_config", "proxmox_get_lxc_config", "proxmox_execute_vm_command", "proxmox_get_storage", "proxmox_get_cluster_status", "proxmox_list_templates", "proxmox_create_lxc", "proxmox_create_vm", "proxmox_get_next_vmid", "proxmox_start_lxc", "proxmox_start_vm", "proxmox_stop_lxc", "proxmox_stop_vm", "proxmox_delete_lxc", "proxmox_delete_vm", "proxmox_reboot_lxc", "proxmox_reboot_vm", "proxmox_shutdown_lxc", "proxmox_shutdown_vm", "proxmox_pause_vm", "proxmox_resume_vm", "proxmox_clone_lxc", "proxmox_clone_vm", "proxmox_resize_lxc", "proxmox_resize_vm", "proxmox_create_snapshot_lxc", "proxmox_create_snapshot_vm", "proxmox_list_snapshots_lxc", "proxmox_list_snapshots_vm", "proxmox_rollback_snapshot_lxc", "proxmox_rollback_snapshot_vm", "proxmox_delete_snapshot_lxc", "proxmox_delete_snapshot_vm", "proxmox_create_backup_lxc", "proxmox_create_backup_vm", "proxmox_list_backups", "proxmox_restore_backup_lxc", "proxmox_restore_backup_vm", "proxmox_delete_backup", "proxmox_add_disk_vm", "proxmox_add_mountpoint_lxc", "proxmox_resize_disk_vm", "proxmox_resize_disk_lxc", "proxmox_remove_disk_vm", "proxmox_remove_mountpoint_lxc", "proxmox_move_disk_vm", "proxmox_move_disk_lxc", "proxmox_add_network_vm", "proxmox_add_network_lxc", "proxmox_update_network_vm", "proxmox_update_network_lxc", "proxmox_remove_network_vm", "proxmox_remove_network_lxc", "proxmox_get_node_disks", "proxmox_get_disk_smart", "proxmox_get_node_lvm", "proxmox_get_node_zfs", "proxmox_get_node_network", "proxmox_get_node_dns", "proxmox_get_network_iface"];
2
2
  export type ToolName = (typeof TOOL_NAMES)[number];
3
3
  export type PermissionLevel = 'basic' | 'elevated';
4
4
  export interface ToolResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,s4CAwDb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,YAAY,CAK9E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,8mDAiEb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,UAAQ,GAAG,YAAY,CAK9E"}
@@ -3,6 +3,8 @@ export const TOOL_NAMES = [
3
3
  'proxmox_get_node_status',
4
4
  'proxmox_get_vms',
5
5
  'proxmox_get_vm_status',
6
+ 'proxmox_get_vm_config',
7
+ 'proxmox_get_lxc_config',
6
8
  'proxmox_execute_vm_command',
7
9
  'proxmox_get_storage',
8
10
  'proxmox_get_cluster_status',
@@ -54,6 +56,13 @@ export const TOOL_NAMES = [
54
56
  'proxmox_update_network_lxc',
55
57
  'proxmox_remove_network_vm',
56
58
  'proxmox_remove_network_lxc',
59
+ 'proxmox_get_node_disks',
60
+ 'proxmox_get_disk_smart',
61
+ 'proxmox_get_node_lvm',
62
+ 'proxmox_get_node_zfs',
63
+ 'proxmox_get_node_network',
64
+ 'proxmox_get_node_dns',
65
+ 'proxmox_get_network_iface',
57
66
  ];
58
67
  export function createToolResponse(text, isError = false) {
59
68
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,mBAAmB;IACnB,yBAAyB;IACzB,iBAAiB;IACjB,uBAAuB;IACvB,4BAA4B;IAC5B,qBAAqB;IACrB,4BAA4B;IAC5B,wBAAwB;IACxB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,6BAA6B;IAC7B,4BAA4B;IAC5B,4BAA4B;IAC5B,2BAA2B;IAC3B,+BAA+B;IAC/B,8BAA8B;IAC9B,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,sBAAsB;IACtB,4BAA4B;IAC5B,2BAA2B;IAC3B,uBAAuB;IACvB,qBAAqB;IACrB,4BAA4B;IAC5B,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;IACxB,+BAA+B;IAC/B,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,4BAA4B;IAC5B,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAcX,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC9D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/types/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,mBAAmB;IACnB,yBAAyB;IACzB,iBAAiB;IACjB,uBAAuB;IACvB,uBAAuB;IACvB,wBAAwB;IACxB,4BAA4B;IAC5B,qBAAqB;IACrB,4BAA4B;IAC5B,wBAAwB;IACxB,oBAAoB;IACpB,mBAAmB;IACnB,uBAAuB;IACvB,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,mBAAmB;IACnB,sBAAsB;IACtB,qBAAqB;IACrB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;IAClB,oBAAoB;IACpB,mBAAmB;IACnB,6BAA6B;IAC7B,4BAA4B;IAC5B,4BAA4B;IAC5B,2BAA2B;IAC3B,+BAA+B;IAC/B,8BAA8B;IAC9B,6BAA6B;IAC7B,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,sBAAsB;IACtB,4BAA4B;IAC5B,2BAA2B;IAC3B,uBAAuB;IACvB,qBAAqB;IACrB,4BAA4B;IAC5B,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;IACxB,+BAA+B;IAC/B,sBAAsB;IACtB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,2BAA2B;IAC3B,4BAA4B;IAC3B,2BAA2B;IAC3B,4BAA4B;IAC3B,wBAAwB;IACxB,wBAAwB;IACxB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,sBAAsB;IACtB,2BAA2B;CACrB,CAAC;AAcX,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC9D,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACjC,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -66,6 +66,14 @@ export declare function validateNetworkId(net: unknown): string;
66
66
  * @throws {Error} If bridge name is invalid
67
67
  */
68
68
  export declare function validateBridgeName(bridge: unknown): string;
69
+ /**
70
+ * Validates a Linux network interface name.
71
+ * Must start with a letter, followed by alphanumeric characters, dots (for VLAN), hyphens, or underscores.
72
+ * Examples: eth0, vmbr0, bond0, eth0.100 (VLAN), ens18, enp0s3
73
+ *
74
+ * @throws {Error} If interface name is invalid
75
+ */
76
+ export declare function validateInterfaceName(iface: unknown): string;
69
77
  /**
70
78
  * Generates a secure random password using Node.js crypto.
71
79
  * Length: 16 characters.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAWlD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmBxD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiB5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAqBpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAiB9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAapD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAWtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAW1D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAU/C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAWlD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAmBxD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiB5D;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAqBpD;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM,CAiB9D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAapD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAWtD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAW1D;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAa5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAU/C"}
@@ -168,6 +168,23 @@ export function validateBridgeName(bridge) {
168
168
  }
169
169
  return bridge;
170
170
  }
171
+ /**
172
+ * Validates a Linux network interface name.
173
+ * Must start with a letter, followed by alphanumeric characters, dots (for VLAN), hyphens, or underscores.
174
+ * Examples: eth0, vmbr0, bond0, eth0.100 (VLAN), ens18, enp0s3
175
+ *
176
+ * @throws {Error} If interface name is invalid
177
+ */
178
+ export function validateInterfaceName(iface) {
179
+ if (!iface || typeof iface !== 'string') {
180
+ throw new Error('Interface name is required and must be a string');
181
+ }
182
+ // Linux interface names: must start with letter, then alphanumeric, dots (VLAN), hyphens, underscores
183
+ if (!/^[a-zA-Z][a-zA-Z0-9._-]*$/.test(iface)) {
184
+ throw new Error('Invalid interface name format. Must start with a letter, followed by alphanumeric characters, dots (VLAN), hyphens, or underscores');
185
+ }
186
+ return iface;
187
+ }
171
188
  /**
172
189
  * Generates a secure random password using Node.js crypto.
173
190
  * Length: 16 characters.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;AACvB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,0EAA0E;IAC1E,MAAM,cAAc,GAAG,qBAAqB,CAAC;IAC7C,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IAED,qDAAqD;IACrD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,mDAAmD;IACnD,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IAED,uCAAuC;IACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAe;IAChD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,sGAAsG;IACtG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,oIAAoI,CACrI,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAG,wEAAwE,CAAC;IACvF,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bldg-7/proxmox-mcp",
3
- "version": "0.1.5",
3
+ "version": "0.3.0",
4
4
  "description": "Proxmox MCP Server - TypeScript rewrite",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",