@bldg-7/proxmox-mcp 0.6.0 → 1.0.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 (205) hide show
  1. package/README.md +37 -42
  2. package/dist/schemas/access-control.d.ts +503 -14
  3. package/dist/schemas/access-control.d.ts.map +1 -1
  4. package/dist/schemas/access-control.js +93 -0
  5. package/dist/schemas/access-control.js.map +1 -1
  6. package/dist/schemas/acme.d.ts +45 -24
  7. package/dist/schemas/acme.d.ts.map +1 -1
  8. package/dist/schemas/acme.js +37 -30
  9. package/dist/schemas/acme.js.map +1 -1
  10. package/dist/schemas/backup.d.ts +156 -6
  11. package/dist/schemas/backup.d.ts.map +1 -1
  12. package/dist/schemas/backup.js +35 -0
  13. package/dist/schemas/backup.js.map +1 -1
  14. package/dist/schemas/ceph.d.ts +240 -0
  15. package/dist/schemas/ceph.d.ts.map +1 -1
  16. package/dist/schemas/ceph.js +111 -1
  17. package/dist/schemas/ceph.js.map +1 -1
  18. package/dist/schemas/certificate.d.ts +41 -23
  19. package/dist/schemas/certificate.d.ts.map +1 -1
  20. package/dist/schemas/certificate.js +32 -32
  21. package/dist/schemas/certificate.js.map +1 -1
  22. package/dist/schemas/cloud-init.d.ts +19 -12
  23. package/dist/schemas/cloud-init.d.ts.map +1 -1
  24. package/dist/schemas/cloud-init.js +12 -8
  25. package/dist/schemas/cloud-init.js.map +1 -1
  26. package/dist/schemas/cluster-management.d.ts +1065 -76
  27. package/dist/schemas/cluster-management.d.ts.map +1 -1
  28. package/dist/schemas/cluster-management.js +222 -0
  29. package/dist/schemas/cluster-management.js.map +1 -1
  30. package/dist/schemas/console-access.d.ts +14 -28
  31. package/dist/schemas/console-access.d.ts.map +1 -1
  32. package/dist/schemas/console-access.js +6 -9
  33. package/dist/schemas/console-access.js.map +1 -1
  34. package/dist/schemas/disk.d.ts +203 -10
  35. package/dist/schemas/disk.d.ts.map +1 -1
  36. package/dist/schemas/disk.js +48 -0
  37. package/dist/schemas/disk.js.map +1 -1
  38. package/dist/schemas/guest.d.ts +693 -0
  39. package/dist/schemas/guest.d.ts.map +1 -0
  40. package/dist/schemas/guest.js +320 -0
  41. package/dist/schemas/guest.js.map +1 -0
  42. package/dist/schemas/network.d.ts +98 -0
  43. package/dist/schemas/network.d.ts.map +1 -1
  44. package/dist/schemas/network.js +38 -0
  45. package/dist/schemas/network.js.map +1 -1
  46. package/dist/schemas/node-network.d.ts +185 -12
  47. package/dist/schemas/node-network.d.ts.map +1 -1
  48. package/dist/schemas/node-network.js +64 -0
  49. package/dist/schemas/node-network.js.map +1 -1
  50. package/dist/schemas/node.d.ts +277 -2
  51. package/dist/schemas/node.d.ts.map +1 -1
  52. package/dist/schemas/node.js +135 -0
  53. package/dist/schemas/node.js.map +1 -1
  54. package/dist/schemas/notifications.d.ts +37 -27
  55. package/dist/schemas/notifications.d.ts.map +1 -1
  56. package/dist/schemas/notifications.js +36 -37
  57. package/dist/schemas/notifications.js.map +1 -1
  58. package/dist/schemas/pool-management.d.ts +58 -2
  59. package/dist/schemas/pool-management.d.ts.map +1 -1
  60. package/dist/schemas/pool-management.js +26 -0
  61. package/dist/schemas/pool-management.js.map +1 -1
  62. package/dist/schemas/sdn.d.ts +436 -0
  63. package/dist/schemas/sdn.d.ts.map +1 -1
  64. package/dist/schemas/sdn.js +72 -0
  65. package/dist/schemas/sdn.js.map +1 -1
  66. package/dist/schemas/snapshot.d.ts +150 -0
  67. package/dist/schemas/snapshot.d.ts.map +1 -1
  68. package/dist/schemas/snapshot.js +35 -0
  69. package/dist/schemas/snapshot.js.map +1 -1
  70. package/dist/schemas/storage-management.d.ts +399 -16
  71. package/dist/schemas/storage-management.d.ts.map +1 -1
  72. package/dist/schemas/storage-management.js +141 -0
  73. package/dist/schemas/storage-management.js.map +1 -1
  74. package/dist/schemas/system-operations.d.ts +253 -4
  75. package/dist/schemas/system-operations.d.ts.map +1 -1
  76. package/dist/schemas/system-operations.js +117 -0
  77. package/dist/schemas/system-operations.js.map +1 -1
  78. package/dist/schemas/vm-advanced.d.ts +425 -60
  79. package/dist/schemas/vm-advanced.d.ts.map +1 -1
  80. package/dist/schemas/vm-advanced.js +69 -0
  81. package/dist/schemas/vm-advanced.js.map +1 -1
  82. package/dist/schemas/vm.d.ts +48 -14
  83. package/dist/schemas/vm.d.ts.map +1 -1
  84. package/dist/schemas/vm.js +16 -2
  85. package/dist/schemas/vm.js.map +1 -1
  86. package/dist/server.d.ts.map +1 -1
  87. package/dist/server.js +96 -319
  88. package/dist/server.js.map +1 -1
  89. package/dist/tools/access-control.d.ts +7 -1
  90. package/dist/tools/access-control.d.ts.map +1 -1
  91. package/dist/tools/access-control.js +143 -1
  92. package/dist/tools/access-control.js.map +1 -1
  93. package/dist/tools/acme.d.ts +3 -9
  94. package/dist/tools/acme.d.ts.map +1 -1
  95. package/dist/tools/acme.js +128 -166
  96. package/dist/tools/acme.js.map +1 -1
  97. package/dist/tools/backup.d.ts +2 -1
  98. package/dist/tools/backup.d.ts.map +1 -1
  99. package/dist/tools/backup.js +55 -2
  100. package/dist/tools/backup.js.map +1 -1
  101. package/dist/tools/ceph.d.ts +7 -1
  102. package/dist/tools/ceph.d.ts.map +1 -1
  103. package/dist/tools/ceph.js +68 -0
  104. package/dist/tools/ceph.js.map +1 -1
  105. package/dist/tools/certificate.d.ts +3 -8
  106. package/dist/tools/certificate.d.ts.map +1 -1
  107. package/dist/tools/certificate.js +107 -139
  108. package/dist/tools/certificate.js.map +1 -1
  109. package/dist/tools/cloud-init.d.ts +2 -15
  110. package/dist/tools/cloud-init.d.ts.map +1 -1
  111. package/dist/tools/cloud-init.js +34 -53
  112. package/dist/tools/cloud-init.js.map +1 -1
  113. package/dist/tools/cluster-management.d.ts +12 -1
  114. package/dist/tools/cluster-management.d.ts.map +1 -1
  115. package/dist/tools/cluster-management.js +268 -1
  116. package/dist/tools/cluster-management.js.map +1 -1
  117. package/dist/tools/cluster.d.ts +2 -1
  118. package/dist/tools/cluster.d.ts.map +1 -1
  119. package/dist/tools/cluster.js +13 -0
  120. package/dist/tools/cluster.js.map +1 -1
  121. package/dist/tools/command.d.ts.map +1 -1
  122. package/dist/tools/command.js +0 -14
  123. package/dist/tools/command.js.map +1 -1
  124. package/dist/tools/console-access.d.ts +3 -20
  125. package/dist/tools/console-access.d.ts.map +1 -1
  126. package/dist/tools/console-access.js +25 -70
  127. package/dist/tools/console-access.js.map +1 -1
  128. package/dist/tools/disk.d.ts +6 -1
  129. package/dist/tools/disk.d.ts.map +1 -1
  130. package/dist/tools/disk.js +78 -1
  131. package/dist/tools/disk.js.map +1 -1
  132. package/dist/tools/guest-lifecycle.d.ts +12 -0
  133. package/dist/tools/guest-lifecycle.d.ts.map +1 -0
  134. package/dist/tools/guest-lifecycle.js +66 -0
  135. package/dist/tools/guest-lifecycle.js.map +1 -0
  136. package/dist/tools/guest-modify.d.ts +10 -0
  137. package/dist/tools/guest-modify.d.ts.map +1 -0
  138. package/dist/tools/guest-modify.js +105 -0
  139. package/dist/tools/guest-modify.js.map +1 -0
  140. package/dist/tools/guest-query.d.ts +11 -0
  141. package/dist/tools/guest-query.d.ts.map +1 -0
  142. package/dist/tools/guest-query.js +57 -0
  143. package/dist/tools/guest-query.js.map +1 -0
  144. package/dist/tools/index.d.ts +24 -21
  145. package/dist/tools/index.d.ts.map +1 -1
  146. package/dist/tools/index.js +32 -27
  147. package/dist/tools/index.js.map +1 -1
  148. package/dist/tools/network.d.ts +2 -1
  149. package/dist/tools/network.d.ts.map +1 -1
  150. package/dist/tools/network.js +65 -1
  151. package/dist/tools/network.js.map +1 -1
  152. package/dist/tools/node-disk.d.ts +6 -0
  153. package/dist/tools/node-disk.d.ts.map +1 -0
  154. package/dist/tools/node-disk.js +39 -0
  155. package/dist/tools/node-disk.js.map +1 -0
  156. package/dist/tools/node-network.d.ts +2 -1
  157. package/dist/tools/node-network.d.ts.map +1 -1
  158. package/dist/tools/node-network.js +14 -0
  159. package/dist/tools/node-network.js.map +1 -1
  160. package/dist/tools/node.d.ts +6 -0
  161. package/dist/tools/node.d.ts.map +1 -1
  162. package/dist/tools/node.js +62 -0
  163. package/dist/tools/node.js.map +1 -1
  164. package/dist/tools/notifications.d.ts +2 -6
  165. package/dist/tools/notifications.d.ts.map +1 -1
  166. package/dist/tools/notifications.js +100 -123
  167. package/dist/tools/notifications.js.map +1 -1
  168. package/dist/tools/permissions.d.ts +5 -0
  169. package/dist/tools/permissions.d.ts.map +1 -0
  170. package/dist/tools/permissions.js +405 -0
  171. package/dist/tools/permissions.js.map +1 -0
  172. package/dist/tools/registry.d.ts.map +1 -1
  173. package/dist/tools/registry.js +154 -556
  174. package/dist/tools/registry.js.map +1 -1
  175. package/dist/tools/sdn.d.ts +5 -1
  176. package/dist/tools/sdn.d.ts.map +1 -1
  177. package/dist/tools/sdn.js +109 -1
  178. package/dist/tools/sdn.js.map +1 -1
  179. package/dist/tools/snapshot.d.ts +2 -1
  180. package/dist/tools/snapshot.d.ts.map +1 -1
  181. package/dist/tools/snapshot.js +68 -1
  182. package/dist/tools/snapshot.js.map +1 -1
  183. package/dist/tools/storage-management.d.ts +6 -1
  184. package/dist/tools/storage-management.d.ts.map +1 -1
  185. package/dist/tools/storage-management.js +69 -1
  186. package/dist/tools/storage-management.js.map +1 -1
  187. package/dist/tools/system-operations.d.ts +7 -1
  188. package/dist/tools/system-operations.d.ts.map +1 -1
  189. package/dist/tools/system-operations.js +76 -0
  190. package/dist/tools/system-operations.js.map +1 -1
  191. package/dist/tools/vm-advanced.d.ts +10 -1
  192. package/dist/tools/vm-advanced.d.ts.map +1 -1
  193. package/dist/tools/vm-advanced.js +141 -1
  194. package/dist/tools/vm-advanced.js.map +1 -1
  195. package/dist/tools/vm-create.js +4 -4
  196. package/dist/tools/vm-create.js.map +1 -1
  197. package/dist/tools/vm-modify.d.ts +11 -1
  198. package/dist/tools/vm-modify.d.ts.map +1 -1
  199. package/dist/tools/vm-modify.js +83 -1
  200. package/dist/tools/vm-modify.js.map +1 -1
  201. package/dist/types/tools.d.ts +1 -1
  202. package/dist/types/tools.d.ts.map +1 -1
  203. package/dist/types/tools.js +87 -307
  204. package/dist/types/tools.js.map +1 -1
  205. package/package.json +1 -1
@@ -1,589 +1,187 @@
1
+ import { TOOL_NAMES } from '../types/index.js';
1
2
  // Import all tool handlers
2
- import { getNodes, getNodeStatus, getNodeNetwork, getNodeDns, getNetworkIface, getNodeServices, controlNodeService, getNodeSyslog, getNodeJournal, getNodeTasks, getNodeTask, getNodeAplinfo, getNodeNetstat, getNodeRrddata, getStorageRrddata, getNodeReport, createNetworkIface, updateNetworkIface, deleteNetworkIface, applyNetworkConfig, getNodeTime, updateNodeTime, updateNodeDns, getNodeHosts, updateNodeHosts, getNodeSubscription, setNodeSubscription, deleteNodeSubscription, aptUpdate, aptUpgrade, aptVersions, startAll, stopAll, migrateAll, nodeShutdown, nodeReboot, nodeWakeonlan, getNodeReplicationStatus, getNodeReplicationLog, scheduleNodeReplication, getClusterStatus, getNextVMID, getHaResources, getHaResource, createHaResource, updateHaResource, deleteHaResource, getHaGroups, getHaGroup, createHaGroup, updateHaGroup, deleteHaGroup, getHaStatus, listClusterFirewallRules, getClusterFirewallRule, createClusterFirewallRule, updateClusterFirewallRule, deleteClusterFirewallRule, listClusterFirewallGroups, getClusterFirewallGroup, createClusterFirewallGroup, updateClusterFirewallGroup, deleteClusterFirewallGroup, listClusterBackupJobs, getClusterBackupJob, createClusterBackupJob, updateClusterBackupJob, deleteClusterBackupJob, listClusterReplicationJobs, getClusterReplicationJob, createClusterReplicationJob, updateClusterReplicationJob, deleteClusterReplicationJob, getClusterOptions, updateClusterOptions, getClusterFirewallOptions, updateClusterFirewallOptions, listClusterFirewallMacros, listClusterFirewallRefs, listClusterFirewallAliases, getClusterFirewallAlias, createClusterFirewallAlias, updateClusterFirewallAlias, deleteClusterFirewallAlias, listClusterFirewallIpsets, createClusterFirewallIpset, deleteClusterFirewallIpset, listClusterFirewallIpsetEntries, addClusterFirewallIpsetEntry, updateClusterFirewallIpsetEntry, deleteClusterFirewallIpsetEntry, getClusterConfig, listClusterConfigNodes, getClusterConfigNode, joinCluster, getClusterTotem, listSdnVnets, getSdnVnet, createSdnVnet, updateSdnVnet, deleteSdnVnet, listSdnZones, getSdnZone, createSdnZone, updateSdnZone, deleteSdnZone, listSdnControllers, getSdnController, createSdnController, updateSdnController, deleteSdnController, listSdnSubnets, getSdnSubnet, createSdnSubnet, updateSdnSubnet, deleteSdnSubnet, listUsers, getUser, createUser, updateUser, deleteUser, listGroups, createGroup, updateGroup, deleteGroup, listRoles, createRole, updateRole, deleteRole, getAcl, updateAcl, listDomains, getDomain, createDomain, updateDomain, deleteDomain, listUserTokens, getUserToken, createUserToken, updateUserToken, deleteUserToken, listPools, getPool, createPool, updatePool, deletePool, listStorageConfig, getStorageConfig, createStorage, updateStorage, deleteStorage, uploadToStorage, downloadUrlToStorage, listStorageContent, deleteStorageContent, listFileRestore, downloadFileRestore, pruneBackups, getCephStatus, listCephOsds, createCephOsd, deleteCephOsd, listCephMons, createCephMon, deleteCephMon, listCephMds, createCephMds, deleteCephMds, listCephPools, createCephPool, updateCephPool, deleteCephPool, listCephFs, createCephFs, getVMs, getVMStatus, getVMConfig, getLxcConfig, getVmPending, getLxcPending, checkVmFeature, checkLxcFeature, getStorage, startLxc, startVM, stopLxc, stopVM, deleteLxc, deleteVM, rebootLxc, rebootVM, shutdownLxc, shutdownVM, pauseVM, resumeVM, cloneLxc, cloneVM, resizeLxc, resizeVM, migrateVm, migrateLxc, createTemplateVm, createTemplateLxc, getVmRrddata, getLxcRrddata, agentPing, agentGetOsinfo, agentGetFsinfo, agentGetMemoryBlocks, agentGetNetworkInterfaces, agentGetTime, agentGetTimezone, agentGetVcpus, agentExec, agentExecStatus, agentFileRead, agentFileWrite, agentGetHostname, agentGetUsers, agentSetUserPassword, agentShutdown, agentFsfreezeStatus, agentFsfreezeFreeze, agentFsfreezeThaw, agentFstrim, agentGetMemoryBlockInfo, agentSuspendDisk, agentSuspendRam, agentSuspendHybrid, listVmFirewallRules, getVmFirewallRule, createVmFirewallRule, updateVmFirewallRule, deleteVmFirewallRule, listLxcFirewallRules, getLxcFirewallRule, createLxcFirewallRule, updateLxcFirewallRule, deleteLxcFirewallRule, getVncProxy, getSpiceProxy, getTermProxy, getLxcVncProxy, getLxcTermProxy, createSnapshotLxc, createSnapshotVM, listSnapshotsLxc, listSnapshotsVM, rollbackSnapshotLxc, rollbackSnapshotVM, deleteSnapshotLxc, deleteSnapshotVM, createBackupLxc, createBackupVM, listBackups, restoreBackupLxc, restoreBackupVM, deleteBackup, addDiskVM, addMountpointLxc, resizeDiskVM, resizeDiskLxc, removeDiskVM, removeMountpointLxc, moveDiskVM, moveDiskLxc, getNodeDisks, getDiskSmart, getNodeLvm, getNodeZfs, initDiskGpt, wipeDisk, getNodeLvmThin, getNodeDirectory, addNetworkVm, addNetworkLxc, updateNetworkVm, updateNetworkLxc, removeNetworkVm, removeNetworkLxc, executeVMCommand, listTemplates, createLxc, createVM, getCloudInitConfig, dumpCloudInit, regenerateCloudInit, getNodeCertificates, uploadCustomCertificate, deleteCustomCertificate, orderAcmeCertificate, renewAcmeCertificate, revokeAcmeCertificate, getNodeAcmeConfig, listAcmeAccounts, getAcmeAccount, createAcmeAccount, updateAcmeAccount, deleteAcmeAccount, listAcmePlugins, getAcmePlugin, getAcmeDirectories, listNotificationTargets, getNotificationTarget, createNotificationTarget, deleteNotificationTarget, testNotificationTarget, } from './index.js';
3
+ import { handleGuestList, handleGuestStatus, handleGuestConfig, handleGuestPending, handleGuestFeature, handleGuestRrddata, } from './guest-query.js';
4
+ import { guestListSchema, guestStatusSchema, guestConfigSchema, guestPendingSchema, guestFeatureSchema, guestRrddataSchema, guestStartSchema, guestStopSchema, guestRebootSchema, guestShutdownSchema, guestDeleteSchema, guestPauseSchema, guestResumeSchema, guestCloneSchema, guestResizeSchema, guestConfigUpdateSchema, guestMigrateSchema, guestTemplateSchema, } from '../schemas/guest.js';
5
+ import { handleNodeTool, handleNodeService, handleNodeLog, handleNodeTask, handleNodeInfo, handleNodeConfig, handleNodeSubscription, handleApt, handleNodeBulk, handleNodePower, handleNodeReplication, handleClusterTool, getNextVMID, handleNodeNetworkIface, handleHaResourceTool, handleHaGroupTool, handleClusterFirewallRuleTool, handleClusterFirewallGroupTool, handleClusterFirewallTool, handleClusterFirewallAliasTool, handleClusterFirewallIpsetTool, handleClusterFirewallIpsetEntryTool, handleClusterBackupJobTool, handleClusterReplicationJobTool, handleClusterConfigTool, handleSdnVnetTool, handleSdnZoneTool, handleSdnControllerTool, handleSdnSubnetTool, handleUserTool, handleGroupTool, handleRoleTool, handleAclTool, handleDomainTool, handleUserTokenTool, handlePoolTool, handleStorageConfigTool, handleStorageContentTool, handleFileRestore, handleCephTool, handleCephOsdTool, handleCephMonTool, handleCephMdsTool, handleCephPoolTool, handleCephFsTool, handleGuestStart, handleGuestStop, handleGuestReboot, handleGuestShutdown, handleGuestDelete, handleGuestPause, handleGuestResume, handleGuestClone, handleGuestResize, handleGuestConfigUpdate, handleGuestMigrate, handleGuestTemplate, handleAgentInfo, handleAgentHw, handleAgentExec, handleAgentFile, handleAgentFreeze, handleAgentPower, handleAgentUser, handleGuestFirewallRule, handleConsoleVnc, handleConsoleTerm, getSpiceProxy, handleGuestSnapshot, handleBackup, handleVmDisk, handleLxcMountpoint, handleGuestDiskResize, handleGuestDiskMove, handleNodeDisk, handleNodeDiskAdmin, handleGuestNetwork, createLxc, createVM, handleCloudInit, handleCertificate, handleAcmeCert, handleAcmeAccount, handleAcmeInfo, handleNotification, } from './index.js';
3
6
  // Import all schemas
4
- import { getNodesSchema, getNodeStatusSchema, getNodeNetworkSchema, getNodeDnsSchema, getNetworkIfaceSchema, getNodeServicesSchema, controlNodeServiceSchema, getNodeSyslogSchema, getNodeJournalSchema, getNodeTasksSchema, getNodeTaskSchema, getNodeAplinfoSchema, getNodeNetstatSchema, getNodeRrddataSchema, getStorageRrddataSchema, getNodeReportSchema, getClusterStatusSchema, getNextVmidSchema, } from '../schemas/node.js';
5
- import { createNetworkIfaceSchema, updateNetworkIfaceSchema, deleteNetworkIfaceSchema, applyNetworkConfigSchema, } from '../schemas/node-network.js';
6
- import { getNodeTimeSchema, updateNodeTimeSchema, updateNodeDnsSchema, getNodeHostsSchema, updateNodeHostsSchema, getNodeSubscriptionSchema, setNodeSubscriptionSchema, deleteNodeSubscriptionSchema, aptUpdateSchema, aptUpgradeSchema, aptVersionsSchema, startAllSchema, stopAllSchema, migrateAllSchema, nodeShutdownSchema, nodeRebootSchema, nodeWakeonlanSchema, getNodeReplicationStatusSchema, getNodeReplicationLogSchema, scheduleNodeReplicationSchema, } from '../schemas/system-operations.js';
7
- import { getHaResourcesSchema, getHaResourceSchema, createHaResourceSchema, updateHaResourceSchema, deleteHaResourceSchema, getHaGroupsSchema, getHaGroupSchema, createHaGroupSchema, updateHaGroupSchema, deleteHaGroupSchema, getHaStatusSchema, listClusterFirewallRulesSchema, getClusterFirewallRuleSchema, createClusterFirewallRuleSchema, updateClusterFirewallRuleSchema, deleteClusterFirewallRuleSchema, listClusterFirewallGroupsSchema, getClusterFirewallGroupSchema, createClusterFirewallGroupSchema, updateClusterFirewallGroupSchema, deleteClusterFirewallGroupSchema, listClusterBackupJobsSchema, getClusterBackupJobSchema, createClusterBackupJobSchema, updateClusterBackupJobSchema, deleteClusterBackupJobSchema, listClusterReplicationJobsSchema, getClusterReplicationJobSchema, createClusterReplicationJobSchema, updateClusterReplicationJobSchema, deleteClusterReplicationJobSchema, getClusterOptionsSchema, updateClusterOptionsSchema, getClusterFirewallOptionsSchema, updateClusterFirewallOptionsSchema, listClusterFirewallMacrosSchema, listClusterFirewallRefsSchema, listClusterFirewallAliasesSchema, getClusterFirewallAliasSchema, createClusterFirewallAliasSchema, updateClusterFirewallAliasSchema, deleteClusterFirewallAliasSchema, listClusterFirewallIpsetsSchema, createClusterFirewallIpsetSchema, deleteClusterFirewallIpsetSchema, listClusterFirewallIpsetEntriesSchema, addClusterFirewallIpsetEntrySchema, updateClusterFirewallIpsetEntrySchema, deleteClusterFirewallIpsetEntrySchema, getClusterConfigSchema, listClusterConfigNodesSchema, getClusterConfigNodeSchema, joinClusterSchema, getClusterTotemSchema, } from '../schemas/cluster-management.js';
8
- import { listSdnVnetsSchema, getSdnVnetSchema, createSdnVnetSchema, updateSdnVnetSchema, deleteSdnVnetSchema, listSdnZonesSchema, getSdnZoneSchema, createSdnZoneSchema, updateSdnZoneSchema, deleteSdnZoneSchema, listSdnControllersSchema, getSdnControllerSchema, createSdnControllerSchema, updateSdnControllerSchema, deleteSdnControllerSchema, listSdnSubnetsSchema, getSdnSubnetSchema, createSdnSubnetSchema, updateSdnSubnetSchema, deleteSdnSubnetSchema, } from '../schemas/sdn.js';
9
- import { listUsersSchema, getUserSchema, createUserSchema, updateUserSchema, deleteUserSchema, listGroupsSchema, createGroupSchema, updateGroupSchema, deleteGroupSchema, listRolesSchema, createRoleSchema, updateRoleSchema, deleteRoleSchema, getAclSchema, updateAclSchema, listDomainsSchema, getDomainSchema, createDomainSchema, updateDomainSchema, deleteDomainSchema, listUserTokensSchema, getUserTokenSchema, createUserTokenSchema, updateUserTokenSchema, deleteUserTokenSchema, } from '../schemas/access-control.js';
10
- import { listPoolsSchema, getPoolSchema, createPoolSchema, updatePoolSchema, deletePoolSchema, } from '../schemas/pool-management.js';
11
- import { listStorageConfigSchema, getStorageConfigSchema, createStorageSchema, updateStorageSchema, deleteStorageSchema, uploadToStorageSchema, downloadUrlToStorageSchema, listStorageContentSchema, deleteStorageContentSchema, listFileRestoreSchema, downloadFileRestoreSchema, pruneBackupsSchema, } from '../schemas/storage-management.js';
12
- import { getCephStatusSchema, listCephOsdsSchema, createCephOsdSchema, deleteCephOsdSchema, listCephMonsSchema, createCephMonSchema, deleteCephMonSchema, listCephMdsSchema, createCephMdsSchema, deleteCephMdsSchema, listCephPoolsSchema, createCephPoolSchema, updateCephPoolSchema, deleteCephPoolSchema, listCephFsSchema, createCephFsSchema, } from '../schemas/ceph.js';
13
- import { getVmsSchema, getVmStatusSchema, getVmConfigSchema, getLxcConfigSchema, getVmPendingSchema, getLxcPendingSchema, checkVmFeatureSchema, checkLxcFeatureSchema, getStorageSchema, startLxcSchema, startVmSchema, stopLxcSchema, stopVmSchema, deleteLxcSchema, deleteVmSchema, rebootLxcSchema, rebootVmSchema, shutdownLxcSchema, shutdownVmSchema, pauseVmSchema, resumeVmSchema, cloneLxcSchema, cloneVmSchema, resizeLxcSchema, resizeVmSchema, executeVmCommandSchema, listTemplatesSchema, createLxcSchema, createVmSchema, } from '../schemas/vm.js';
14
- 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';
15
- import { createSnapshotLxcSchema, createSnapshotVmSchema, listSnapshotsLxcSchema, listSnapshotsVmSchema, rollbackSnapshotLxcSchema, rollbackSnapshotVmSchema, deleteSnapshotLxcSchema, deleteSnapshotVmSchema, } from '../schemas/snapshot.js';
16
- import { createBackupLxcSchema, createBackupVmSchema, listBackupsSchema, restoreBackupLxcSchema, restoreBackupVmSchema, deleteBackupSchema, } from '../schemas/backup.js';
17
- import { addDiskVmSchema, addMountpointLxcSchema, resizeDiskVmSchema, resizeDiskLxcSchema, removeDiskVmSchema, removeMountpointLxcSchema, moveDiskVmSchema, moveDiskLxcSchema, getNodeDisksSchema, getDiskSmartSchema, getNodeLvmSchema, getNodeZfsSchema, initDiskGptSchema, wipeDiskSchema, getNodeLvmThinSchema, getNodeDirectorySchema, } from '../schemas/disk.js';
18
- import { addNetworkVmSchema, addNetworkLxcSchema, updateNetworkVmSchema, updateNetworkLxcSchema, removeNetworkVmSchema, removeNetworkLxcSchema, } from '../schemas/network.js';
19
- import { getVncProxySchema, getSpiceProxySchema, getTermProxySchema, getLxcVncProxySchema, getLxcTermProxySchema, } from '../schemas/console-access.js';
20
- import { getCloudInitConfigSchema, dumpCloudInitSchema, regenerateCloudInitSchema, } from '../schemas/cloud-init.js';
21
- import { getNodeCertificatesSchema, uploadCustomCertificateSchema, deleteCustomCertificateSchema, orderAcmeCertificateSchema, renewAcmeCertificateSchema, revokeAcmeCertificateSchema, getNodeAcmeConfigSchema, } from '../schemas/certificate.js';
22
- import { listAcmeAccountsSchema, getAcmeAccountSchema, createAcmeAccountSchema, updateAcmeAccountSchema, deleteAcmeAccountSchema, listAcmePluginsSchema, getAcmePluginSchema, getAcmeDirectoriesSchema, } from '../schemas/acme.js';
23
- import { listNotificationTargetsSchema, getNotificationTargetSchema, createNotificationTargetSchema, deleteNotificationTargetSchema, testNotificationTargetSchema, } from '../schemas/notifications.js';
7
+ import { nodeToolSchema, clusterToolSchema, nodeServiceToolSchema, nodeLogToolSchema, nodeTaskToolSchema, nodeInfoToolSchema, nodeDiskSchema, getNextVmidSchema, } from '../schemas/node.js';
8
+ import { nodeNetworkIfaceToolSchema, } from '../schemas/node-network.js';
9
+ import { nodeConfigToolSchema, nodeSubscriptionToolSchema, aptToolSchema, nodeBulkToolSchema, nodePowerToolSchema, nodeReplicationToolSchema, } from '../schemas/system-operations.js';
10
+ import { haResourceToolSchema, haGroupToolSchema, clusterFirewallRuleToolSchema, clusterFirewallGroupToolSchema, clusterFirewallToolSchema, clusterFirewallAliasToolSchema, clusterFirewallIpsetToolSchema, clusterFirewallIpsetEntryToolSchema, clusterBackupJobToolSchema, clusterReplicationJobToolSchema, clusterConfigToolSchema, } from '../schemas/cluster-management.js';
11
+ import { sdnVnetToolSchema, sdnZoneToolSchema, sdnControllerToolSchema, sdnSubnetToolSchema, } from '../schemas/sdn.js';
12
+ import { userToolSchema, groupToolSchema, roleToolSchema, aclToolSchema, domainToolSchema, userTokenToolSchema, } from '../schemas/access-control.js';
13
+ import { poolToolSchema } from '../schemas/pool-management.js';
14
+ import { storageConfigToolSchema, storageContentToolSchema, fileRestoreSchema, } from '../schemas/storage-management.js';
15
+ import { cephToolSchema, cephOsdToolSchema, cephMonToolSchema, cephMdsToolSchema, cephPoolToolSchema, cephFsToolSchema, } from '../schemas/ceph.js';
16
+ import { createLxcSchema, createVmSchema, } from '../schemas/vm.js';
17
+ import { agentInfoSchema, agentHwSchema, agentExecToolSchema, agentFileSchema, agentFreezeSchema, agentPowerSchema, agentUserSchema, } from '../schemas/vm-advanced.js';
18
+ import { guestFirewallRuleSchema } from '../schemas/guest.js';
19
+ import { guestSnapshotSchema, } from '../schemas/snapshot.js';
20
+ import { backupSchema, } from '../schemas/backup.js';
21
+ import { vmDiskSchema, lxcMountpointSchema, guestDiskResizeSchema, guestDiskMoveSchema, nodeDiskAdminSchema, } from '../schemas/disk.js';
22
+ import { guestNetworkSchema, } from '../schemas/network.js';
23
+ import { consoleVncSchema, consoleTermSchema, getSpiceProxySchema, } from '../schemas/console-access.js';
24
+ import { cloudInitSchema } from '../schemas/cloud-init.js';
25
+ import { certificateSchema, acmeCertSchema } from '../schemas/certificate.js';
26
+ import { acmeAccountSchema, acmeInfoSchema } from '../schemas/acme.js';
27
+ import { notificationSchema } from '../schemas/notifications.js';
24
28
  // Tool registry mapping tool names to handlers and schemas
25
29
  export const toolRegistry = {
26
- // Node & Cluster
27
- proxmox_get_nodes: { handler: getNodes, schema: getNodesSchema },
28
- proxmox_get_node_status: { handler: getNodeStatus, schema: getNodeStatusSchema },
29
- proxmox_get_node_network: { handler: getNodeNetwork, schema: getNodeNetworkSchema },
30
- proxmox_get_node_dns: { handler: getNodeDns, schema: getNodeDnsSchema },
31
- proxmox_get_network_iface: { handler: getNetworkIface, schema: getNetworkIfaceSchema },
32
- proxmox_get_cluster_status: { handler: getClusterStatus, schema: getClusterStatusSchema },
30
+ // Node & Cluster (consolidated)
31
+ proxmox_node: { handler: handleNodeTool, schema: nodeToolSchema },
32
+ proxmox_cluster: { handler: handleClusterTool, schema: clusterToolSchema },
33
33
  proxmox_get_next_vmid: { handler: getNextVMID, schema: getNextVmidSchema },
34
- // Node Network Configuration
35
- proxmox_create_network_iface: {
36
- handler: createNetworkIface,
37
- schema: createNetworkIfaceSchema,
38
- },
39
- proxmox_update_network_iface: {
40
- handler: updateNetworkIface,
41
- schema: updateNetworkIfaceSchema,
42
- },
43
- proxmox_delete_network_iface: {
44
- handler: deleteNetworkIface,
45
- schema: deleteNetworkIfaceSchema,
46
- },
47
- proxmox_apply_network_config: {
48
- handler: applyNetworkConfig,
49
- schema: applyNetworkConfigSchema,
50
- },
51
- // System Operations
52
- proxmox_get_node_time: { handler: getNodeTime, schema: getNodeTimeSchema },
53
- proxmox_update_node_time: { handler: updateNodeTime, schema: updateNodeTimeSchema },
54
- proxmox_update_node_dns: { handler: updateNodeDns, schema: updateNodeDnsSchema },
55
- proxmox_get_node_hosts: { handler: getNodeHosts, schema: getNodeHostsSchema },
56
- proxmox_update_node_hosts: {
57
- handler: updateNodeHosts,
58
- schema: updateNodeHostsSchema,
59
- },
60
- proxmox_get_node_subscription: {
61
- handler: getNodeSubscription,
62
- schema: getNodeSubscriptionSchema,
63
- },
64
- proxmox_set_node_subscription: {
65
- handler: setNodeSubscription,
66
- schema: setNodeSubscriptionSchema,
67
- },
68
- proxmox_delete_node_subscription: {
69
- handler: deleteNodeSubscription,
70
- schema: deleteNodeSubscriptionSchema,
71
- },
72
- proxmox_apt_update: { handler: aptUpdate, schema: aptUpdateSchema },
73
- proxmox_apt_upgrade: { handler: aptUpgrade, schema: aptUpgradeSchema },
74
- proxmox_apt_versions: { handler: aptVersions, schema: aptVersionsSchema },
75
- proxmox_start_all: { handler: startAll, schema: startAllSchema },
76
- proxmox_stop_all: { handler: stopAll, schema: stopAllSchema },
77
- proxmox_migrate_all: { handler: migrateAll, schema: migrateAllSchema },
78
- proxmox_node_shutdown: { handler: nodeShutdown, schema: nodeShutdownSchema },
79
- proxmox_node_reboot: { handler: nodeReboot, schema: nodeRebootSchema },
80
- proxmox_node_wakeonlan: { handler: nodeWakeonlan, schema: nodeWakeonlanSchema },
81
- proxmox_get_node_replication_status: { handler: getNodeReplicationStatus, schema: getNodeReplicationStatusSchema },
82
- proxmox_get_node_replication_log: { handler: getNodeReplicationLog, schema: getNodeReplicationLogSchema },
83
- proxmox_schedule_node_replication: { handler: scheduleNodeReplication, schema: scheduleNodeReplicationSchema },
34
+ // Node Management (consolidated)
35
+ proxmox_node_service: { handler: handleNodeService, schema: nodeServiceToolSchema },
36
+ proxmox_node_log: { handler: handleNodeLog, schema: nodeLogToolSchema },
37
+ proxmox_node_task: { handler: handleNodeTask, schema: nodeTaskToolSchema },
38
+ proxmox_node_info: { handler: handleNodeInfo, schema: nodeInfoToolSchema },
39
+ proxmox_node_config: { handler: handleNodeConfig, schema: nodeConfigToolSchema },
40
+ proxmox_node_subscription: { handler: handleNodeSubscription, schema: nodeSubscriptionToolSchema },
41
+ proxmox_apt: { handler: handleApt, schema: aptToolSchema },
42
+ proxmox_node_bulk: { handler: handleNodeBulk, schema: nodeBulkToolSchema },
43
+ proxmox_node_power: { handler: handleNodePower, schema: nodePowerToolSchema },
44
+ proxmox_node_replication: { handler: handleNodeReplication, schema: nodeReplicationToolSchema },
45
+ proxmox_node_network_iface: { handler: handleNodeNetworkIface, schema: nodeNetworkIfaceToolSchema },
84
46
  // Cluster Management
85
- proxmox_get_ha_resources: { handler: getHaResources, schema: getHaResourcesSchema },
86
- proxmox_get_ha_resource: { handler: getHaResource, schema: getHaResourceSchema },
87
- proxmox_create_ha_resource: { handler: createHaResource, schema: createHaResourceSchema },
88
- proxmox_update_ha_resource: { handler: updateHaResource, schema: updateHaResourceSchema },
89
- proxmox_delete_ha_resource: { handler: deleteHaResource, schema: deleteHaResourceSchema },
90
- proxmox_get_ha_groups: { handler: getHaGroups, schema: getHaGroupsSchema },
91
- proxmox_get_ha_group: { handler: getHaGroup, schema: getHaGroupSchema },
92
- proxmox_create_ha_group: { handler: createHaGroup, schema: createHaGroupSchema },
93
- proxmox_update_ha_group: { handler: updateHaGroup, schema: updateHaGroupSchema },
94
- proxmox_delete_ha_group: { handler: deleteHaGroup, schema: deleteHaGroupSchema },
95
- proxmox_get_ha_status: { handler: getHaStatus, schema: getHaStatusSchema },
96
- proxmox_list_cluster_firewall_rules: {
97
- handler: listClusterFirewallRules,
98
- schema: listClusterFirewallRulesSchema,
99
- },
100
- proxmox_get_cluster_firewall_rule: {
101
- handler: getClusterFirewallRule,
102
- schema: getClusterFirewallRuleSchema,
103
- },
104
- proxmox_create_cluster_firewall_rule: {
105
- handler: createClusterFirewallRule,
106
- schema: createClusterFirewallRuleSchema,
107
- },
108
- proxmox_update_cluster_firewall_rule: {
109
- handler: updateClusterFirewallRule,
110
- schema: updateClusterFirewallRuleSchema,
111
- },
112
- proxmox_delete_cluster_firewall_rule: {
113
- handler: deleteClusterFirewallRule,
114
- schema: deleteClusterFirewallRuleSchema,
115
- },
116
- proxmox_list_cluster_firewall_groups: {
117
- handler: listClusterFirewallGroups,
118
- schema: listClusterFirewallGroupsSchema,
119
- },
120
- proxmox_get_cluster_firewall_group: {
121
- handler: getClusterFirewallGroup,
122
- schema: getClusterFirewallGroupSchema,
123
- },
124
- proxmox_create_cluster_firewall_group: {
125
- handler: createClusterFirewallGroup,
126
- schema: createClusterFirewallGroupSchema,
127
- },
128
- proxmox_update_cluster_firewall_group: {
129
- handler: updateClusterFirewallGroup,
130
- schema: updateClusterFirewallGroupSchema,
131
- },
132
- proxmox_delete_cluster_firewall_group: {
133
- handler: deleteClusterFirewallGroup,
134
- schema: deleteClusterFirewallGroupSchema,
135
- },
136
- proxmox_list_cluster_backup_jobs: {
137
- handler: listClusterBackupJobs,
138
- schema: listClusterBackupJobsSchema,
139
- },
140
- proxmox_get_cluster_backup_job: {
141
- handler: getClusterBackupJob,
142
- schema: getClusterBackupJobSchema,
143
- },
144
- proxmox_create_cluster_backup_job: {
145
- handler: createClusterBackupJob,
146
- schema: createClusterBackupJobSchema,
147
- },
148
- proxmox_update_cluster_backup_job: {
149
- handler: updateClusterBackupJob,
150
- schema: updateClusterBackupJobSchema,
151
- },
152
- proxmox_delete_cluster_backup_job: {
153
- handler: deleteClusterBackupJob,
154
- schema: deleteClusterBackupJobSchema,
155
- },
156
- proxmox_list_cluster_replication_jobs: {
157
- handler: listClusterReplicationJobs,
158
- schema: listClusterReplicationJobsSchema,
159
- },
160
- proxmox_get_cluster_replication_job: {
161
- handler: getClusterReplicationJob,
162
- schema: getClusterReplicationJobSchema,
163
- },
164
- proxmox_create_cluster_replication_job: {
165
- handler: createClusterReplicationJob,
166
- schema: createClusterReplicationJobSchema,
167
- },
168
- proxmox_update_cluster_replication_job: {
169
- handler: updateClusterReplicationJob,
170
- schema: updateClusterReplicationJobSchema,
171
- },
172
- proxmox_delete_cluster_replication_job: {
173
- handler: deleteClusterReplicationJob,
174
- schema: deleteClusterReplicationJobSchema,
175
- },
176
- proxmox_get_cluster_options: { handler: getClusterOptions, schema: getClusterOptionsSchema },
177
- proxmox_update_cluster_options: {
178
- handler: updateClusterOptions,
179
- schema: updateClusterOptionsSchema,
180
- },
181
- proxmox_get_cluster_firewall_options: {
182
- handler: getClusterFirewallOptions,
183
- schema: getClusterFirewallOptionsSchema,
184
- },
185
- proxmox_update_cluster_firewall_options: {
186
- handler: updateClusterFirewallOptions,
187
- schema: updateClusterFirewallOptionsSchema,
188
- },
189
- proxmox_list_cluster_firewall_macros: {
190
- handler: listClusterFirewallMacros,
191
- schema: listClusterFirewallMacrosSchema,
192
- },
193
- proxmox_list_cluster_firewall_refs: {
194
- handler: listClusterFirewallRefs,
195
- schema: listClusterFirewallRefsSchema,
47
+ proxmox_ha_resource: { handler: handleHaResourceTool, schema: haResourceToolSchema },
48
+ proxmox_ha_group: { handler: handleHaGroupTool, schema: haGroupToolSchema },
49
+ proxmox_cluster_firewall_rule: {
50
+ handler: handleClusterFirewallRuleTool,
51
+ schema: clusterFirewallRuleToolSchema,
196
52
  },
197
- proxmox_list_cluster_firewall_aliases: {
198
- handler: listClusterFirewallAliases,
199
- schema: listClusterFirewallAliasesSchema,
53
+ proxmox_cluster_firewall_group: {
54
+ handler: handleClusterFirewallGroupTool,
55
+ schema: clusterFirewallGroupToolSchema,
200
56
  },
201
- proxmox_get_cluster_firewall_alias: {
202
- handler: getClusterFirewallAlias,
203
- schema: getClusterFirewallAliasSchema,
57
+ proxmox_cluster_firewall: {
58
+ handler: handleClusterFirewallTool,
59
+ schema: clusterFirewallToolSchema,
204
60
  },
205
- proxmox_create_cluster_firewall_alias: {
206
- handler: createClusterFirewallAlias,
207
- schema: createClusterFirewallAliasSchema,
61
+ proxmox_cluster_firewall_alias: {
62
+ handler: handleClusterFirewallAliasTool,
63
+ schema: clusterFirewallAliasToolSchema,
208
64
  },
209
- proxmox_update_cluster_firewall_alias: {
210
- handler: updateClusterFirewallAlias,
211
- schema: updateClusterFirewallAliasSchema,
65
+ proxmox_cluster_firewall_ipset: {
66
+ handler: handleClusterFirewallIpsetTool,
67
+ schema: clusterFirewallIpsetToolSchema,
212
68
  },
213
- proxmox_delete_cluster_firewall_alias: {
214
- handler: deleteClusterFirewallAlias,
215
- schema: deleteClusterFirewallAliasSchema,
69
+ proxmox_cluster_firewall_ipset_entry: {
70
+ handler: handleClusterFirewallIpsetEntryTool,
71
+ schema: clusterFirewallIpsetEntryToolSchema,
216
72
  },
217
- proxmox_list_cluster_firewall_ipsets: {
218
- handler: listClusterFirewallIpsets,
219
- schema: listClusterFirewallIpsetsSchema,
73
+ proxmox_cluster_backup_job: {
74
+ handler: handleClusterBackupJobTool,
75
+ schema: clusterBackupJobToolSchema,
220
76
  },
221
- proxmox_create_cluster_firewall_ipset: {
222
- handler: createClusterFirewallIpset,
223
- schema: createClusterFirewallIpsetSchema,
77
+ proxmox_cluster_replication_job: {
78
+ handler: handleClusterReplicationJobTool,
79
+ schema: clusterReplicationJobToolSchema,
224
80
  },
225
- proxmox_delete_cluster_firewall_ipset: {
226
- handler: deleteClusterFirewallIpset,
227
- schema: deleteClusterFirewallIpsetSchema,
228
- },
229
- proxmox_list_cluster_firewall_ipset_entries: {
230
- handler: listClusterFirewallIpsetEntries,
231
- schema: listClusterFirewallIpsetEntriesSchema,
232
- },
233
- proxmox_add_cluster_firewall_ipset_entry: {
234
- handler: addClusterFirewallIpsetEntry,
235
- schema: addClusterFirewallIpsetEntrySchema,
236
- },
237
- proxmox_update_cluster_firewall_ipset_entry: {
238
- handler: updateClusterFirewallIpsetEntry,
239
- schema: updateClusterFirewallIpsetEntrySchema,
240
- },
241
- proxmox_delete_cluster_firewall_ipset_entry: {
242
- handler: deleteClusterFirewallIpsetEntry,
243
- schema: deleteClusterFirewallIpsetEntrySchema,
244
- },
245
- // Cluster Config
246
- proxmox_get_cluster_config: {
247
- handler: getClusterConfig,
248
- schema: getClusterConfigSchema,
249
- },
250
- proxmox_list_cluster_config_nodes: {
251
- handler: listClusterConfigNodes,
252
- schema: listClusterConfigNodesSchema,
253
- },
254
- proxmox_get_cluster_config_node: {
255
- handler: getClusterConfigNode,
256
- schema: getClusterConfigNodeSchema,
257
- },
258
- proxmox_join_cluster: {
259
- handler: joinCluster,
260
- schema: joinClusterSchema,
261
- },
262
- proxmox_get_cluster_totem: {
263
- handler: getClusterTotem,
264
- schema: getClusterTotemSchema,
81
+ proxmox_cluster_config: {
82
+ handler: handleClusterConfigTool,
83
+ schema: clusterConfigToolSchema,
265
84
  },
266
85
  // SDN
267
- proxmox_list_sdn_vnets: { handler: listSdnVnets, schema: listSdnVnetsSchema },
268
- proxmox_get_sdn_vnet: { handler: getSdnVnet, schema: getSdnVnetSchema },
269
- proxmox_create_sdn_vnet: { handler: createSdnVnet, schema: createSdnVnetSchema },
270
- proxmox_update_sdn_vnet: { handler: updateSdnVnet, schema: updateSdnVnetSchema },
271
- proxmox_delete_sdn_vnet: { handler: deleteSdnVnet, schema: deleteSdnVnetSchema },
272
- proxmox_list_sdn_zones: { handler: listSdnZones, schema: listSdnZonesSchema },
273
- proxmox_get_sdn_zone: { handler: getSdnZone, schema: getSdnZoneSchema },
274
- proxmox_create_sdn_zone: { handler: createSdnZone, schema: createSdnZoneSchema },
275
- proxmox_update_sdn_zone: { handler: updateSdnZone, schema: updateSdnZoneSchema },
276
- proxmox_delete_sdn_zone: { handler: deleteSdnZone, schema: deleteSdnZoneSchema },
277
- proxmox_list_sdn_controllers: {
278
- handler: listSdnControllers,
279
- schema: listSdnControllersSchema,
280
- },
281
- proxmox_get_sdn_controller: { handler: getSdnController, schema: getSdnControllerSchema },
282
- proxmox_create_sdn_controller: {
283
- handler: createSdnController,
284
- schema: createSdnControllerSchema,
285
- },
286
- proxmox_update_sdn_controller: {
287
- handler: updateSdnController,
288
- schema: updateSdnControllerSchema,
289
- },
290
- proxmox_delete_sdn_controller: {
291
- handler: deleteSdnController,
292
- schema: deleteSdnControllerSchema,
293
- },
294
- proxmox_list_sdn_subnets: { handler: listSdnSubnets, schema: listSdnSubnetsSchema },
295
- proxmox_get_sdn_subnet: { handler: getSdnSubnet, schema: getSdnSubnetSchema },
296
- proxmox_create_sdn_subnet: { handler: createSdnSubnet, schema: createSdnSubnetSchema },
297
- proxmox_update_sdn_subnet: { handler: updateSdnSubnet, schema: updateSdnSubnetSchema },
298
- proxmox_delete_sdn_subnet: { handler: deleteSdnSubnet, schema: deleteSdnSubnetSchema },
299
- // Access Control
300
- proxmox_list_users: { handler: listUsers, schema: listUsersSchema },
301
- proxmox_get_user: { handler: getUser, schema: getUserSchema },
302
- proxmox_create_user: { handler: createUser, schema: createUserSchema },
303
- proxmox_update_user: { handler: updateUser, schema: updateUserSchema },
304
- proxmox_delete_user: { handler: deleteUser, schema: deleteUserSchema },
305
- proxmox_list_groups: { handler: listGroups, schema: listGroupsSchema },
306
- proxmox_create_group: { handler: createGroup, schema: createGroupSchema },
307
- proxmox_update_group: { handler: updateGroup, schema: updateGroupSchema },
308
- proxmox_delete_group: { handler: deleteGroup, schema: deleteGroupSchema },
309
- proxmox_list_roles: { handler: listRoles, schema: listRolesSchema },
310
- proxmox_create_role: { handler: createRole, schema: createRoleSchema },
311
- proxmox_update_role: { handler: updateRole, schema: updateRoleSchema },
312
- proxmox_delete_role: { handler: deleteRole, schema: deleteRoleSchema },
313
- proxmox_get_acl: { handler: getAcl, schema: getAclSchema },
314
- proxmox_update_acl: { handler: updateAcl, schema: updateAclSchema },
315
- proxmox_list_domains: { handler: listDomains, schema: listDomainsSchema },
316
- proxmox_get_domain: { handler: getDomain, schema: getDomainSchema },
317
- proxmox_create_domain: { handler: createDomain, schema: createDomainSchema },
318
- proxmox_update_domain: { handler: updateDomain, schema: updateDomainSchema },
319
- proxmox_delete_domain: { handler: deleteDomain, schema: deleteDomainSchema },
320
- // User API Tokens
321
- proxmox_list_user_tokens: { handler: listUserTokens, schema: listUserTokensSchema },
322
- proxmox_get_user_token: { handler: getUserToken, schema: getUserTokenSchema },
323
- proxmox_create_user_token: { handler: createUserToken, schema: createUserTokenSchema },
324
- proxmox_update_user_token: { handler: updateUserToken, schema: updateUserTokenSchema },
325
- proxmox_delete_user_token: { handler: deleteUserToken, schema: deleteUserTokenSchema },
326
- // Pool Management
327
- proxmox_list_pools: { handler: listPools, schema: listPoolsSchema },
328
- proxmox_get_pool: { handler: getPool, schema: getPoolSchema },
329
- proxmox_create_pool: { handler: createPool, schema: createPoolSchema },
330
- proxmox_update_pool: { handler: updatePool, schema: updatePoolSchema },
331
- proxmox_delete_pool: { handler: deletePool, schema: deletePoolSchema },
332
- // Storage Management
333
- proxmox_list_storage_config: {
334
- handler: listStorageConfig,
335
- schema: listStorageConfigSchema,
336
- },
337
- proxmox_get_storage_config: { handler: getStorageConfig, schema: getStorageConfigSchema },
338
- proxmox_create_storage: { handler: createStorage, schema: createStorageSchema },
339
- proxmox_update_storage: { handler: updateStorage, schema: updateStorageSchema },
340
- proxmox_delete_storage: { handler: deleteStorage, schema: deleteStorageSchema },
341
- proxmox_upload_to_storage: { handler: uploadToStorage, schema: uploadToStorageSchema },
342
- proxmox_download_url_to_storage: {
343
- handler: downloadUrlToStorage,
344
- schema: downloadUrlToStorageSchema,
345
- },
346
- proxmox_list_storage_content: {
347
- handler: listStorageContent,
348
- schema: listStorageContentSchema,
349
- },
350
- proxmox_delete_storage_content: {
351
- handler: deleteStorageContent,
352
- schema: deleteStorageContentSchema,
353
- },
354
- proxmox_list_file_restore: { handler: listFileRestore, schema: listFileRestoreSchema },
355
- proxmox_download_file_restore: {
356
- handler: downloadFileRestore,
357
- schema: downloadFileRestoreSchema,
358
- },
359
- proxmox_prune_backups: { handler: pruneBackups, schema: pruneBackupsSchema },
360
- // Ceph Integration
361
- proxmox_get_ceph_status: { handler: getCephStatus, schema: getCephStatusSchema },
362
- proxmox_list_ceph_osds: { handler: listCephOsds, schema: listCephOsdsSchema },
363
- proxmox_create_ceph_osd: { handler: createCephOsd, schema: createCephOsdSchema },
364
- proxmox_delete_ceph_osd: { handler: deleteCephOsd, schema: deleteCephOsdSchema },
365
- proxmox_list_ceph_mons: { handler: listCephMons, schema: listCephMonsSchema },
366
- proxmox_create_ceph_mon: { handler: createCephMon, schema: createCephMonSchema },
367
- proxmox_delete_ceph_mon: { handler: deleteCephMon, schema: deleteCephMonSchema },
368
- proxmox_list_ceph_mds: { handler: listCephMds, schema: listCephMdsSchema },
369
- proxmox_create_ceph_mds: { handler: createCephMds, schema: createCephMdsSchema },
370
- proxmox_delete_ceph_mds: { handler: deleteCephMds, schema: deleteCephMdsSchema },
371
- proxmox_list_ceph_pools: { handler: listCephPools, schema: listCephPoolsSchema },
372
- proxmox_create_ceph_pool: { handler: createCephPool, schema: createCephPoolSchema },
373
- proxmox_update_ceph_pool: { handler: updateCephPool, schema: updateCephPoolSchema },
374
- proxmox_delete_ceph_pool: { handler: deleteCephPool, schema: deleteCephPoolSchema },
375
- proxmox_list_ceph_fs: { handler: listCephFs, schema: listCephFsSchema },
376
- proxmox_create_ceph_fs: { handler: createCephFs, schema: createCephFsSchema },
377
- // Console Access
378
- proxmox_get_vnc_proxy: { handler: getVncProxy, schema: getVncProxySchema },
379
- proxmox_get_spice_proxy: { handler: getSpiceProxy, schema: getSpiceProxySchema },
380
- proxmox_get_term_proxy: { handler: getTermProxy, schema: getTermProxySchema },
381
- proxmox_get_lxc_vnc_proxy: {
382
- handler: getLxcVncProxy,
383
- schema: getLxcVncProxySchema,
384
- },
385
- proxmox_get_lxc_term_proxy: {
386
- handler: getLxcTermProxy,
387
- schema: getLxcTermProxySchema,
388
- },
389
- // Node Management
390
- proxmox_get_node_services: { handler: getNodeServices, schema: getNodeServicesSchema },
391
- proxmox_control_node_service: {
392
- handler: controlNodeService,
393
- schema: controlNodeServiceSchema,
394
- },
395
- proxmox_get_node_syslog: { handler: getNodeSyslog, schema: getNodeSyslogSchema },
396
- proxmox_get_node_journal: { handler: getNodeJournal, schema: getNodeJournalSchema },
397
- proxmox_get_node_tasks: { handler: getNodeTasks, schema: getNodeTasksSchema },
398
- proxmox_get_node_task: { handler: getNodeTask, schema: getNodeTaskSchema },
399
- proxmox_get_node_aplinfo: { handler: getNodeAplinfo, schema: getNodeAplinfoSchema },
400
- proxmox_get_node_netstat: { handler: getNodeNetstat, schema: getNodeNetstatSchema },
401
- proxmox_get_node_rrddata: { handler: getNodeRrddata, schema: getNodeRrddataSchema },
402
- proxmox_get_storage_rrddata: { handler: getStorageRrddata, schema: getStorageRrddataSchema },
403
- proxmox_get_node_report: { handler: getNodeReport, schema: getNodeReportSchema },
404
- // VM Query
405
- proxmox_get_vms: { handler: getVMs, schema: getVmsSchema },
406
- proxmox_get_vm_status: { handler: getVMStatus, schema: getVmStatusSchema },
407
- proxmox_get_vm_config: { handler: getVMConfig, schema: getVmConfigSchema },
408
- proxmox_get_lxc_config: { handler: getLxcConfig, schema: getLxcConfigSchema },
409
- proxmox_get_vm_pending: { handler: getVmPending, schema: getVmPendingSchema },
410
- proxmox_get_lxc_pending: { handler: getLxcPending, schema: getLxcPendingSchema },
411
- proxmox_check_vm_feature: { handler: checkVmFeature, schema: checkVmFeatureSchema },
412
- proxmox_check_lxc_feature: { handler: checkLxcFeature, schema: checkLxcFeatureSchema },
413
- proxmox_get_storage: { handler: getStorage, schema: getStorageSchema },
414
- // VM Lifecycle
415
- proxmox_start_lxc: { handler: startLxc, schema: startLxcSchema },
416
- proxmox_start_vm: { handler: startVM, schema: startVmSchema },
417
- proxmox_stop_lxc: { handler: stopLxc, schema: stopLxcSchema },
418
- proxmox_stop_vm: { handler: stopVM, schema: stopVmSchema },
419
- proxmox_delete_lxc: { handler: deleteLxc, schema: deleteLxcSchema },
420
- proxmox_delete_vm: { handler: deleteVM, schema: deleteVmSchema },
421
- proxmox_reboot_lxc: { handler: rebootLxc, schema: rebootLxcSchema },
422
- proxmox_reboot_vm: { handler: rebootVM, schema: rebootVmSchema },
423
- proxmox_shutdown_lxc: { handler: shutdownLxc, schema: shutdownLxcSchema },
424
- proxmox_shutdown_vm: { handler: shutdownVM, schema: shutdownVmSchema },
425
- proxmox_pause_vm: { handler: pauseVM, schema: pauseVmSchema },
426
- proxmox_resume_vm: { handler: resumeVM, schema: resumeVmSchema },
427
- // VM Modify
428
- proxmox_clone_lxc: { handler: cloneLxc, schema: cloneLxcSchema },
429
- proxmox_clone_vm: { handler: cloneVM, schema: cloneVmSchema },
430
- proxmox_resize_lxc: { handler: resizeLxc, schema: resizeLxcSchema },
431
- proxmox_resize_vm: { handler: resizeVM, schema: resizeVmSchema },
86
+ proxmox_sdn_vnet: { handler: handleSdnVnetTool, schema: sdnVnetToolSchema },
87
+ proxmox_sdn_zone: { handler: handleSdnZoneTool, schema: sdnZoneToolSchema },
88
+ proxmox_sdn_controller: { handler: handleSdnControllerTool, schema: sdnControllerToolSchema },
89
+ proxmox_sdn_subnet: { handler: handleSdnSubnetTool, schema: sdnSubnetToolSchema },
90
+ // Access Control (consolidated)
91
+ proxmox_user: { handler: handleUserTool, schema: userToolSchema },
92
+ proxmox_group: { handler: handleGroupTool, schema: groupToolSchema },
93
+ proxmox_role: { handler: handleRoleTool, schema: roleToolSchema },
94
+ proxmox_acl: { handler: handleAclTool, schema: aclToolSchema },
95
+ proxmox_domain: { handler: handleDomainTool, schema: domainToolSchema },
96
+ proxmox_user_token: { handler: handleUserTokenTool, schema: userTokenToolSchema },
97
+ // Pool Management (consolidated)
98
+ proxmox_pool: { handler: handlePoolTool, schema: poolToolSchema },
99
+ // Storage Management (consolidated)
100
+ proxmox_storage_config: { handler: handleStorageConfigTool, schema: storageConfigToolSchema },
101
+ proxmox_storage_content: { handler: handleStorageContentTool, schema: storageContentToolSchema },
102
+ proxmox_file_restore: { handler: handleFileRestore, schema: fileRestoreSchema },
103
+ // Ceph Integration (consolidated)
104
+ proxmox_ceph: { handler: handleCephTool, schema: cephToolSchema },
105
+ proxmox_ceph_osd: { handler: handleCephOsdTool, schema: cephOsdToolSchema },
106
+ proxmox_ceph_mon: { handler: handleCephMonTool, schema: cephMonToolSchema },
107
+ proxmox_ceph_mds: { handler: handleCephMdsTool, schema: cephMdsToolSchema },
108
+ proxmox_ceph_pool: { handler: handleCephPoolTool, schema: cephPoolToolSchema },
109
+ proxmox_ceph_fs: { handler: handleCephFsTool, schema: cephFsToolSchema },
110
+ // Console Access (consolidated)
111
+ proxmox_console_vnc: { handler: handleConsoleVnc, schema: consoleVncSchema },
112
+ proxmox_console_term: { handler: handleConsoleTerm, schema: consoleTermSchema },
113
+ proxmox_console_spice: { handler: getSpiceProxy, schema: getSpiceProxySchema },
114
+ // Guest Query (consolidated VM/LXC)
115
+ proxmox_guest_list: { handler: handleGuestList, schema: guestListSchema },
116
+ proxmox_guest_status: { handler: handleGuestStatus, schema: guestStatusSchema },
117
+ proxmox_guest_config: { handler: handleGuestConfig, schema: guestConfigSchema },
118
+ proxmox_guest_pending: { handler: handleGuestPending, schema: guestPendingSchema },
119
+ proxmox_guest_feature: { handler: handleGuestFeature, schema: guestFeatureSchema },
120
+ proxmox_guest_rrddata: { handler: handleGuestRrddata, schema: guestRrddataSchema },
121
+ // Guest Lifecycle (consolidated VM/LXC)
122
+ proxmox_guest_start: { handler: handleGuestStart, schema: guestStartSchema },
123
+ proxmox_guest_stop: { handler: handleGuestStop, schema: guestStopSchema },
124
+ proxmox_guest_reboot: { handler: handleGuestReboot, schema: guestRebootSchema },
125
+ proxmox_guest_shutdown: { handler: handleGuestShutdown, schema: guestShutdownSchema },
126
+ proxmox_guest_delete: { handler: handleGuestDelete, schema: guestDeleteSchema },
127
+ proxmox_guest_pause: { handler: handleGuestPause, schema: guestPauseSchema },
128
+ proxmox_guest_resume: { handler: handleGuestResume, schema: guestResumeSchema },
129
+ // Guest Modify (consolidated VM/LXC)
130
+ proxmox_guest_clone: { handler: handleGuestClone, schema: guestCloneSchema },
131
+ proxmox_guest_resize: { handler: handleGuestResize, schema: guestResizeSchema },
132
+ proxmox_guest_config_update: {
133
+ handler: handleGuestConfigUpdate,
134
+ schema: guestConfigUpdateSchema,
135
+ },
136
+ proxmox_guest_migrate: { handler: handleGuestMigrate, schema: guestMigrateSchema },
137
+ proxmox_guest_template: { handler: handleGuestTemplate, schema: guestTemplateSchema },
432
138
  // VM/LXC Advanced
433
- proxmox_migrate_vm: { handler: migrateVm, schema: migrateVmSchema },
434
- proxmox_migrate_lxc: { handler: migrateLxc, schema: migrateLxcSchema },
435
- proxmox_create_template_vm: { handler: createTemplateVm, schema: createTemplateVmSchema },
436
- proxmox_create_template_lxc: { handler: createTemplateLxc, schema: createTemplateLxcSchema },
437
- proxmox_get_vm_rrddata: { handler: getVmRrddata, schema: getVmRrddataSchema },
438
- proxmox_get_lxc_rrddata: { handler: getLxcRrddata, schema: getLxcRrddataSchema },
439
- proxmox_agent_ping: { handler: agentPing, schema: agentPingSchema },
440
- proxmox_agent_get_osinfo: { handler: agentGetOsinfo, schema: agentGetOsinfoSchema },
441
- proxmox_agent_get_fsinfo: { handler: agentGetFsinfo, schema: agentGetFsinfoSchema },
442
- proxmox_agent_get_memory_blocks: {
443
- handler: agentGetMemoryBlocks,
444
- schema: agentGetMemoryBlocksSchema,
445
- },
446
- proxmox_agent_get_network_interfaces: {
447
- handler: agentGetNetworkInterfaces,
448
- schema: agentGetNetworkInterfacesSchema,
449
- },
450
- proxmox_agent_get_time: { handler: agentGetTime, schema: agentGetTimeSchema },
451
- proxmox_agent_get_timezone: { handler: agentGetTimezone, schema: agentGetTimezoneSchema },
452
- proxmox_agent_get_vcpus: { handler: agentGetVcpus, schema: agentGetVcpusSchema },
453
- proxmox_agent_exec: { handler: agentExec, schema: agentExecSchema },
454
- proxmox_agent_exec_status: { handler: agentExecStatus, schema: agentExecStatusSchema },
455
- proxmox_agent_file_read: { handler: agentFileRead, schema: agentFileReadSchema },
456
- proxmox_agent_file_write: { handler: agentFileWrite, schema: agentFileWriteSchema },
457
- proxmox_agent_get_hostname: { handler: agentGetHostname, schema: agentGetHostnameSchema },
458
- proxmox_agent_get_users: { handler: agentGetUsers, schema: agentGetUsersSchema },
459
- proxmox_agent_set_user_password: { handler: agentSetUserPassword, schema: agentSetUserPasswordSchema },
460
- proxmox_agent_shutdown: { handler: agentShutdown, schema: agentShutdownSchema },
461
- proxmox_agent_fsfreeze_status: { handler: agentFsfreezeStatus, schema: agentFsfreezeStatusSchema },
462
- proxmox_agent_fsfreeze_freeze: { handler: agentFsfreezeFreeze, schema: agentFsfreezeFreezeSchema },
463
- proxmox_agent_fsfreeze_thaw: { handler: agentFsfreezeThaw, schema: agentFsfreezeThawSchema },
464
- proxmox_agent_fstrim: { handler: agentFstrim, schema: agentFstrimSchema },
465
- proxmox_agent_get_memory_block_info: { handler: agentGetMemoryBlockInfo, schema: agentGetMemoryBlockInfoSchema },
466
- proxmox_agent_suspend_disk: { handler: agentSuspendDisk, schema: agentSuspendDiskSchema },
467
- proxmox_agent_suspend_ram: { handler: agentSuspendRam, schema: agentSuspendRamSchema },
468
- proxmox_agent_suspend_hybrid: { handler: agentSuspendHybrid, schema: agentSuspendHybridSchema },
469
- proxmox_list_vm_firewall_rules: {
470
- handler: listVmFirewallRules,
471
- schema: listVmFirewallRulesSchema,
472
- },
473
- proxmox_get_vm_firewall_rule: { handler: getVmFirewallRule, schema: getVmFirewallRuleSchema },
474
- proxmox_create_vm_firewall_rule: {
475
- handler: createVmFirewallRule,
476
- schema: createVmFirewallRuleSchema,
477
- },
478
- proxmox_update_vm_firewall_rule: {
479
- handler: updateVmFirewallRule,
480
- schema: updateVmFirewallRuleSchema,
481
- },
482
- proxmox_delete_vm_firewall_rule: {
483
- handler: deleteVmFirewallRule,
484
- schema: deleteVmFirewallRuleSchema,
485
- },
486
- proxmox_list_lxc_firewall_rules: {
487
- handler: listLxcFirewallRules,
488
- schema: listLxcFirewallRulesSchema,
489
- },
490
- proxmox_get_lxc_firewall_rule: {
491
- handler: getLxcFirewallRule,
492
- schema: getLxcFirewallRuleSchema,
493
- },
494
- proxmox_create_lxc_firewall_rule: {
495
- handler: createLxcFirewallRule,
496
- schema: createLxcFirewallRuleSchema,
497
- },
498
- proxmox_update_lxc_firewall_rule: {
499
- handler: updateLxcFirewallRule,
500
- schema: updateLxcFirewallRuleSchema,
501
- },
502
- proxmox_delete_lxc_firewall_rule: {
503
- handler: deleteLxcFirewallRule,
504
- schema: deleteLxcFirewallRuleSchema,
139
+ proxmox_agent_info: { handler: handleAgentInfo, schema: agentInfoSchema },
140
+ proxmox_agent_hw: { handler: handleAgentHw, schema: agentHwSchema },
141
+ proxmox_agent_exec: { handler: handleAgentExec, schema: agentExecToolSchema },
142
+ proxmox_agent_file: { handler: handleAgentFile, schema: agentFileSchema },
143
+ proxmox_agent_freeze: { handler: handleAgentFreeze, schema: agentFreezeSchema },
144
+ proxmox_agent_power: { handler: handleAgentPower, schema: agentPowerSchema },
145
+ proxmox_agent_user: { handler: handleAgentUser, schema: agentUserSchema },
146
+ proxmox_guest_firewall_rule: {
147
+ handler: handleGuestFirewallRule,
148
+ schema: guestFirewallRuleSchema,
505
149
  },
506
150
  // Snapshots
507
- proxmox_create_snapshot_lxc: { handler: createSnapshotLxc, schema: createSnapshotLxcSchema },
508
- proxmox_create_snapshot_vm: { handler: createSnapshotVM, schema: createSnapshotVmSchema },
509
- proxmox_list_snapshots_lxc: { handler: listSnapshotsLxc, schema: listSnapshotsLxcSchema },
510
- proxmox_list_snapshots_vm: { handler: listSnapshotsVM, schema: listSnapshotsVmSchema },
511
- proxmox_rollback_snapshot_lxc: { handler: rollbackSnapshotLxc, schema: rollbackSnapshotLxcSchema },
512
- proxmox_rollback_snapshot_vm: { handler: rollbackSnapshotVM, schema: rollbackSnapshotVmSchema },
513
- proxmox_delete_snapshot_lxc: { handler: deleteSnapshotLxc, schema: deleteSnapshotLxcSchema },
514
- proxmox_delete_snapshot_vm: { handler: deleteSnapshotVM, schema: deleteSnapshotVmSchema },
151
+ proxmox_guest_snapshot: { handler: handleGuestSnapshot, schema: guestSnapshotSchema },
515
152
  // Backups
516
- proxmox_create_backup_lxc: { handler: createBackupLxc, schema: createBackupLxcSchema },
517
- proxmox_create_backup_vm: { handler: createBackupVM, schema: createBackupVmSchema },
518
- proxmox_list_backups: { handler: listBackups, schema: listBackupsSchema },
519
- proxmox_restore_backup_lxc: { handler: restoreBackupLxc, schema: restoreBackupLxcSchema },
520
- proxmox_restore_backup_vm: { handler: restoreBackupVM, schema: restoreBackupVmSchema },
521
- proxmox_delete_backup: { handler: deleteBackup, schema: deleteBackupSchema },
153
+ proxmox_backup: { handler: handleBackup, schema: backupSchema },
522
154
  // Disks
523
- proxmox_add_disk_vm: { handler: addDiskVM, schema: addDiskVmSchema },
524
- proxmox_add_mountpoint_lxc: { handler: addMountpointLxc, schema: addMountpointLxcSchema },
525
- proxmox_resize_disk_vm: { handler: resizeDiskVM, schema: resizeDiskVmSchema },
526
- proxmox_resize_disk_lxc: { handler: resizeDiskLxc, schema: resizeDiskLxcSchema },
527
- proxmox_remove_disk_vm: { handler: removeDiskVM, schema: removeDiskVmSchema },
528
- proxmox_remove_mountpoint_lxc: { handler: removeMountpointLxc, schema: removeMountpointLxcSchema },
529
- proxmox_move_disk_vm: { handler: moveDiskVM, schema: moveDiskVmSchema },
530
- proxmox_move_disk_lxc: { handler: moveDiskLxc, schema: moveDiskLxcSchema },
531
- proxmox_get_node_disks: { handler: getNodeDisks, schema: getNodeDisksSchema },
532
- proxmox_get_disk_smart: { handler: getDiskSmart, schema: getDiskSmartSchema },
533
- proxmox_get_node_lvm: { handler: getNodeLvm, schema: getNodeLvmSchema },
534
- proxmox_get_node_zfs: { handler: getNodeZfs, schema: getNodeZfsSchema },
535
- proxmox_init_disk_gpt: { handler: initDiskGpt, schema: initDiskGptSchema },
536
- proxmox_wipe_disk: { handler: wipeDisk, schema: wipeDiskSchema },
537
- proxmox_get_node_lvmthin: { handler: getNodeLvmThin, schema: getNodeLvmThinSchema },
538
- proxmox_get_node_directory: { handler: getNodeDirectory, schema: getNodeDirectorySchema },
155
+ proxmox_vm_disk: { handler: handleVmDisk, schema: vmDiskSchema },
156
+ proxmox_lxc_mountpoint: { handler: handleLxcMountpoint, schema: lxcMountpointSchema },
157
+ proxmox_guest_disk_resize: { handler: handleGuestDiskResize, schema: guestDiskResizeSchema },
158
+ proxmox_guest_disk_move: { handler: handleGuestDiskMove, schema: guestDiskMoveSchema },
159
+ proxmox_node_disk: { handler: handleNodeDisk, schema: nodeDiskSchema },
160
+ proxmox_node_disk_admin: { handler: handleNodeDiskAdmin, schema: nodeDiskAdminSchema },
539
161
  // Network
540
- proxmox_add_network_vm: { handler: addNetworkVm, schema: addNetworkVmSchema },
541
- proxmox_add_network_lxc: { handler: addNetworkLxc, schema: addNetworkLxcSchema },
542
- proxmox_update_network_vm: { handler: updateNetworkVm, schema: updateNetworkVmSchema },
543
- proxmox_update_network_lxc: { handler: updateNetworkLxc, schema: updateNetworkLxcSchema },
544
- proxmox_remove_network_vm: { handler: removeNetworkVm, schema: removeNetworkVmSchema },
545
- proxmox_remove_network_lxc: { handler: removeNetworkLxc, schema: removeNetworkLxcSchema },
546
- // Command
547
- proxmox_execute_vm_command: { handler: executeVMCommand, schema: executeVmCommandSchema },
162
+ proxmox_guest_network: { handler: handleGuestNetwork, schema: guestNetworkSchema },
548
163
  // Creation
549
- proxmox_list_templates: { handler: listTemplates, schema: listTemplatesSchema },
550
164
  proxmox_create_lxc: { handler: createLxc, schema: createLxcSchema },
551
165
  proxmox_create_vm: { handler: createVM, schema: createVmSchema },
552
- // Cloud-Init
553
- proxmox_get_cloudinit_config: { handler: getCloudInitConfig, schema: getCloudInitConfigSchema },
554
- proxmox_dump_cloudinit: { handler: dumpCloudInit, schema: dumpCloudInitSchema },
555
- proxmox_regenerate_cloudinit: { handler: regenerateCloudInit, schema: regenerateCloudInitSchema },
556
- // Certificate Management
557
- proxmox_get_node_certificates: { handler: getNodeCertificates, schema: getNodeCertificatesSchema },
558
- proxmox_upload_custom_certificate: { handler: uploadCustomCertificate, schema: uploadCustomCertificateSchema },
559
- proxmox_delete_custom_certificate: { handler: deleteCustomCertificate, schema: deleteCustomCertificateSchema },
560
- proxmox_order_acme_certificate: { handler: orderAcmeCertificate, schema: orderAcmeCertificateSchema },
561
- proxmox_renew_acme_certificate: { handler: renewAcmeCertificate, schema: renewAcmeCertificateSchema },
562
- proxmox_revoke_acme_certificate: { handler: revokeAcmeCertificate, schema: revokeAcmeCertificateSchema },
563
- proxmox_get_node_acme_config: { handler: getNodeAcmeConfig, schema: getNodeAcmeConfigSchema },
564
- // ACME Management
565
- proxmox_list_acme_accounts: { handler: listAcmeAccounts, schema: listAcmeAccountsSchema },
566
- proxmox_get_acme_account: { handler: getAcmeAccount, schema: getAcmeAccountSchema },
567
- proxmox_create_acme_account: { handler: createAcmeAccount, schema: createAcmeAccountSchema },
568
- proxmox_update_acme_account: { handler: updateAcmeAccount, schema: updateAcmeAccountSchema },
569
- proxmox_delete_acme_account: { handler: deleteAcmeAccount, schema: deleteAcmeAccountSchema },
570
- proxmox_list_acme_plugins: { handler: listAcmePlugins, schema: listAcmePluginsSchema },
571
- proxmox_get_acme_plugin: { handler: getAcmePlugin, schema: getAcmePluginSchema },
572
- proxmox_get_acme_directories: { handler: getAcmeDirectories, schema: getAcmeDirectoriesSchema },
573
- // Notification Management
574
- proxmox_list_notification_targets: { handler: listNotificationTargets, schema: listNotificationTargetsSchema },
575
- proxmox_get_notification_target: { handler: getNotificationTarget, schema: getNotificationTargetSchema },
576
- proxmox_create_notification_target: { handler: createNotificationTarget, schema: createNotificationTargetSchema },
577
- proxmox_delete_notification_target: { handler: deleteNotificationTarget, schema: deleteNotificationTargetSchema },
578
- proxmox_test_notification_target: { handler: testNotificationTarget, schema: testNotificationTargetSchema },
166
+ // Cloud-Init (consolidated)
167
+ proxmox_cloudinit: { handler: handleCloudInit, schema: cloudInitSchema },
168
+ // Certificate Management (consolidated)
169
+ proxmox_certificate: { handler: handleCertificate, schema: certificateSchema },
170
+ proxmox_acme_cert: { handler: handleAcmeCert, schema: acmeCertSchema },
171
+ // ACME Management (consolidated)
172
+ proxmox_acme_account: { handler: handleAcmeAccount, schema: acmeAccountSchema },
173
+ proxmox_acme_info: { handler: handleAcmeInfo, schema: acmeInfoSchema },
174
+ // Notification Management (consolidated)
175
+ proxmox_notification: { handler: handleNotification, schema: notificationSchema },
579
176
  };
580
177
  // Helper to get tool handler
581
178
  export function getToolHandler(toolName) {
582
179
  return toolRegistry[toolName];
583
180
  }
584
- // Validate all 307 tools are registered
181
+ // Validate all tools are registered
585
182
  const registeredCount = Object.keys(toolRegistry).length;
586
- if (registeredCount !== 307) {
587
- throw new Error(`Tool registry incomplete: expected 307 tools, got ${registeredCount}`);
183
+ const expectedCount = TOOL_NAMES.length;
184
+ if (registeredCount !== expectedCount) {
185
+ throw new Error(`Tool registry incomplete: expected ${expectedCount} tools, got ${registeredCount}`);
588
186
  }
589
187
  //# sourceMappingURL=registry.js.map