@calltelemetry/ct-lab-mcp 0.8.10 → 0.8.12

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.
@@ -43,10 +43,26 @@ export class GovcClient {
43
43
  }
44
44
  }
45
45
  async getHostSummary() {
46
- let numCpuCores = 32;
47
- let totalMemMb = 131072;
48
- let usedMemMb = 32768;
49
- let cpuUsageMhz;
46
+ const asFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : undefined;
47
+ const buildHostStats = (cpuCoresValue, memorySizeBytesValue, memoryUsedMbValue, cpuUsageMhzValue, source) => {
48
+ const cpuCores = asFiniteNumber(cpuCoresValue);
49
+ const memorySizeBytes = asFiniteNumber(memorySizeBytesValue);
50
+ const memoryUsedMb = asFiniteNumber(memoryUsedMbValue);
51
+ const cpuUsageMhz = asFiniteNumber(cpuUsageMhzValue);
52
+ if (!cpuCores || cpuCores <= 0 || !memorySizeBytes || memorySizeBytes <= 0) {
53
+ throw new Error(`${source} returned unusable hardware data`);
54
+ }
55
+ if (memoryUsedMb === undefined || memoryUsedMb < 0) {
56
+ throw new Error(`${source} returned unusable memory usage data`);
57
+ }
58
+ return {
59
+ cpuCores,
60
+ memoryTotalMb: memorySizeBytes / (1024 * 1024),
61
+ memoryUsedMb,
62
+ ...(cpuUsageMhz !== undefined && cpuUsageMhz >= 0 ? { cpuUsageMhz } : {}),
63
+ };
64
+ };
65
+ let hostStats;
50
66
  // Fast PropertyCollector query via `govc collect` (runs in ~2s vs ~60s for host.info -json)
51
67
  try {
52
68
  const stdout = await this.execGovc([
@@ -68,20 +84,13 @@ export class GovcClient {
68
84
  if (match)
69
85
  parsed = JSON.parse(match[0]);
70
86
  }
71
- if (parsed) {
72
- const cs = parsed.changeSet || [];
73
- const getVal = (prop) => cs.find((c) => c.name === prop)?.val;
74
- const hw = getVal("summary.hardware") || {};
75
- const qs = getVal("summary.quickStats") || {};
76
- if (hw.numCpuCores)
77
- numCpuCores = hw.numCpuCores;
78
- if (hw.memorySize)
79
- totalMemMb = Math.round(hw.memorySize / (1024 * 1024));
80
- if (qs.overallMemoryUsage)
81
- usedMemMb = qs.overallMemoryUsage;
82
- if (qs.overallCpuUsage)
83
- cpuUsageMhz = qs.overallCpuUsage;
87
+ if (!parsed || !Array.isArray(parsed.changeSet)) {
88
+ throw new Error("collect returned unusable host data");
84
89
  }
90
+ const getVal = (prop) => parsed.changeSet.find((c) => c?.name === prop)?.val;
91
+ const hw = getVal("summary.hardware");
92
+ const qs = getVal("summary.quickStats");
93
+ hostStats = buildHostStats(hw?.numCpuCores, hw?.memorySize, qs?.overallMemoryUsage, qs?.overallCpuUsage, "collect");
85
94
  }
86
95
  catch (collectError) {
87
96
  // Best-effort fallback to host.info -json with short 5s timeout
@@ -89,14 +98,7 @@ export class GovcClient {
89
98
  const jsonStr = await this.execGovc(["host.info", "-json"], 5_000);
90
99
  const parsed = JSON.parse(jsonStr);
91
100
  const host = parsed.HostSystems?.[0]?.Summary;
92
- if (host?.Hardware?.NumCpuCores)
93
- numCpuCores = host.Hardware.NumCpuCores;
94
- if (host?.Hardware?.MemorySize)
95
- totalMemMb = Math.round(host.Hardware.MemorySize / (1024 * 1024));
96
- if (host?.QuickStats?.OverallMemoryUsage)
97
- usedMemMb = host.QuickStats.OverallMemoryUsage;
98
- if (host?.QuickStats?.OverallCpuUsage)
99
- cpuUsageMhz = host.QuickStats.OverallCpuUsage;
101
+ hostStats = buildHostStats(host?.Hardware?.NumCpuCores, host?.Hardware?.MemorySize, host?.QuickStats?.OverallMemoryUsage, host?.QuickStats?.OverallCpuUsage, "host.info");
100
102
  }
101
103
  catch (hostInfoError) {
102
104
  const collectMessage = collectError instanceof Error ? collectError.message : String(collectError);
@@ -104,21 +106,67 @@ export class GovcClient {
104
106
  throw new Error(`ESXi host summary unavailable: collect failed (${collectMessage}); host.info failed (${hostInfoMessage})`);
105
107
  }
106
108
  }
109
+ const datastoreName = this.hostConfig.datastore || "datastore1";
110
+ const datastoreJson = await this.execGovc(["datastore.info", "-json", datastoreName]);
111
+ let datastoreSummary;
112
+ try {
113
+ datastoreSummary = JSON.parse(datastoreJson)?.Datastores?.[0]?.Summary;
114
+ }
115
+ catch (error) {
116
+ const message = error instanceof Error ? error.message : String(error);
117
+ throw new Error(`datastore.info returned invalid JSON: ${message}`);
118
+ }
119
+ const datastoreTotalBytes = asFiniteNumber(datastoreSummary?.Capacity);
120
+ const datastoreFreeBytes = asFiniteNumber(datastoreSummary?.FreeSpace);
121
+ if (!datastoreTotalBytes ||
122
+ datastoreTotalBytes <= 0 ||
123
+ datastoreFreeBytes === undefined ||
124
+ datastoreFreeBytes < 0 ||
125
+ datastoreFreeBytes > datastoreTotalBytes) {
126
+ throw new Error("datastore.info returned unusable capacity data");
127
+ }
107
128
  return {
108
- cpuCores: numCpuCores,
109
- cpuUsageMhz,
110
- memoryTotalMb: totalMemMb,
111
- memoryUsedMb: usedMemMb,
112
- datastoreTotalGb: 1860,
113
- datastoreFreeGb: 1200
129
+ cpuCores: hostStats.cpuCores,
130
+ cpuUsageMhz: hostStats.cpuUsageMhz,
131
+ memoryTotalMb: hostStats.memoryTotalMb,
132
+ memoryUsedMb: hostStats.memoryUsedMb,
133
+ datastoreTotalGb: datastoreTotalBytes / (1024 ** 3),
134
+ datastoreFreeGb: datastoreFreeBytes / (1024 ** 3)
114
135
  };
115
136
  }
116
137
  async listVms() {
117
138
  try {
118
- let stdout = "";
119
- let useCollect = true;
139
+ const mapVmInfo = (stdout) => {
140
+ const parsed = JSON.parse(stdout);
141
+ if (!Array.isArray(parsed?.VirtualMachines)) {
142
+ throw new Error("vm.info returned unusable VM inventory");
143
+ }
144
+ return parsed.VirtualMachines.map((v) => {
145
+ const name = v?.Config?.Name || v?.Summary?.Config?.Name;
146
+ if (typeof name !== "string" || name.trim() === "") {
147
+ throw new Error("vm.info returned a VM without a valid name");
148
+ }
149
+ const powerStateRaw = v.Summary?.Runtime?.PowerState;
150
+ const powerState = powerStateRaw === "poweredOn"
151
+ ? "poweredOn"
152
+ : powerStateRaw === "poweredOff"
153
+ ? "poweredOff"
154
+ : "unknown";
155
+ return {
156
+ name,
157
+ path: v.Summary?.Config?.VmPathName || name,
158
+ powerState,
159
+ memoryMb: v.Summary?.Config?.MemorySizeMB || 8192,
160
+ cpuCores: v.Summary?.Config?.NumCpu || 4,
161
+ ipAddress: v.Summary?.Guest?.IpAddress,
162
+ isTemplate: Boolean(v.Summary?.Config?.Template),
163
+ annotation: v.Config?.Annotation
164
+ };
165
+ });
166
+ };
167
+ let collectError;
120
168
  try {
121
- stdout = await this.execGovc([
169
+ const stdout = await this.execGovc([
122
170
  "collect",
123
171
  "-json",
124
172
  "-type",
@@ -129,90 +177,72 @@ export class GovcClient {
129
177
  "summary.config",
130
178
  "summary.guest"
131
179
  ]);
132
- }
133
- catch {
134
- useCollect = false;
135
- stdout = await this.execGovc(["vm.info", "-json", "*"]);
136
- }
137
- // Check if standard vm.info output format: { VirtualMachines: [...] }
138
- if (!useCollect || stdout.includes('"VirtualMachines"')) {
139
- try {
140
- const parsed = JSON.parse(stdout);
141
- const vms = parsed.VirtualMachines || [];
142
- return vms.map((v) => {
143
- const name = v.Config?.Name || v.Summary?.Config?.Name || "unknown-vm";
144
- const powerStateRaw = v.Summary?.Runtime?.PowerState;
145
- const powerState = powerStateRaw === "poweredOn"
146
- ? "poweredOn"
147
- : powerStateRaw === "poweredOff"
148
- ? "poweredOff"
149
- : "unknown";
150
- const memoryMb = v.Summary?.Config?.MemorySizeMB || 8192;
151
- const cpuCores = v.Summary?.Config?.NumCpu || 4;
152
- const ipAddress = v.Summary?.Guest?.IpAddress;
153
- const isTemplate = Boolean(v.Summary?.Config?.Template);
154
- return {
155
- name,
156
- path: v.Summary?.Config?.VmPathName || name,
157
- powerState,
158
- memoryMb,
159
- cpuCores,
160
- ipAddress,
161
- isTemplate,
162
- annotation: v.Config?.Annotation
163
- };
164
- });
180
+ if (stdout.includes('"VirtualMachines"')) {
181
+ return mapVmInfo(stdout);
165
182
  }
166
- catch {
167
- // If JSON.parse fails, proceed to collect stream parser
168
- }
169
- }
170
- // Parse JSON objects from `govc collect -json`
171
- const items = [];
172
- let depth = 0;
173
- let start = -1;
174
- for (let i = 0; i < stdout.length; i++) {
175
- if (stdout[i] === "{") {
176
- if (depth === 0)
177
- start = i;
178
- depth++;
179
- }
180
- else if (stdout[i] === "}") {
181
- depth--;
182
- if (depth === 0 && start !== -1) {
183
- try {
183
+ // Parse JSON objects from `govc collect -json`.
184
+ const items = [];
185
+ let depth = 0;
186
+ let start = -1;
187
+ for (let i = 0; i < stdout.length; i++) {
188
+ if (stdout[i] === "{") {
189
+ if (depth === 0)
190
+ start = i;
191
+ depth++;
192
+ }
193
+ else if (stdout[i] === "}") {
194
+ depth--;
195
+ if (depth < 0)
196
+ throw new Error("collect returned malformed VM inventory");
197
+ if (depth === 0 && start !== -1) {
184
198
  items.push(JSON.parse(stdout.slice(start, i + 1)));
199
+ start = -1;
185
200
  }
186
- catch {
187
- // Ignore malformed chunk
188
- }
189
- start = -1;
190
201
  }
191
202
  }
203
+ if (depth !== 0 || items.length === 0) {
204
+ throw new Error("collect returned unusable VM inventory");
205
+ }
206
+ return items.map((item) => {
207
+ if (!Array.isArray(item?.changeSet)) {
208
+ throw new Error("collect returned unusable VM inventory");
209
+ }
210
+ const getVal = (prop) => item.changeSet.find((c) => c?.name === prop)?.val;
211
+ const name = getVal("name");
212
+ const summaryConfig = getVal("summary.config");
213
+ if (typeof name !== "string" || name.trim() === "" || !summaryConfig) {
214
+ throw new Error("collect returned unusable VM inventory");
215
+ }
216
+ const powerStateRaw = getVal("runtime.powerState");
217
+ const summaryGuest = getVal("summary.guest") || {};
218
+ const powerState = powerStateRaw === "poweredOn"
219
+ ? "poweredOn"
220
+ : powerStateRaw === "poweredOff"
221
+ ? "poweredOff"
222
+ : "unknown";
223
+ return {
224
+ name,
225
+ path: summaryConfig.vmPathName || name,
226
+ powerState,
227
+ memoryMb: summaryConfig.memorySizeMB || 8192,
228
+ cpuCores: summaryConfig.numCpu || 4,
229
+ ipAddress: summaryGuest.ipAddress,
230
+ isTemplate: Boolean(summaryConfig.template),
231
+ annotation: summaryConfig.annotation
232
+ };
233
+ });
234
+ }
235
+ catch (error) {
236
+ collectError = error;
237
+ }
238
+ try {
239
+ return mapVmInfo(await this.execGovc(["vm.info", "-json", "*"]));
240
+ }
241
+ catch (vmInfoError) {
242
+ const collectMessage = collectError instanceof Error ? collectError.message : String(collectError);
243
+ const vmInfoMessage = vmInfoError instanceof Error ? vmInfoError.message : String(vmInfoError);
244
+ throw new Error(`VM inventory unavailable: collect failed (${collectMessage}); vm.info failed (${vmInfoMessage})`);
192
245
  }
193
- return items.map((item) => {
194
- const cs = item.changeSet || [];
195
- const getVal = (prop) => cs.find((c) => c.name === prop)?.val;
196
- const name = getVal("name") || "unknown-vm";
197
- const powerStateRaw = getVal("runtime.powerState");
198
- const summaryConfig = getVal("summary.config") || {};
199
- const summaryGuest = getVal("summary.guest") || {};
200
- const powerState = powerStateRaw === "poweredOn"
201
- ? "poweredOn"
202
- : powerStateRaw === "poweredOff"
203
- ? "poweredOff"
204
- : "unknown";
205
- return {
206
- name,
207
- path: summaryConfig.vmPathName || name,
208
- powerState,
209
- memoryMb: summaryConfig.memorySizeMB || 8192,
210
- cpuCores: summaryConfig.numCpu || 4,
211
- ipAddress: summaryGuest.ipAddress,
212
- isTemplate: Boolean(summaryConfig.template),
213
- annotation: summaryConfig.annotation
214
- };
215
- });
216
246
  }
217
247
  catch (err) {
218
248
  const msg = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/hypervisors/esxi/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/hypervisors/esxi/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAyB,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AA0C1C;;GAEG;AACH,MAAM,OAAO,UAAU;IACZ,UAAU,CAAiB;IAEpC,YAAY,UAA0B;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEO,UAAU;QAChB,OAAO;YACL,GAAG,OAAO,CAAC,GAAG;YACd,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;YAC7B,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YACvC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YACvC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAC3D,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,YAAY;YACzD,kBAAkB,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;YAChD,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;YAC3C,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,YAAY;SACtD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAc,EAAE,YAAoB,MAAM;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE;gBACnD,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;gBACtB,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc;QAelB,MAAM,cAAc,GAAG,CAAC,KAAc,EAAsB,EAAE,CAC5D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,cAAc,GAAG,CACrB,aAAsB,EACtB,oBAA6B,EAC7B,iBAA0B,EAC1B,gBAAyB,EACzB,MAAc,EACH,EAAE;YACb,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,eAAe,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAErD,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;gBAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,kCAAkC,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,sCAAsC,CAAC,CAAC;YACnE,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,aAAa,EAAE,eAAe,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC9C,YAAY;gBACZ,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,SAAoB,CAAC;QAEzB,4FAA4F;QAC5F,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBACjC,SAAS;gBACT,OAAO;gBACP,OAAO;gBACP,GAAG;gBACH,GAAG;gBACH,MAAM;gBACN,kBAAkB;gBAClB,oBAAoB;aACrB,CAAC,CAAC;YAEH,IAAI,MAAW,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;gBACpE,IAAI,KAAK;oBAAE,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;YAC1F,MAAM,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACtC,MAAM,EAAE,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACxC,SAAS,GAAG,cAAc,CACxB,EAAE,EAAE,WAAW,EACf,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,kBAAkB,EACtB,EAAE,EAAE,eAAe,EACnB,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,YAAqB,EAAE,CAAC;YAC/B,gEAAgE;YAChE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACnE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;gBAC9C,SAAS,GAAG,cAAc,CACxB,IAAI,EAAE,QAAQ,EAAE,WAAW,EAC3B,IAAI,EAAE,QAAQ,EAAE,UAAU,EAC1B,IAAI,EAAE,UAAU,EAAE,kBAAkB,EACpC,IAAI,EAAE,UAAU,EAAE,eAAe,EACjC,WAAW,CACZ,CAAC;YACJ,CAAC;YAAC,OAAO,aAAsB,EAAE,CAAC;gBAChC,MAAM,cAAc,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnG,MAAM,eAAe,GAAG,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvG,MAAM,IAAI,KAAK,CACb,kDAAkD,cAAc,wBAAwB,eAAe,GAAG,CAC3G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,YAAY,CAAC;QAChE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACtF,IAAI,gBAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QACzE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,yCAAyC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,kBAAkB,GAAG,cAAc,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;QACvE,IACE,CAAC,mBAAmB;YACpB,mBAAmB,IAAI,CAAC;YACxB,kBAAkB,KAAK,SAAS;YAChC,kBAAkB,GAAG,CAAC;YACtB,kBAAkB,GAAG,mBAAmB,EACxC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,SAAS,CAAC,WAAW;YAClC,aAAa,EAAE,SAAS,CAAC,aAAa;YACtC,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,gBAAgB,EAAE,mBAAmB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;YACnD,eAAe,EAAE,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;SAClD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,CAAC,MAAc,EAAmB,EAAE;gBACpD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,OAAO,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBAC3C,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC;oBACzD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;wBACnD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;oBAChE,CAAC;oBACD,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;oBACrD,MAAM,UAAU,GACd,aAAa,KAAK,WAAW;wBAC3B,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,aAAa,KAAK,YAAY;4BAChC,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,SAAS,CAAC;oBAEhB,OAAO;wBACL,IAAI;wBACJ,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI;wBAC3C,UAAU;wBACV,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,IAAI,IAAI;wBACjD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;wBACxC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS;wBACtC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;wBAChD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU;qBACjC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,YAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;oBACjC,SAAS;oBACT,OAAO;oBACP,OAAO;oBACP,GAAG;oBACH,GAAG;oBACH,MAAM;oBACN,oBAAoB;oBACpB,gBAAgB;oBAChB,eAAe;iBAChB,CAAC,CAAC;gBACH,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBACzC,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;gBAED,gDAAgD;gBAChD,MAAM,KAAK,GAAU,EAAE,CAAC;gBACxB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;gBACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACvC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBACtB,IAAI,KAAK,KAAK,CAAC;4BAAE,KAAK,GAAG,CAAC,CAAC;wBAC3B,KAAK,EAAE,CAAC;oBACV,CAAC;yBAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC7B,KAAK,EAAE,CAAC;wBACR,IAAI,KAAK,GAAG,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;wBAC1E,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;4BAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BACnD,KAAK,GAAG,CAAC,CAAC,CAAC;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAC5D,CAAC;gBAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;wBACpC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAC5D,CAAC;oBACD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;oBACxF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;wBACrE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;oBAC5D,CAAC;oBACD,MAAM,aAAa,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACnD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;oBACnD,MAAM,UAAU,GACd,aAAa,KAAK,WAAW;wBAC3B,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,aAAa,KAAK,YAAY;4BAChC,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,SAAS,CAAC;oBAEhB,OAAO;wBACL,IAAI;wBACJ,IAAI,EAAE,aAAa,CAAC,UAAU,IAAI,IAAI;wBACtC,UAAU;wBACV,QAAQ,EAAE,aAAa,CAAC,YAAY,IAAI,IAAI;wBAC5C,QAAQ,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC;wBACnC,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,UAAU,EAAE,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;wBAC3C,UAAU,EAAE,aAAa,CAAC,UAAU;qBACrC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,WAAoB,EAAE,CAAC;gBAC9B,MAAM,cAAc,GAAG,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnG,MAAM,aAAa,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC/F,MAAM,IAAI,KAAK,CACb,6CAA6C,cAAc,sBAAsB,aAAa,GAAG,CAClG,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC,CAAC;YACrE,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc;QACxB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,OAAO,CACX,YAAoB,EACpB,YAAoB,EACpB,UAKI,EAAE;QAEN,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,YAAY,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAExB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,KAAK,GAAG,KAAK;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC3B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACZ,QAAQ,CAAS;IACjB,cAAc,GAAW,MAAM,CAAC;IAChC,UAAU,CAAiB;IAC3B,MAAM,CAAU;IACjB,MAAM,CAAc;IACpB,YAAY,CAAwB;IAE5C,YACE,UAA0B,EAC1B,MAAoB,EACpB,eAAsC,4BAA4B;QAElE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,IAAI,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;aACtB,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;YAC1E,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC;YAE5B,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;YAC7D,MAAM,eAAe,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;YAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC,CAAC;YAExE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,aAAa,CAAC,CAAC,CAAC;YACpF,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC;YAErF,gEAAgE;YAChE,qEAAqE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC,CAAC;YAEzF,MAAM,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YACxE,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;YAEtE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ;gBAC5D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAEnE,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,QAAQ;gBAChB,aAAa,EAAE,OAAO,CAAC,QAAQ;gBAC/B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC9E,gBAAgB;gBAChB,eAAe;gBACf,eAAe;gBACf,iBAAiB;gBACjB,gBAAgB;gBAChB,YAAY,EAAE;oBACZ,QAAQ;oBACR,SAAS;oBACT,cAAc;oBACd,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;iBAClC;gBACD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;gBAC7B,UAAU;gBACV,QAAQ;gBACR,IAAI,EAAE,IAAI,CAAC,MAAM;aAClB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,wCAAwC,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9E,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,SAAS;gBACjB,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,gBAAgB,EAAE,CAAC;gBACnB,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;gBACnB,YAAY,EAAE;oBACZ,QAAQ,EAAE,CAAC;oBACX,SAAS,EAAE,CAAC;oBACZ,cAAc,EAAE,CAAC;oBACjB,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;iBAClC;gBACD,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;gBAC7B,IAAI,EAAE,IAAI,CAAC,MAAM;aAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAA2B;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,CACtE,CAAC;QACF,OAAO,KAAK,IAAI,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QACzE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAClF,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,uBAAuB,MAAM,CAAC,gBAAgB,6BAA6B,IAAI,CAAC,QAAQ,IAAI,CAC7F,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE;YACtE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YACzF,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS;YACtD,OAAO,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;SACzD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,IAAI,CAAC,CAAC;QAC9D,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,GAA0B,SAAS,CAAC;QAC9C,IAAI,MAAM,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,UAAU,GACd,MAAM,CAAC,SAAS;YAChB,eAAe,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QAEzD,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,MAAM;YAClB,MAAM;YACN,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,mBAAmB,IAAI,CAAC,GAAG,EAAE,EAAE;YAC5D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,iBAAiB,EAAE;gBACjB,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;gBAC7B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACjC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM;aACnB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA2B;QACvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,OAAO,UAAU,6BAA6B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAA2B,EAAE,KAAK,GAAG,KAAK;QACrD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,OAAO,UAAU,6BAA6B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA2B;QACxC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,OAAO,UAAU,6BAA6B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAA2B;QACzC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,OAAO,UAAU,6BAA6B,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI;YACxD,SAAS;YACT,UAAU;YACV,UAAU;YACV,eAAe;YACf,aAAa;YACb,YAAY;YACZ,oBAAoB;YACpB,SAAS;YACT,WAAW;SACZ,CAAC;QAEF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gBAAgB;QAChB,IAAI,kEAAkE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,cAAc,CAAC,EAAmB,EAAE,MAAc,EAAE,KAAK,GAAG,KAAK;QACvE,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,cAAc,CAC9B;gBACE,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,QAAQ,EAAE,EAAE,CAAC,UAAU;gBACvB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,gBAAgB;aAC3B,EACD,MAAM,EACN,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,GAAkB;QACvC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YAC/C,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,UAAU;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,eAAe,IAAI,UAAU,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,CAAC;QAC9E,MAAM,gBAAgB,GAAG,WAAW;YAClC,CAAC,CAAC,eAAe;gBACf,CAAC,CAAC,wCAAwC,GAAG,CAAC,IAAI,GAAG;gBACrD,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,6BAA6B;YACtD,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,MAAM,GAAiD,SAAS,CAAC;QACrE,IAAI,GAAG,CAAC,UAAU,KAAK,WAAW;YAAE,MAAM,GAAG,SAAS,CAAC;aAClD,IAAI,GAAG,CAAC,UAAU,KAAK,YAAY;YAAE,MAAM,GAAG,SAAS,CAAC;aACxD,IAAI,GAAG,CAAC,UAAU,KAAK,WAAW;YAAE,MAAM,GAAG,QAAQ,CAAC;QAE3D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,IAAI,GAAG,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExE,wDAAwD;QACxD,IAAI,WAA+B,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC9E,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,CAAC;QAED,0BAA0B;QAC1B,IAAI,cAAkC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC1F,IAAI,QAAQ,EAAE,CAAC;YACb,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,IAAI;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM;YACN,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI;YACvC,WAAW;YACX,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW;YACX,gBAAgB;YAChB,WAAW;YACX,cAAc;YACd,IAAI;SACL,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hypervisors/proxmox/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/hypervisors/proxmox/client.ts"],"names":[],"mappings":"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"}
@@ -81,17 +81,22 @@ export class ProxmoxDriver {
81
81
  // Pure hardware capacity in 8GB slots derived from physical RAM:
82
82
  const pureCapacitySlots = Math.max(1, Math.floor(totalMem / slotSizeBytes));
83
83
  const availableSlotsByRam = Math.max(0, Math.floor(freeMem / slotSizeBytes));
84
- // Active slots count based on non-template, non-protected VMs
85
- const slotAllocatedVms = vms.filter((v) => !v.template && !this.hostConfig.protectedVmids.includes(v.vmid));
86
- const usedSlots = slotAllocatedVms.length;
84
+ const configuredMockMaxSlots = this.isMock ? this.hostConfig.maxSlots : undefined;
85
+ const occupiedMockSlots = configuredMockMaxSlots !== undefined
86
+ ? vms.filter((v) => !v.template && !this.hostConfig.protectedVmids.includes(v.vmid)).length
87
+ : 0;
87
88
  // In real/live mode, available slots reflects pure capacity and actual free memory,
88
89
  // avoiding artificial static bottlenecks. In mock fixture tests, preserve mock static cap if specified.
89
- const maxSlots = this.isMock && this.hostConfig.maxSlots !== undefined
90
- ? this.hostConfig.maxSlots
90
+ const maxSlots = configuredMockMaxSlots !== undefined
91
+ ? Math.max(0, configuredMockMaxSlots)
91
92
  : pureCapacitySlots;
92
- const availableSlots = this.isMock && this.hostConfig.maxSlots !== undefined
93
- ? Math.max(0, this.hostConfig.maxSlots - Math.min(this.hostConfig.maxSlots, usedSlots))
94
- : Math.max(0, availableSlotsByRam);
93
+ const availableSlots = configuredMockMaxSlots !== undefined
94
+ ? maxSlots - Math.min(maxSlots, occupiedMockSlots)
95
+ : Math.min(maxSlots, availableSlotsByRam);
96
+ // Live occupancy follows RAM; mock occupancy follows the fixture inventory.
97
+ // Deriving used slots from the selected availability model keeps both
98
+ // tuples internally consistent.
99
+ const usedSlots = Math.max(0, maxSlots - availableSlots);
95
100
  let totalDisk = nodeStatus.rootfs?.total || 0;
96
101
  let freeDisk = nodeStatus.rootfs?.free || 0;
97
102
  try {
@@ -146,7 +151,7 @@ export class ProxmoxDriver {
146
151
  storageTotalBytes: 0,
147
152
  storageFreeBytes: 0,
148
153
  slotCapacity: {
149
- maxSlots: this.hostConfig.maxSlots,
154
+ maxSlots: 0,
150
155
  usedSlots: 0,
151
156
  availableSlots: 0,
152
157
  slotSizeBytes: (this.hostConfig.slotSizeMb || 8192) * 1024 * 1024