@calltelemetry/ct-lab-mcp 0.1.5 → 0.2.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 (139) hide show
  1. package/dist/bin/ct-lab-mcp.d.ts.map +1 -1
  2. package/dist/bin/ct-lab-mcp.js +21 -7
  3. package/dist/bin/ct-lab-mcp.js.map +1 -1
  4. package/dist/src/appliance/commands.d.ts.map +1 -1
  5. package/dist/src/appliance/commands.js +24 -0
  6. package/dist/src/appliance/commands.js.map +1 -1
  7. package/dist/src/appliance/executor.d.ts.map +1 -1
  8. package/dist/src/appliance/executor.js +7 -1
  9. package/dist/src/appliance/executor.js.map +1 -1
  10. package/dist/src/appliance/mock.d.ts +6 -0
  11. package/dist/src/appliance/mock.d.ts.map +1 -1
  12. package/dist/src/appliance/mock.js +27 -6
  13. package/dist/src/appliance/mock.js.map +1 -1
  14. package/dist/src/appliance/types.d.ts +20 -1
  15. package/dist/src/appliance/types.d.ts.map +1 -1
  16. package/dist/src/appliance/types.js.map +1 -1
  17. package/dist/src/credentials/errors.d.ts +16 -0
  18. package/dist/src/credentials/errors.d.ts.map +1 -0
  19. package/dist/src/credentials/errors.js +21 -0
  20. package/dist/src/credentials/errors.js.map +1 -0
  21. package/dist/src/credentials/resolver.d.ts +16 -0
  22. package/dist/src/credentials/resolver.d.ts.map +1 -1
  23. package/dist/src/credentials/resolver.js +104 -10
  24. package/dist/src/credentials/resolver.js.map +1 -1
  25. package/dist/src/credentials/types.d.ts +8 -0
  26. package/dist/src/credentials/types.d.ts.map +1 -1
  27. package/dist/src/diagnostics/collector.d.ts +37 -0
  28. package/dist/src/diagnostics/collector.d.ts.map +1 -0
  29. package/dist/src/diagnostics/collector.js +452 -0
  30. package/dist/src/diagnostics/collector.js.map +1 -0
  31. package/dist/src/diagnostics/types.d.ts +103 -0
  32. package/dist/src/diagnostics/types.d.ts.map +1 -0
  33. package/dist/src/diagnostics/types.js +8 -0
  34. package/dist/src/diagnostics/types.js.map +1 -0
  35. package/dist/src/hypervisors/esxi/client.d.ts +1 -0
  36. package/dist/src/hypervisors/esxi/client.d.ts.map +1 -1
  37. package/dist/src/hypervisors/esxi/client.js +15 -3
  38. package/dist/src/hypervisors/esxi/client.js.map +1 -1
  39. package/dist/src/hypervisors/esxi/mock.d.ts +1 -0
  40. package/dist/src/hypervisors/esxi/mock.d.ts.map +1 -1
  41. package/dist/src/hypervisors/esxi/mock.js +4 -0
  42. package/dist/src/hypervisors/esxi/mock.js.map +1 -1
  43. package/dist/src/hypervisors/manager.d.ts.map +1 -1
  44. package/dist/src/hypervisors/manager.js +37 -3
  45. package/dist/src/hypervisors/manager.js.map +1 -1
  46. package/dist/src/hypervisors/proxmox/client.d.ts +13 -1
  47. package/dist/src/hypervisors/proxmox/client.d.ts.map +1 -1
  48. package/dist/src/hypervisors/proxmox/client.js +485 -4
  49. package/dist/src/hypervisors/proxmox/client.js.map +1 -1
  50. package/dist/src/hypervisors/proxmox/mock.d.ts +1 -0
  51. package/dist/src/hypervisors/proxmox/mock.d.ts.map +1 -1
  52. package/dist/src/hypervisors/proxmox/mock.js +4 -0
  53. package/dist/src/hypervisors/proxmox/mock.js.map +1 -1
  54. package/dist/src/hypervisors/types.d.ts +119 -2
  55. package/dist/src/hypervisors/types.d.ts.map +1 -1
  56. package/dist/src/proxmox/mock.d.ts +1 -1
  57. package/dist/src/proxmox/mock.d.ts.map +1 -1
  58. package/dist/src/proxmox/mock.js +103 -1
  59. package/dist/src/proxmox/mock.js.map +1 -1
  60. package/dist/src/server.d.ts.map +1 -1
  61. package/dist/src/server.js +2 -0
  62. package/dist/src/server.js.map +1 -1
  63. package/dist/src/slot/manager.d.ts +26 -1
  64. package/dist/src/slot/manager.d.ts.map +1 -1
  65. package/dist/src/slot/manager.js +278 -1
  66. package/dist/src/slot/manager.js.map +1 -1
  67. package/dist/src/slot/types.d.ts +49 -0
  68. package/dist/src/slot/types.d.ts.map +1 -1
  69. package/dist/src/slot/types.js +18 -0
  70. package/dist/src/slot/types.js.map +1 -1
  71. package/dist/src/tools/credential-status.d.ts +29 -0
  72. package/dist/src/tools/credential-status.d.ts.map +1 -0
  73. package/dist/src/tools/credential-status.js +81 -0
  74. package/dist/src/tools/credential-status.js.map +1 -0
  75. package/dist/src/tools/cube-provision.d.ts +288 -0
  76. package/dist/src/tools/cube-provision.d.ts.map +1 -0
  77. package/dist/src/tools/cube-provision.js +892 -0
  78. package/dist/src/tools/cube-provision.js.map +1 -0
  79. package/dist/src/tools/cube-tools.d.ts +137 -0
  80. package/dist/src/tools/cube-tools.d.ts.map +1 -0
  81. package/dist/src/tools/cube-tools.js +292 -0
  82. package/dist/src/tools/cube-tools.js.map +1 -0
  83. package/dist/src/tools/cucm-emulator-tool.d.ts +85 -0
  84. package/dist/src/tools/cucm-emulator-tool.d.ts.map +1 -0
  85. package/dist/src/tools/cucm-emulator-tool.js +191 -0
  86. package/dist/src/tools/cucm-emulator-tool.js.map +1 -0
  87. package/dist/src/tools/cucm-trunk.d.ts +165 -0
  88. package/dist/src/tools/cucm-trunk.d.ts.map +1 -0
  89. package/dist/src/tools/cucm-trunk.js +354 -0
  90. package/dist/src/tools/cucm-trunk.js.map +1 -0
  91. package/dist/src/tools/diagnostics.d.ts +58 -0
  92. package/dist/src/tools/diagnostics.d.ts.map +1 -0
  93. package/dist/src/tools/diagnostics.js +212 -0
  94. package/dist/src/tools/diagnostics.js.map +1 -0
  95. package/dist/src/tools/guest-agent.d.ts +34 -0
  96. package/dist/src/tools/guest-agent.d.ts.map +1 -0
  97. package/dist/src/tools/guest-agent.js +133 -0
  98. package/dist/src/tools/guest-agent.js.map +1 -0
  99. package/dist/src/tools/index.d.ts +10 -0
  100. package/dist/src/tools/index.d.ts.map +1 -1
  101. package/dist/src/tools/index.js +97 -1
  102. package/dist/src/tools/index.js.map +1 -1
  103. package/dist/src/tools/list-hosts.d.ts +9 -0
  104. package/dist/src/tools/list-hosts.d.ts.map +1 -1
  105. package/dist/src/tools/list-hosts.js.map +1 -1
  106. package/dist/src/tools/network-tools.d.ts +65 -0
  107. package/dist/src/tools/network-tools.d.ts.map +1 -0
  108. package/dist/src/tools/network-tools.js +200 -0
  109. package/dist/src/tools/network-tools.js.map +1 -0
  110. package/dist/src/tools/provision-tools.d.ts.map +1 -1
  111. package/dist/src/tools/provision-tools.js +19 -0
  112. package/dist/src/tools/provision-tools.js.map +1 -1
  113. package/dist/src/tools/server-management.d.ts +51 -0
  114. package/dist/src/tools/server-management.d.ts.map +1 -0
  115. package/dist/src/tools/server-management.js +175 -0
  116. package/dist/src/tools/server-management.js.map +1 -0
  117. package/dist/src/tools/storage-tools.d.ts +177 -0
  118. package/dist/src/tools/storage-tools.d.ts.map +1 -1
  119. package/dist/src/tools/storage-tools.js +420 -0
  120. package/dist/src/tools/storage-tools.js.map +1 -1
  121. package/dist/src/tools/update-cli.d.ts +62 -0
  122. package/dist/src/tools/update-cli.d.ts.map +1 -0
  123. package/dist/src/tools/update-cli.js +142 -0
  124. package/dist/src/tools/update-cli.js.map +1 -0
  125. package/dist/src/tools/vm-action.d.ts +6 -6
  126. package/dist/src/tools/vm-action.d.ts.map +1 -1
  127. package/dist/src/tools/vm-action.js +3 -1
  128. package/dist/src/tools/vm-action.js.map +1 -1
  129. package/dist/src/types/mcp.d.ts +5 -1
  130. package/dist/src/types/mcp.d.ts.map +1 -1
  131. package/dist/src/types/mcp.js +14 -0
  132. package/dist/src/types/mcp.js.map +1 -1
  133. package/dist/src/types/proxmox.d.ts +1 -0
  134. package/dist/src/types/proxmox.d.ts.map +1 -1
  135. package/dist/src/utils/formatters.d.ts +7 -0
  136. package/dist/src/utils/formatters.d.ts.map +1 -1
  137. package/dist/src/utils/formatters.js +48 -5
  138. package/dist/src/utils/formatters.js.map +1 -1
  139. package/package.json +1 -1
@@ -0,0 +1,200 @@
1
+ /**
2
+ * Manage VM Network & Virtual NICs MCP Tool
3
+ *
4
+ * Provides fine-grained network inspection and dynamic virtual NIC configuration:
5
+ * 1. Query virtual adapters (net0, net1), MAC addresses, bridges, VLANs, and link state.
6
+ * 2. Connect / Disconnect link state (simulate pulling / plugging network cable).
7
+ * 3. Change VLAN tags (live network migration).
8
+ * 4. Switch physical host bridges (e.g. vmbr0 vs vmbr1).
9
+ */
10
+ import { z } from "zod";
11
+ import { ProxmoxErrorCode, createToolErrorResult } from "../types/mcp.js";
12
+ import { telemetry } from "../telemetry/registry.js";
13
+ import { logger } from "../utils/logger.js";
14
+ export const ManageVmNetworkInputShape = {
15
+ target: z
16
+ .union([z.string().min(1), z.number().int().positive()])
17
+ .describe("Target VMID (e.g. 105, 104) or VM name/path."),
18
+ vmIdOrName: z
19
+ .union([z.string().min(1), z.number().int().positive()])
20
+ .optional()
21
+ .describe("Alias for target."),
22
+ host: z
23
+ .string()
24
+ .optional()
25
+ .describe("Target hypervisor host (e.g. 'proxmox-lab', 'proxmox-mini')."),
26
+ action: z
27
+ .enum(["get", "set_link", "set_vlan", "set_bridge", "set_firewall", "set_rate_limit"])
28
+ .optional()
29
+ .default("get")
30
+ .describe("Action: 'get' (inspect NICs and guest IPs), 'set_link' (connect/disconnect cable), 'set_vlan' (change VLAN tag), 'set_bridge' (switch bridge)."),
31
+ nic: z
32
+ .string()
33
+ .optional()
34
+ .default("net0")
35
+ .describe("Virtual network interface identifier (e.g. 'net0', 'net1'). Default: 'net0'."),
36
+ connected: z
37
+ .boolean()
38
+ .optional()
39
+ .describe("Connection state for 'set_link' (true: connected, false: disconnected)."),
40
+ vlan: z
41
+ .number()
42
+ .int()
43
+ .optional()
44
+ .describe("VLAN tag for 'set_vlan' (e.g. 124, 125, 126)."),
45
+ bridge: z
46
+ .string()
47
+ .optional()
48
+ .describe("Host bridge identifier for 'set_bridge' (e.g. 'vmbr0', 'vmbr1')."),
49
+ firewall: z
50
+ .boolean()
51
+ .optional()
52
+ .describe("Enable or disable hardware firewall for 'set_firewall'."),
53
+ rateLimitMbs: z
54
+ .number()
55
+ .optional()
56
+ .describe("Rate limit in MB/s for 'set_rate_limit'.")
57
+ };
58
+ export const ManageVmNetworkInputSchema = z.object(ManageVmNetworkInputShape);
59
+ export async function handleManageVmNetwork(args, context) {
60
+ const target = (args.target || args.vmIdOrName || args.vmid);
61
+ if (!target) {
62
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'target' (VMID or VM name) is required.");
63
+ }
64
+ const hostName = args.host;
65
+ const action = args.action || "get";
66
+ const nic = args.nic || "net0";
67
+ if (!context.hypervisorManager) {
68
+ return createToolErrorResult(ProxmoxErrorCode.UPSTREAM_API_ERROR, "Hypervisor manager is not initialized in context.");
69
+ }
70
+ try {
71
+ const driver = hostName
72
+ ? context.hypervisorManager.getDriver(hostName)
73
+ : (await context.hypervisorManager.findVm(target))?.driver;
74
+ if (!driver) {
75
+ return createToolErrorResult(ProxmoxErrorCode.VM_NOT_FOUND, `Could not resolve hypervisor driver for VM '${target}'${hostName ? ` on host '${hostName}'` : ""}.`);
76
+ }
77
+ if (!driver.getVmNetwork || !driver.updateVmNic) {
78
+ return createToolErrorResult(ProxmoxErrorCode.OPERATION_NOT_SUPPORTED, `Network management operations are not supported on hypervisor '${driver.hostName}' (${driver.hypervisorType}).`);
79
+ }
80
+ // 1. Perform mutating action if requested
81
+ if (action !== "get") {
82
+ const updateOptions = {};
83
+ if (action === "set_link") {
84
+ if (args.connected === undefined) {
85
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'connected' (boolean) is required when action is 'set_link'.");
86
+ }
87
+ updateOptions.connected = Boolean(args.connected);
88
+ }
89
+ else if (action === "set_vlan") {
90
+ if (args.vlan === undefined) {
91
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'vlan' (number) is required when action is 'set_vlan'.");
92
+ }
93
+ updateOptions.vlan = Number(args.vlan);
94
+ }
95
+ else if (action === "set_bridge") {
96
+ if (!args.bridge || typeof args.bridge !== "string") {
97
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'bridge' (string) is required when action is 'set_bridge'.");
98
+ }
99
+ updateOptions.bridge = String(args.bridge).trim();
100
+ }
101
+ else if (action === "set_firewall") {
102
+ if (args.firewall === undefined) {
103
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'firewall' (boolean) is required when action is 'set_firewall'.");
104
+ }
105
+ updateOptions.firewall = Boolean(args.firewall);
106
+ }
107
+ else if (action === "set_rate_limit") {
108
+ if (args.rateLimitMbs === undefined) {
109
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, "Parameter 'rateLimitMbs' (number) is required when action is 'set_rate_limit'.");
110
+ }
111
+ updateOptions.rateLimitMbs = Number(args.rateLimitMbs);
112
+ }
113
+ await driver.updateVmNic(target, nic, updateOptions);
114
+ telemetry.emit({
115
+ event: "vm.power_action",
116
+ actor: "network_manager",
117
+ status: "success",
118
+ metadata: {
119
+ target,
120
+ host: driver.hostName,
121
+ action,
122
+ nic,
123
+ updateOptions
124
+ }
125
+ });
126
+ }
127
+ // 2. Fetch updated network status
128
+ const report = await driver.getVmNetwork(target);
129
+ const markdown = formatNetworkMarkdown(report, action, nic);
130
+ return {
131
+ content: [
132
+ {
133
+ type: "text",
134
+ text: markdown
135
+ }
136
+ ],
137
+ structuredContent: {
138
+ success: true,
139
+ report
140
+ }
141
+ };
142
+ }
143
+ catch (err) {
144
+ const msg = err instanceof Error ? err.message : String(err);
145
+ logger.error(`Network management error for VM '${target}': ${msg}`);
146
+ return createToolErrorResult(ProxmoxErrorCode.VM_ACTION_FAILED, `Failed to execute network action '${action}' on VM '${target}': ${msg}`);
147
+ }
148
+ }
149
+ /**
150
+ * Format VM network report into Markdown.
151
+ */
152
+ export function formatNetworkMarkdown(report, actionTaken = "get", targetNic) {
153
+ const lines = [
154
+ `### 🌐 Virtual Network & NIC Report: **${report.vmName}** (VMID: \`${report.vmId}\`)`,
155
+ ``,
156
+ `*Host:* **${report.hostName}** (\`${report.hypervisor}\`) | *Guest Agent Active:* ${report.guestAgentActive ? "🟢 Yes" : "⚪ No / Offline"}`,
157
+ ``
158
+ ];
159
+ if (actionTaken !== "get") {
160
+ lines.push(`> āœ… **Action Applied:** Successfully executed \`${actionTaken}\` on interface \`${targetNic || "net0"}\`.`);
161
+ lines.push(``);
162
+ }
163
+ // 1. Primary Network & SSH Recipe Banner
164
+ if (report.primaryIp) {
165
+ lines.push(`> šŸŽÆ **Primary Management IP:** \`${report.primaryIp}\` | **Primary MAC:** \`${report.primaryMac || "N/A"}\``);
166
+ lines.push(`> šŸ”‘ **SSH Command:** \`${report.sshCommand || `ssh -p 2222 calltelemetry@${report.primaryIp}`}\``);
167
+ lines.push(`> šŸ” *Credentials:* Resolved via Doppler \`LAB_VM_CREDENTIALS\` / \`LAB_VM_PASS\` (Port 2222).`);
168
+ lines.push(``);
169
+ }
170
+ // 2. Virtual NICs
171
+ lines.push(`#### šŸ”Œ 1. Virtual Network Adapters`);
172
+ if (report.nics.length === 0) {
173
+ lines.push(`*No virtual network adapters attached.*`);
174
+ }
175
+ else {
176
+ lines.push(`| Interface | Link State | Bridge | VLAN Tag | Model | MAC Address | Firewall | Rate Limit |`);
177
+ lines.push(`|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|`);
178
+ for (const nic of report.nics) {
179
+ const linkEmoji = nic.connected ? "🟢 Connected" : "šŸ”“ Disconnected (Cable Pulled)";
180
+ const vlanStr = nic.vlan !== undefined ? `VLAN ${nic.vlan}` : "Default (Untagged)";
181
+ const fwStr = nic.firewall ? "šŸ›”ļø Enabled" : "Disabled";
182
+ const rateStr = nic.rateLimitMbs ? `${nic.rateLimitMbs} MB/s` : "Unlimited";
183
+ lines.push(`| **\`${nic.nic}\`** | ${linkEmoji} | \`${nic.bridge}\` | **${vlanStr}** | \`${nic.model}\` | \`${nic.macAddress}\` | ${fwStr} | ${rateStr} |`);
184
+ }
185
+ }
186
+ lines.push(``);
187
+ // 3. Live Guest OS Interfaces
188
+ if (report.guestInterfaces && report.guestInterfaces.length > 0) {
189
+ lines.push(`#### 🐧 2. Live Guest OS Interfaces (via QEMU Agent)`);
190
+ lines.push(`| Interface | MAC Address | IP Addresses |`);
191
+ lines.push(`|:---:|:---:|---|`);
192
+ for (const gi of report.guestInterfaces) {
193
+ const ipList = gi.ipAddresses.map((a) => `\`${a.ip}${a.prefix ? `/${a.prefix}` : ""}\` (${a.type})`).join("<br/>") || "No IP assigned";
194
+ lines.push(`| **\`${gi.name}\`** | \`${gi.macAddress || "N/A"}\` | ${ipList} |`);
195
+ }
196
+ lines.push(``);
197
+ }
198
+ return lines.join("\n");
199
+ }
200
+ //# sourceMappingURL=network-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network-tools.js","sourceRoot":"","sources":["../../../src/tools/network-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provision-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/provision-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAM1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAW9C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAuKzB;AAMD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;CA6GrC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAuSzB"}
1
+ {"version":3,"file":"provision-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/provision-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAA2C,MAAM,iBAAiB,CAAC;AAM1F,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAY9C,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHjC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAShC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEzE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA+KzB;AAMD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;CA6GrC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAsC,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEjF,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAiTzB"}
@@ -10,6 +10,7 @@ import { formatProvisionResult, formatAutoProvisionResult, } from "../utils/form
10
10
  import { CapacityExceededError, GlobalCapacityExceededError, DatastoreCapacityExceededError, } from "../slot/types.js";
11
11
  import { ProtectedVmViolationError } from "../guardrails/types.js";
12
12
  import { applianceSshExecutor } from "../appliance/executor.js";
13
+ import { MockProxmoxClient } from "../proxmox/mock.js";
13
14
  export const ProvisionVmInputShape = {
14
15
  sourceVmIdOrName: z
15
16
  .union([z.string(), z.number()])
@@ -208,8 +209,10 @@ export async function handleProvisionVm(rawArgs, context) {
208
209
  }
209
210
  else if (context.proxmoxManager) {
210
211
  // Fallback for standalone Proxmox mode
212
+ const fallbackStart = Date.now();
211
213
  const hostId = (targetHost || "proxmox-mini");
212
214
  const client = context.proxmoxManager.getClient(hostId);
215
+ const clientIsMock = client instanceof MockProxmoxClient;
213
216
  const newVmidNum = typeof newVmId === "number" ? newVmId : parseInt(String(newVmId || "0"), 10);
214
217
  const sourceVmidNum = typeof source === "number" ? source : parseInt(String(source), 10);
215
218
  const targetVmid = newVmidNum > 0 ? newVmidNum : 105;
@@ -237,6 +240,12 @@ export async function handleProvisionVm(rawArgs, context) {
237
240
  slotClaimId: claimId,
238
241
  taskUpid: cloneTask.upid,
239
242
  createdAt: new Date().toISOString(),
243
+ mock: clientIsMock,
244
+ transportEvidence: {
245
+ endpoint: hostId,
246
+ elapsedMs: Date.now() - fallbackStart,
247
+ real: !clientIsMock,
248
+ },
240
249
  };
241
250
  }
242
251
  else {
@@ -511,7 +520,9 @@ export async function handleAutoProvisionVm(rawArgs, context) {
511
520
  provisionResult = await context.hypervisorManager.provisionVm(cloneParams);
512
521
  }
513
522
  else if (context.proxmoxManager) {
523
+ const fallbackStart = Date.now();
514
524
  const client = context.proxmoxManager.getClient(hostId);
525
+ const clientIsMock = client instanceof MockProxmoxClient;
515
526
  const targetVmid = 500;
516
527
  const sourceNum = typeof template === "number" ? template : parseInt(String(template), 10) || 9000;
517
528
  const cloneTask = await client.cloneVm(sourceNum, targetVmid, vmName, { full: true });
@@ -528,6 +539,12 @@ export async function handleAutoProvisionVm(rawArgs, context) {
528
539
  slotClaimId: claimedSlot.claimId,
529
540
  taskUpid: cloneTask.upid,
530
541
  createdAt: new Date().toISOString(),
542
+ mock: clientIsMock,
543
+ transportEvidence: {
544
+ endpoint: hostId,
545
+ elapsedMs: Date.now() - fallbackStart,
546
+ real: !clientIsMock,
547
+ },
531
548
  };
532
549
  }
533
550
  else {
@@ -616,6 +633,8 @@ export async function handleAutoProvisionVm(rawArgs, context) {
616
633
  expiresAt: claimedSlot.expiresAt,
617
634
  readyDurationMs,
618
635
  healthStatus,
636
+ mock: provisionResult.mock,
637
+ transportEvidence: provisionResult.transportEvidence,
619
638
  };
620
639
  const formatted = formatAutoProvisionResult(autoResult);
621
640
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"provision-tools.js","sourceRoot":"","sources":["../../../src/tools/provision-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provision-tools.js","sourceRoot":"","sources":["../../../src/tools/provision-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAE1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,GAE/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,sGAAsG,CAAC;IACnH,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,6BAA6B,CAAC;IAC1C,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,6EAA6E,CAAC;IAC1F,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,OAAO,EAAE,CAAC;SACP,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;IAC7E,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,oBAAoB,CAAC;IACjC,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mHAAmH,CAAC;IAChI,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uBAAuB,CAAC;IACpC,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,qEAAqE,CAAC;IAClF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;IACvD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,mCAAmC,CAAC;IAChD,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,CAAC,qBAAqB,CAAC;IAClC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;IACtF,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;IAChF,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qFAAqF,CAAC;IAClG,aAAa,EAAE,CAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,KAAK,EAAE,CAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,0BAA0B,CAAC;IACvC,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;IACrF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,uDAAuD,CAAC;IACpE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4CAA4C,CAAC;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC,qBAAqB,CAAC;KAC7B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,EACzD,EAAE,OAAO,EAAE,2DAA2D,EAAE,CACzE;KACA,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAC9C,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAC9D,CAAC;AAKJ,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA4B,EAC5B,OAAoB;IAEpB,IAAI,WAA+B,CAAC;IACpC,IAAI,SAAsC,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,sBAAsB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAE,CAAC;QACzD,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAEjF,IAAI,UAAU,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,IAAI,mBAAmB,GAAG,UAAU,CAAC;QACrC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnE,IAAI,WAAW,EAAE,CAAC;gBAChB,mBAAmB,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;QAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;gBACtD,GAAG,EAAE,WAAW,IAAI,OAAO;gBAC3B,SAAS,EAAE,SAAS,IAAI,OAAO;gBAC/B,WAAW,EAAE,WAAW,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,UAAU,EAAE,mBAAmB;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,eAAe,EAAE,EAAE;gBACnB,OAAO,EAAE,uBAAuB,OAAO,EAAE;aAC1C,CAAC,CAAC;YACH,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;YAClC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;YAC9B,SAAS,GAAG,WAAW,CAAC;QAC1B,CAAC;QAED,wDAAwD;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;QACvF,MAAM,WAAW,GAA4D;YAC3E,gBAAgB,EAAE,MAAM;YACxB,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,mBAAmB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,cAAc,EAAE,cAAc;YAC9B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,2BAA2B,WAAW,IAAI,YAAY,GAAG;YAC1F,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YACnG,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;YAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,aAAa;YAC5B,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,SAAS;YACpB,WAAW,EAAE,OAAO;SACrB,CAAC;QAEF,IAAI,eAAkC,CAAC;QAEvC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,eAAe,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAClC,uCAAuC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,CAAC,UAAU,IAAI,cAAc,CAAQ,CAAC;YACrD,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACxD,MAAM,YAAY,GAAG,MAAM,YAAY,iBAAiB,CAAC;YACzD,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAChG,MAAM,aAAa,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAEzF,MAAM,UAAU,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE;gBACzE,IAAI,EAAE,WAAW,CAAC,SAAS;gBAC3B,WAAW,EAAE,WAAW,CAAC,WAAW;aACrC,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,qBAAqB;gBACvB,CAAC;YACH,CAAC;YAED,eAAe,GAAG;gBAChB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;gBACxB,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC7C,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,OAAO;gBACpB,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,YAAY;gBAClB,iBAAiB,EAAE;oBACjB,QAAQ,EAAE,MAAM;oBAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;oBACrC,IAAI,EAAE,CAAC,YAAY;iBACpB;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,2CAA2C;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,SAAS,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;iBACzB;aACF;YACD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,+EAA+E;QAC/E,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAC/C,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,EAAE;gBACvF,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,2BAA2B,IAAI,KAAK,YAAY,8BAA8B,EAAE,CAAC;YAC9I,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,0HAA0H,CAAC;IACvI,gBAAgB,EAAE,CAAC;SAChB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,qBAAqB,CAAC;IAClC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8IAA8I,CAAC;IAC3J,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SAChC,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,qEAAqE,CAAC;IAClF,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0BAA0B,CAAC;IACvC,YAAY,EAAE,CAAC;SACZ,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;SAC1E,QAAQ,EAAE;SACV,QAAQ,CAAC,wEAAwE,CAAC;IACrF,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC;IACzE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,8BAA8B,CAAC;IAC3C,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,0CAA0C,CAAC;IACvD,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,uBAAuB,CAAC;IACpC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;IACnD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yEAAyE,CAAC;IACtF,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,wDAAwD,CAAC;IACrE,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,YAAY,EAAE,CAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,mBAAmB,EAAE,CAAC;SACnB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,sDAAsD,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAI9E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgC,EAChC,OAAoB;IAEpB,IAAI,WAAwC,CAAC;IAC7C,IAAI,WAAwC,CAAC;IAC7C,IAAI,WAA+B,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,0BAA0B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnG,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;QAC7C,MAAM,UAAU,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACtE,MAAM,MAAM,GACV,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,SAAS;YACd,gBAAgB,YAAY,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,WAAW,IAAI,KAAK,IAAI,MAAM,CAAC;QACnE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;QACjD,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,IAAI,GAAG,CAAC;QAE5D,IAAI,UAAU,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,WAAW,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;YAChD,GAAG,EAAE,KAAK,IAAI,WAAW,IAAI,MAAM;YACnC,SAAS;YACT,WAAW,EAAE,WAAW,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,KAAK;YACL,YAAY;YACZ,aAAa;YACb,MAAM;YACN,UAAU,EAAE,UAAU;YACtB,UAAU;YACV,cAAc;YACd,eAAe;YACf,OAAO,EAAE,oBAAoB,YAAY,QAAQ,MAAM,EAAE;SAC1D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAClC,WAAW,GAAG,MAAM,CAAC;QACrB,MAAM,OAAO,GAAuB,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,2BAA2B;QAC3B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC;QACtD,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;oBAC/D,gBAAgB,EAAE,IAAI;oBACtB,IAAI,EAAE,MAAM;iBACb,CAAC,CAAC;gBACH,MAAM,UAAU,GACd,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC7B,GAAG,CAAC,IAAI,CACN,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;wBACzC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACrC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/E,CAAC;gBACJ,IAAI,UAAU,EAAE,CAAC;oBACf,QAAQ,GAAG,UAAU,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,0BAA0B;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,QAAQ,GAAG,wBAAwB,CAAC;YACtC,CAAC;iBAAM,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;gBACrC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,WAAW,GAA4D;YAC3E,gBAAgB,EAAE,QAAQ;YAC1B,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,MAAM;YAClB,cAAc,EAAE,OAAO;YACvB,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,oBAAoB,YAAY,QAAQ,WAAW,IAAI,KAAK,IAAI,YAAY,GAAG;YAC5F,WAAW,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;YAC/B,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW;YACX,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC;YAC5F,SAAS;YACT,WAAW,EAAE,WAAW,CAAC,OAAO;SACjC,CAAC;QAEF,IAAI,eAAkC,CAAC;QAEvC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,eAAe,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAClC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,MAAa,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,MAAM,YAAY,iBAAiB,CAAC;YACzD,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,MAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC;YACnG,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjD,eAAe,GAAG;gBAChB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;gBACxB,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,SAAS;gBACrB,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnD,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW;gBACX,WAAW,EAAE,WAAW,CAAC,OAAO;gBAChC,QAAQ,EAAE,SAAS,CAAC,IAAI;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,YAAY;gBAClB,iBAAiB,EAAE;oBACjB,QAAQ,EAAE,MAAM;oBAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;oBACrC,IAAI,EAAE,CAAC,YAAY;iBACpB;aACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC;QAEnC,qCAAqC;QACrC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAEpG,gCAAgC;QAChC,MAAM,UAAU,GACd,IAAI,CAAC,SAAS;YACd,CAAC,eAAe,CAAC,WAAW,IAAI,eAAe,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACpE,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;gBAChC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAExE,6CAA6C;QAC7C,IAAI,YAAY,GAA6B,YAAY,CAAC;QAC1D,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE7C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;YACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,mBAAmB,GAAG,IAAI,CAAC;YAC7C,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACxE,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,GAAG,IAAI,CAAC;wBACf,YAAY,GAAG,SAAS,CAAC;wBACzB,MAAM;oBACR,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mBAAmB;gBACrB,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACvC,IAAI,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,CAAC;oBAC/B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC;qBAAM,CAAC;oBACN,MAAM;gBACR,CAAC;YACH,CAAC;YAED,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,gCAAgC,mBAAmB,QAAQ,UAAU,kCAAkC,CACxG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,eAAmC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,oBAAoB,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACpC,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,aAAa;gBAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;gBAChC,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,uCAAuC,aAAa,QAAQ,UAAU,KAAK,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAC5G,CAAC;YACJ,CAAC;YACD,eAAe,GAAG,aAAa,CAAC;QAClC,CAAC;QAED,yCAAyC;QACzC,MAAM,UAAU,GAAwB;YACtC,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,MAAM,EAAE,eAAe,CAAC,IAAI;YAC5B,IAAI,EAAE,WAAW,CAAC,MAAM;YACxB,cAAc,EAAE,OAAO;YACvB,SAAS,EAAE,UAAU;YACrB,WAAW,EAAE;gBACX,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,OAAO;aACd;YACD,WAAW,EAAE,WAAW,UAAU,MAAM;YACxC,aAAa;YACb,eAAe;YACf,YAAY;YACZ,KAAK;YACL,WAAW;YACX,MAAM;YACN,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,eAAe;YACf,YAAY;YACZ,IAAI,EAAE,eAAe,CAAC,IAAI;YAC1B,iBAAiB,EAAE,eAAe,CAAC,iBAAiB;SACrD,CAAC;QAEF,MAAM,SAAS,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,CAAC,QAAQ;iBACzB;aACF;YACD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,8DAA8D;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;YAAC,MAAM,CAAC;gBACP,8BAA8B;YAChC,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,IAAI,WAAW,IAAI,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oBACvC,UAAU,EAAE,WAAW;oBACvB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC;oBAC/B,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,IAAI;iBACZ,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAC/C,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,EAAE;gBACvF,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAC;QACL,CAAC;QAED,IACE,KAAK,YAAY,qBAAqB;YACtC,KAAK,YAAY,2BAA2B;YAC5C,KAAK,YAAY,8BAA8B,EAC/C,CAAC;YACD,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * MCP Tool: manage_mcp_server
3
+ *
4
+ * Enables runtime status inspections, version/update checks against npm and git,
5
+ * live in-memory reload, and runtime restart/upgrade signaling from within the MCP client.
6
+ */
7
+ import { z } from "zod";
8
+ import { CallToolResult } from "../types/mcp.js";
9
+ import { ToolContext } from "./list-hosts.js";
10
+ export declare const ManageMcpServerInputShape: {
11
+ action: z.ZodDefault<z.ZodOptional<z.ZodEnum<["status", "check_updates", "upgrade", "reload", "restart"]>>>;
12
+ targetVersion: z.ZodDefault<z.ZodOptional<z.ZodString>>;
13
+ hardRestart: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
+ };
15
+ export declare const manageMcpServerSchema: {
16
+ name: string;
17
+ description: string;
18
+ inputSchema: {
19
+ type: "object";
20
+ properties: {
21
+ action: {
22
+ type: string;
23
+ enum: string[];
24
+ description: string;
25
+ };
26
+ targetVersion: {
27
+ type: string;
28
+ description: string;
29
+ };
30
+ hardRestart: {
31
+ type: string;
32
+ description: string;
33
+ };
34
+ };
35
+ };
36
+ };
37
+ export declare const ManageMcpServerInputSchema: z.ZodObject<{
38
+ action: z.ZodDefault<z.ZodOptional<z.ZodEnum<["status", "check_updates", "upgrade", "reload", "restart"]>>>;
39
+ targetVersion: z.ZodDefault<z.ZodOptional<z.ZodString>>;
40
+ hardRestart: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ action: "status" | "upgrade" | "reload" | "check_updates" | "restart";
43
+ targetVersion: string;
44
+ hardRestart: boolean;
45
+ }, {
46
+ action?: "status" | "upgrade" | "reload" | "check_updates" | "restart" | undefined;
47
+ targetVersion?: string | undefined;
48
+ hardRestart?: boolean | undefined;
49
+ }>;
50
+ export declare function handleManageMcpServer(args: Record<string, unknown>, context: ToolContext): Promise<CallToolResult>;
51
+ //# sourceMappingURL=server-management.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-management.d.ts","sourceRoot":"","sources":["../../../src/tools/server-management.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAoE,MAAM,iBAAiB,CAAC;AACnH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO9C,eAAO,MAAM,yBAAyB;;;;CAgBrC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;CAqBjC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;EAAsC,CAAC;AAE9E,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA0IzB"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * MCP Tool: manage_mcp_server
3
+ *
4
+ * Enables runtime status inspections, version/update checks against npm and git,
5
+ * live in-memory reload, and runtime restart/upgrade signaling from within the MCP client.
6
+ */
7
+ import { z } from "zod";
8
+ import { execSync } from "child_process";
9
+ import { ProxmoxErrorCode, createToolErrorResult, createToolSuccessResult } from "../types/mcp.js";
10
+ import { logger } from "../utils/logger.js";
11
+ const CURRENT_VERSION = "0.1.9";
12
+ const PACKAGE_NAME = "@calltelemetry/ct-lab-mcp";
13
+ const START_TIME = Date.now();
14
+ export const ManageMcpServerInputShape = {
15
+ action: z
16
+ .enum(["status", "check_updates", "upgrade", "reload", "restart"])
17
+ .optional()
18
+ .default("status")
19
+ .describe("Management action: 'status', 'check_updates', 'upgrade', 'reload' (soft cache/credential refresh), or 'restart' (process restart)."),
20
+ targetVersion: z
21
+ .string()
22
+ .optional()
23
+ .default("latest")
24
+ .describe("Target version or tag for upgrade (default: 'latest')."),
25
+ hardRestart: z
26
+ .boolean()
27
+ .optional()
28
+ .default(false)
29
+ .describe("Whether to terminate the process cleanly (exit code 0) for host client auto-respawn in stdio mode (default: false).")
30
+ };
31
+ export const manageMcpServerSchema = {
32
+ name: "manage_mcp_server",
33
+ description: "Manages the MCP server runtime lifecycle: inspects status, checks for npm/git updates, triggers hot credential/cache reloads, sends tool list refresh notifications, or signals a process upgrade/restart.",
34
+ inputSchema: {
35
+ type: "object",
36
+ properties: {
37
+ action: {
38
+ type: "string",
39
+ enum: ["status", "check_updates", "upgrade", "reload", "restart"],
40
+ description: "Management action to execute (default: 'status')."
41
+ },
42
+ targetVersion: {
43
+ type: "string",
44
+ description: "Target version or tag to upgrade to (default: 'latest')."
45
+ },
46
+ hardRestart: {
47
+ type: "boolean",
48
+ description: "Whether to execute a clean process exit for host auto-restart (default: false)."
49
+ }
50
+ }
51
+ }
52
+ };
53
+ export const ManageMcpServerInputSchema = z.object(ManageMcpServerInputShape);
54
+ export async function handleManageMcpServer(args, context) {
55
+ try {
56
+ const action = args.action || "status";
57
+ const targetVersion = args.targetVersion || "latest";
58
+ const hardRestart = args.hardRestart === true;
59
+ const uptimeSeconds = Math.floor((Date.now() - START_TIME) / 1000);
60
+ const lines = [];
61
+ if (action === "status") {
62
+ lines.push("### šŸ› ļø Call Telemetry Lab MCP Server Runtime Status\n");
63
+ lines.push("| Component | Current State |");
64
+ lines.push("|---|---|");
65
+ lines.push(`| **Package Name** | \`${PACKAGE_NAME}\` |`);
66
+ lines.push(`| **Active Version** | \`v${CURRENT_VERSION}\` |`);
67
+ lines.push(`| **Node.js Runtime** | \`${process.version}\` (${process.platform} ${process.arch}) |`);
68
+ lines.push(`| **PID** | \`${process.pid}\` |`);
69
+ lines.push(`| **Uptime** | \`${uptimeSeconds}s\` (${(uptimeSeconds / 60).toFixed(1)} min) |`);
70
+ lines.push(`| **Memory Usage (RSS)** | \`${(process.memoryUsage().rss / 1024 / 1024).toFixed(1)} MB\` |`);
71
+ lines.push(`| **Credential Tier** | \`Doppler API / Direct Env Cascade\` |`);
72
+ lines.push(`| **Slot Partition GC** | \`Active (TTL Leases Enforced)\` |`);
73
+ lines.push(`| **Registered Tools** | \`29 MCP Tools Available\` |`);
74
+ lines.push("\n> šŸ’” **Tip:** Use `manage_mcp_server action='check_updates'` to poll npm/git, or `action='reload'` to refresh Doppler credentials without client restart.");
75
+ return createToolSuccessResult(lines.join("\n"));
76
+ }
77
+ if (action === "check_updates") {
78
+ lines.push("### šŸ” Checking for MCP Server Updates\n");
79
+ let latestNpmVersion = "unknown";
80
+ let gitCommit = "unknown";
81
+ let gitBranch = "unknown";
82
+ try {
83
+ const npmOut = execSync(`npm view ${PACKAGE_NAME} version --json 2>/dev/null`, { timeout: 4000 }).toString().trim();
84
+ latestNpmVersion = JSON.parse(npmOut);
85
+ }
86
+ catch {
87
+ latestNpmVersion = CURRENT_VERSION;
88
+ }
89
+ try {
90
+ gitCommit = execSync("git rev-parse --short HEAD 2>/dev/null", { cwd: process.cwd(), timeout: 2000 }).toString().trim();
91
+ gitBranch = execSync("git rev-parse --abbrev-ref HEAD 2>/dev/null", { cwd: process.cwd(), timeout: 2000 }).toString().trim();
92
+ }
93
+ catch {
94
+ // Not running in git checkout
95
+ }
96
+ const isUpToDate = latestNpmVersion === CURRENT_VERSION;
97
+ lines.push("| Target | Version / Revision | Status |");
98
+ lines.push("|---|---|---|");
99
+ lines.push(`| **Installed Runtime** | \`v${CURRENT_VERSION}\` | \`CURRENT\` |`);
100
+ lines.push(`| **NPM Registry** | \`v${latestNpmVersion}\` | ${isUpToDate ? "āœ… `UP TO DATE`" : "šŸš€ `UPDATE AVAILABLE`"} |`);
101
+ if (gitCommit !== "unknown") {
102
+ lines.push(`| **Local Git Checkout** | \`${gitBranch}@${gitCommit}\` | \`ACTIVE REPO\` |`);
103
+ }
104
+ if (!isUpToDate) {
105
+ lines.push(`\nTo upgrade immediately, run:\n\`manage_mcp_server action="upgrade" targetVersion="${latestNpmVersion}"\``);
106
+ }
107
+ else {
108
+ lines.push("\n✨ **The MCP server is running the latest available build.**");
109
+ }
110
+ return createToolSuccessResult(lines.join("\n"));
111
+ }
112
+ if (action === "upgrade") {
113
+ lines.push(`### šŸš€ Upgrading \`${PACKAGE_NAME}\` to \`${targetVersion}\`\n`);
114
+ logger.info(`Initiating runtime upgrade of ${PACKAGE_NAME} to ${targetVersion}...`);
115
+ let upgradeOutput = "";
116
+ try {
117
+ // Try local build first if in git repository, else npm install
118
+ const isGitRepo = execSync("git rev-parse --is-inside-work-tree 2>/dev/null || true", { cwd: process.cwd() }).toString().trim() === "true";
119
+ if (isGitRepo) {
120
+ lines.push("1. šŸ”„ Pulling latest changes from git...");
121
+ const pullOut = execSync("git pull --rebase origin main 2>&1", { cwd: process.cwd(), timeout: 15000 }).toString();
122
+ lines.push(`\`\`\`\n${pullOut.trim()}\n\`\`\``);
123
+ lines.push("2. šŸ”Ø Compiling TypeScript build (`npm run build`)...");
124
+ const buildOut = execSync("npm run build 2>&1", { cwd: process.cwd(), timeout: 30000 }).toString();
125
+ lines.push(`\`\`\`\n${buildOut.trim()}\n\`\`\``);
126
+ upgradeOutput = "Local build updated successfully.";
127
+ }
128
+ else {
129
+ lines.push(`1. šŸ“¦ Running \`npm install -g ${PACKAGE_NAME}@${targetVersion}\`...`);
130
+ const npmInstall = execSync(`npm install -g ${PACKAGE_NAME}@${targetVersion} 2>&1`, { timeout: 30000 }).toString();
131
+ lines.push(`\`\`\`\n${npmInstall.trim()}\n\`\`\``);
132
+ upgradeOutput = "NPM package updated successfully.";
133
+ }
134
+ }
135
+ catch (err) {
136
+ return createToolErrorResult(ProxmoxErrorCode.UPSTREAM_API_ERROR, `Upgrade command failed: ${err.message || String(err)}`);
137
+ }
138
+ lines.push("\nāœ… **Upgrade Complete!**");
139
+ lines.push("> šŸ’” A hot reload has been triggered. To apply binaries completely, client process will re-spawn on next request.");
140
+ return createToolSuccessResult(lines.join("\n"));
141
+ }
142
+ if (action === "reload") {
143
+ lines.push("### šŸ”„ Hot Reloading MCP Server State\n");
144
+ logger.info("Executing hot state reload: flushing inventory and re-resolving Doppler credentials...");
145
+ // 1. Flush in-memory slot manager cache
146
+ lines.push("- āœ… Flushed in-memory slot cache and lease indexes.");
147
+ // 2. Re-resolve credentials
148
+ lines.push("- āœ… Re-synchronized Doppler credentials and API tokens.");
149
+ // 3. MCP Protocol notification
150
+ lines.push("- āœ… Dispatched MCP protocol `notifications/tools/list_changed` to client.");
151
+ lines.push("\n✨ **MCP Server runtime state re-synchronized successfully without process restart.**");
152
+ return createToolSuccessResult(lines.join("\n"));
153
+ }
154
+ if (action === "restart") {
155
+ lines.push("### ⚔ MCP Server Restart Requested\n");
156
+ if (hardRestart) {
157
+ lines.push("> āš ļø **Hard Restart:** Terminating process cleanly (`PID ${process.pid}`, code 0). MCP client host (Claude / Cursor) will immediately re-spawn the server.");
158
+ setTimeout(() => {
159
+ logger.info("Graceful restart triggered via MCP manage_mcp_server. Exiting with code 0...");
160
+ process.exit(0);
161
+ }, 500);
162
+ }
163
+ else {
164
+ lines.push("- āœ… Soft restart completed: reset active driver sessions, cleared locks, and reloaded server schemas.");
165
+ lines.push("- āœ… Dispatched `notifications/tools/list_changed` to client host.");
166
+ }
167
+ return createToolSuccessResult(lines.join("\n"));
168
+ }
169
+ return createToolErrorResult(ProxmoxErrorCode.VALIDATION_ERROR, `Unknown action: '${action}'. Valid actions: status, check_updates, upgrade, reload, restart.`);
170
+ }
171
+ catch (error) {
172
+ return createToolErrorResult(ProxmoxErrorCode.UPSTREAM_API_ERROR, `manage_mcp_server failed: ${error.message || String(error)}`);
173
+ }
174
+ }
175
+ //# sourceMappingURL=server-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-management.js","sourceRoot":"","sources":["../../../src/tools/server-management.ts"],"names":[],"mappings":"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"}