@calltelemetry/ct-lab-mcp 0.8.76 → 0.8.77

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.
@@ -25,5 +25,9 @@ export declare const CredentialStatusInputSchema: z.ZodObject<{
25
25
  }>;
26
26
  export type CredentialStatusInput = z.infer<typeof CredentialStatusInputSchema>;
27
27
  export type CredentialStatusRawInput = z.input<typeof CredentialStatusInputSchema>;
28
+ /** Bounded per-host probe: a dead host costs this much, not its transport timeout. */
29
+ export declare function probeTimeoutMs(env?: NodeJS.ProcessEnv): number;
30
+ /** ESXi is retired from the lab; ESXI_SCAN=off (the operator's switch) skips it. */
31
+ export declare function esxiRetired(env?: NodeJS.ProcessEnv): boolean;
28
32
  export declare function handleCredentialStatus(rawArgs: CredentialStatusRawInput | undefined, context: ToolContext): Promise<CallToolResult>;
29
33
  //# sourceMappingURL=credential-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-status.d.ts","sourceRoot":"","sources":["../../../src/tools/credential-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,0BAA0B;;CAMtC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;EAAuC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEnF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,wBAAwB,YAAK,EACtC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CAqHzB"}
1
+ {"version":3,"file":"credential-status.d.ts","sourceRoot":"","sources":["../../../src/tools/credential-status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,eAAO,MAAM,0BAA0B;;CAMtC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;EAAuC,CAAC;AAChF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAInF,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAI3E;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEzE;AAYD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,wBAAwB,YAAK,EACtC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,cAAc,CAAC,CA6HzB"}
@@ -20,6 +20,28 @@ export const CredentialStatusInputShape = {
20
20
  .describe("Whether to perform a live getHostCapacity() round-trip against each registered driver (default: true)."),
21
21
  };
22
22
  export const CredentialStatusInputSchema = z.object(CredentialStatusInputShape);
23
+ const DEFAULT_PROBE_TIMEOUT_MS = 5_000;
24
+ /** Bounded per-host probe: a dead host costs this much, not its transport timeout. */
25
+ export function probeTimeoutMs(env = process.env) {
26
+ const parsed = Number(env.CT_LAB_CREDENTIAL_PROBE_TIMEOUT_MS);
27
+ if (!Number.isFinite(parsed) || parsed <= 0)
28
+ return DEFAULT_PROBE_TIMEOUT_MS;
29
+ return Math.min(Math.max(Math.floor(parsed), 250), 30_000);
30
+ }
31
+ /** ESXi is retired from the lab; ESXI_SCAN=off (the operator's switch) skips it. */
32
+ export function esxiRetired(env = process.env) {
33
+ return ["off", "false", "0", "retired"].includes(String(env.ESXI_SCAN ?? "").trim().toLowerCase());
34
+ }
35
+ function withTimeout(work, ms) {
36
+ let timer;
37
+ const timeout = new Promise((_, reject) => {
38
+ timer = setTimeout(() => reject(new Error(`probe timed out after ${ms}ms`)), ms);
39
+ });
40
+ return Promise.race([work, timeout]).finally(() => {
41
+ if (timer)
42
+ clearTimeout(timer);
43
+ });
44
+ }
23
45
  export async function handleCredentialStatus(rawArgs = {}, context) {
24
46
  const args = CredentialStatusInputSchema.parse(rawArgs);
25
47
  // A canonical bridge is a separate target-bound authority. Its presence
@@ -47,17 +69,24 @@ export async function handleCredentialStatus(rawArgs = {}, context) {
47
69
  };
48
70
  const hostReports = [];
49
71
  const drivers = context.hypervisorManager?.getAllDrivers() ?? [];
50
- for (const driver of drivers) {
72
+ const timeoutMs = probeTimeoutMs();
73
+ const retiredEsxi = esxiRetired();
74
+ // Probe hosts concurrently: the check costs the slowest host (bounded), not the sum.
75
+ const reports = await Promise.all(drivers.map(async (driver) => {
51
76
  const report = {
52
77
  hostName: driver.hostName,
53
78
  hypervisor: driver.hypervisorType,
54
79
  isMock: driver.isMock,
55
80
  reachable: "not_probed",
56
81
  };
82
+ if (retiredEsxi && driver.hypervisorType === "esxi") {
83
+ report.reachable = "retired";
84
+ return report;
85
+ }
57
86
  if (args.probe) {
58
87
  const start = Date.now();
59
88
  try {
60
- const capacity = await driver.getHostCapacity();
89
+ const capacity = await withTimeout(driver.getHostCapacity(), timeoutMs);
61
90
  report.reachable = capacity.status === "online";
62
91
  report.endpoint = capacity.endpoint;
63
92
  report.elapsedMs = Date.now() - start;
@@ -68,15 +97,16 @@ export async function handleCredentialStatus(rawArgs = {}, context) {
68
97
  report.elapsedMs = Date.now() - start;
69
98
  }
70
99
  }
71
- hostReports.push(report);
72
- }
100
+ return report;
101
+ }));
102
+ hostReports.push(...reports);
73
103
  const applianceExecutorIsMock = context.credentials?.tier === "mock_fallback" || mockPermitted;
74
104
  const anyMockHost = hostReports.some((h) => h.isMock);
75
105
  const allRealAndReachable = credentialAvailable &&
76
106
  !anyMockHost &&
77
107
  !applianceExecutorIsMock &&
78
- hostReports.length > 0 &&
79
- hostReports.every((h) => h.reachable === true);
108
+ hostReports.some((h) => h.reachable !== "retired") &&
109
+ hostReports.filter((h) => h.reachable !== "retired").every((h) => h.reachable === true);
80
110
  let md = `### 🩺 ct-lab-mcp Credential & Transport Self-Check\n\n`;
81
111
  md += `**Credentials available:** ${credentialAvailable ? "🟢 true" : "🔴 false"} \n`;
82
112
  md += `**Resolved credential tier:** \`${tier}\` \n`;
@@ -87,7 +117,7 @@ export async function handleCredentialStatus(rawArgs = {}, context) {
87
117
  md += "| Host | Hypervisor | Mock | Reachable | Endpoint | Elapsed (ms) |\n";
88
118
  md += "|---|---|---|---|---|---|\n";
89
119
  for (const h of hostReports) {
90
- md += `| \`${h.hostName}\` | ${h.hypervisor} | ${h.isMock ? "⚠️ true" : "false"} | ${h.reachable === "not_probed" ? "not probed" : h.reachable ? "🟢 yes" : "🔴 no" + (h.error ? ` (${h.error})` : "")} | ${h.endpoint || "-"} | ${h.elapsedMs ?? "-"} |\n`;
120
+ md += `| \`${h.hostName}\` | ${h.hypervisor} | ${h.isMock ? "⚠️ true" : "false"} | ${h.reachable === "not_probed" ? "not probed" : h.reachable === "retired" ? "retired (not probed)" : h.reachable ? "🟢 yes" : "🔴 no" + (h.error ? ` (${h.error})` : "")} | ${h.endpoint || "-"} | ${h.elapsedMs ?? "-"} |\n`;
91
121
  }
92
122
  if (drivers.length === 0) {
93
123
  md += "\n_No hypervisor drivers are registered on this server instance._\n";
@@ -1 +1 @@
1
- {"version":3,"file":"credential-status.js","sourceRoot":"","sources":["../../../src/tools/credential-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-status.js","sourceRoot":"","sources":["../../../src/tools/credential-status.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calltelemetry/ct-lab-mcp",
3
- "version": "0.8.76",
3
+ "version": "0.8.77",
4
4
  "description": "Expanded Model Context Protocol (MCP) server for Call Telemetry lab, fleet, and appliance management across Proxmox VE and VMware ESXi.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",