comfyui-mcp 0.52.0 → 0.52.1
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.
- package/dist/orchestrator/blind-native-gate.js +138 -0
- package/dist/orchestrator/blind-native-gate.js.map +1 -0
- package/dist/orchestrator/claude-backend.js +172 -50
- package/dist/orchestrator/claude-backend.js.map +1 -1
- package/dist/orchestrator/grok-backend.js +24 -14
- package/dist/orchestrator/grok-backend.js.map +1 -1
- package/dist/orchestrator/index.js +23 -1
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/mcp-session-health.js +88 -7
- package/dist/orchestrator/mcp-session-health.js.map +1 -1
- package/dist/orchestrator/panel-agent.js +2 -0
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/orchestrator/panel-tools.js +11 -4
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/orchestrator/turn-origins.js +68 -26
- package/dist/orchestrator/turn-origins.js.map +1 -1
- package/dist/services/extra-paths.js +57 -4
- package/dist/services/extra-paths.js.map +1 -1
- package/dist/services/listener-ownership.js +17 -5
- package/dist/services/listener-ownership.js.map +1 -1
- package/dist/services/model-resolver.js +49 -8
- package/dist/services/model-resolver.js.map +1 -1
- package/dist/services/node-management.js +85 -10
- package/dist/services/node-management.js.map +1 -1
- package/dist/services/process-control.js +110 -8
- package/dist/services/process-control.js.map +1 -1
- package/dist/services/queue-monitor.js +54 -7
- package/dist/services/queue-monitor.js.map +1 -1
- package/dist/services/queue-monitor.stall.test.js +86 -1
- package/dist/services/queue-monitor.stall.test.js.map +1 -1
- package/dist/services/ui-bridge.js +80 -0
- package/dist/services/ui-bridge.js.map +1 -1
- package/dist/tools/model-management.js +21 -2
- package/dist/tools/model-management.js.map +1 -1
- package/locales/ar/main.json +1 -0
- package/locales/en/main.json +1 -0
- package/locales/es/main.json +1 -0
- package/locales/fa/main.json +1 -0
- package/locales/fr/main.json +1 -0
- package/locales/ja/main.json +1 -0
- package/locales/ko/main.json +1 -0
- package/locales/pt-BR/main.json +1 -0
- package/locales/ru/main.json +1 -0
- package/locales/tr/main.json +1 -0
- package/locales/zh/main.json +1 -0
- package/locales/zh-TW/main.json +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blind gate for the Claude backend's NATIVE tools (the issue #90 promise,
|
|
3
|
+
* extended to the SDK subprocess).
|
|
4
|
+
*
|
|
5
|
+
* The MCP-side gate (src/tools/index.ts, COMFYUI_MCP_BLIND) scrubs image blocks
|
|
6
|
+
* from every comfyui tool result — but the Claude Agent SDK runs the full
|
|
7
|
+
* claude_code preset under bypassPermissions, so the model ALSO holds native
|
|
8
|
+
* Read and WebFetch. Native Read on a PNG (or a PDF page, or a notebook's cell
|
|
9
|
+
* outputs) delivers rendered pixels to the model without any MCP tool in the
|
|
10
|
+
* path, which silently voids the "the agent NEVER receives image pixels"
|
|
11
|
+
* promise. Reproduced live: Blind ON, the agent read a LoadImage input file
|
|
12
|
+
* with native Read and described the photo in detail.
|
|
13
|
+
*
|
|
14
|
+
* Enforcement is a PreToolUse hook (mechanical — a deny the model cannot route
|
|
15
|
+
* around), not a prompt. The hook reads the isBlind() predicate at CALL time,
|
|
16
|
+
* so a mid-session Blind toggle binds the very next tool call — it does not
|
|
17
|
+
* wait for the coalesced at-idle agent respawn the env gate needs.
|
|
18
|
+
*
|
|
19
|
+
* Coverage is the pixel-DELIVERY channels only: Read (renders raster images,
|
|
20
|
+
* PDFs, .ipynb outputs) and WebFetch (can hand back image content — including
|
|
21
|
+
* ComfyUI's own /view endpoint). Bash & friends return text; a model cannot
|
|
22
|
+
* recover pixels from base64 text, so they stay open. Renaming a file does not
|
|
23
|
+
* help: Read denial sniffs magic bytes as well as extensions.
|
|
24
|
+
*/
|
|
25
|
+
import { openSync, readSync, closeSync } from "node:fs";
|
|
26
|
+
/** Extensions native Read would render as pixels (raster formats), plus the
|
|
27
|
+
* two container formats whose Read output embeds rendered images (PDF pages,
|
|
28
|
+
* notebook cell outputs). SVG is excluded: Read returns its source text. */
|
|
29
|
+
const PIXEL_READ_EXTENSIONS = new Set([
|
|
30
|
+
"png", "jpg", "jpeg", "gif", "webp", "bmp", "tif", "tiff",
|
|
31
|
+
"avif", "heic", "heif", "ico", "pdf", "ipynb",
|
|
32
|
+
]);
|
|
33
|
+
/** Extensions that mark a URL as image content for WebFetch. */
|
|
34
|
+
const PIXEL_URL_EXTENSIONS = new Set([
|
|
35
|
+
"png", "jpg", "jpeg", "gif", "webp", "bmp", "tif", "tiff", "avif", "heic", "heif", "ico",
|
|
36
|
+
]);
|
|
37
|
+
const extensionOf = (path) => {
|
|
38
|
+
const base = path.slice(Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\")) + 1);
|
|
39
|
+
const dot = base.lastIndexOf(".");
|
|
40
|
+
return dot > 0 ? base.slice(dot + 1).toLowerCase() : "";
|
|
41
|
+
};
|
|
42
|
+
/** True when the file's leading bytes are a known raster/PDF signature — the
|
|
43
|
+
* defense against `cp photo.png notes.txt` extension games. Unreadable or
|
|
44
|
+
* short files sniff false: if the harness can't read it, it can't render it. */
|
|
45
|
+
export function sniffsAsPixels(filePath) {
|
|
46
|
+
let fd = null;
|
|
47
|
+
try {
|
|
48
|
+
fd = openSync(filePath, "r");
|
|
49
|
+
const head = Buffer.alloc(16);
|
|
50
|
+
const n = readSync(fd, head, 0, 16, 0);
|
|
51
|
+
if (n < 4)
|
|
52
|
+
return false;
|
|
53
|
+
if (head[0] === 0x89 && head[1] === 0x50 && head[2] === 0x4e && head[3] === 0x47)
|
|
54
|
+
return true; // PNG
|
|
55
|
+
if (head[0] === 0xff && head[1] === 0xd8 && head[2] === 0xff)
|
|
56
|
+
return true; // JPEG
|
|
57
|
+
if (head.toString("latin1", 0, 4) === "GIF8")
|
|
58
|
+
return true; // GIF87a/89a
|
|
59
|
+
if (head.toString("latin1", 0, 4) === "RIFF" && head.toString("latin1", 8, 12) === "WEBP")
|
|
60
|
+
return true;
|
|
61
|
+
if (head[0] === 0x42 && head[1] === 0x4d)
|
|
62
|
+
return true; // BMP
|
|
63
|
+
if (head.toString("latin1", 0, 4) === "II*\0" || head.toString("latin1", 0, 4) === "MM\0*")
|
|
64
|
+
return true; // TIFF
|
|
65
|
+
if (head.toString("latin1", 0, 4) === "%PDF")
|
|
66
|
+
return true;
|
|
67
|
+
if (n >= 12 && head.toString("latin1", 4, 8) === "ftyp")
|
|
68
|
+
return true; // AVIF/HEIC/HEIF box
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
finally {
|
|
75
|
+
if (fd !== null)
|
|
76
|
+
closeSync(fd);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Decide whether one native tool call would deliver pixels. Pure over its
|
|
80
|
+
* inputs apart from the Read magic-byte sniff. Unknown tools and malformed
|
|
81
|
+
* inputs allow: the MCP scrub and the message-path withholding still stand,
|
|
82
|
+
* and a gate that blocks ordinary text work teaches users to turn Blind off. */
|
|
83
|
+
export function evaluateNativePixelTool(toolName, toolInput) {
|
|
84
|
+
const input = (toolInput ?? {});
|
|
85
|
+
if (toolName === "Read") {
|
|
86
|
+
const filePath = typeof input.file_path === "string" ? input.file_path : "";
|
|
87
|
+
if (!filePath)
|
|
88
|
+
return { deny: false };
|
|
89
|
+
if (PIXEL_READ_EXTENSIONS.has(extensionOf(filePath)) || sniffsAsPixels(filePath)) {
|
|
90
|
+
return { deny: true, what: `image/document file ${filePath}` };
|
|
91
|
+
}
|
|
92
|
+
return { deny: false };
|
|
93
|
+
}
|
|
94
|
+
if (toolName === "WebFetch") {
|
|
95
|
+
const url = typeof input.url === "string" ? input.url : "";
|
|
96
|
+
if (!url)
|
|
97
|
+
return { deny: false };
|
|
98
|
+
let pathname;
|
|
99
|
+
try {
|
|
100
|
+
pathname = new URL(url).pathname;
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return { deny: false };
|
|
104
|
+
}
|
|
105
|
+
// ComfyUI serves every input/output/temp image through /view (and the
|
|
106
|
+
// /api/view alias) — the exact endpoint the original #90 leak used.
|
|
107
|
+
if (pathname === "/view" || pathname.endsWith("/api/view"))
|
|
108
|
+
return { deny: true, what: `ComfyUI /view URL` };
|
|
109
|
+
if (PIXEL_URL_EXTENSIONS.has(extensionOf(pathname)))
|
|
110
|
+
return { deny: true, what: `image URL ${url}` };
|
|
111
|
+
return { deny: false };
|
|
112
|
+
}
|
|
113
|
+
return { deny: false };
|
|
114
|
+
}
|
|
115
|
+
/** The SDK PreToolUse hook. Kept dependency-free of SDK types (structurally
|
|
116
|
+
* compatible with HookCallback) so the SDK stays a lazy import. */
|
|
117
|
+
export function makeBlindNativeHook(isBlind) {
|
|
118
|
+
return async (input) => {
|
|
119
|
+
if (!isBlind?.())
|
|
120
|
+
return {};
|
|
121
|
+
const call = (input ?? {});
|
|
122
|
+
if (call.hook_event_name !== "PreToolUse" || !call.tool_name)
|
|
123
|
+
return {};
|
|
124
|
+
const verdict = evaluateNativePixelTool(call.tool_name, call.tool_input);
|
|
125
|
+
if (!verdict.deny)
|
|
126
|
+
return {};
|
|
127
|
+
return {
|
|
128
|
+
hookSpecificOutput: {
|
|
129
|
+
hookEventName: "PreToolUse",
|
|
130
|
+
permissionDecision: "deny",
|
|
131
|
+
permissionDecisionReason: `Blind mode: ${verdict.what ?? "image content"} withheld. The user's Blind setting means ` +
|
|
132
|
+
"you NEVER receive image pixels — through any tool, native ones included. Work from " +
|
|
133
|
+
"filenames/metadata, and tell the user to inspect the image themselves if it matters.",
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=blind-native-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blind-native-gate.js","sourceRoot":"","sources":["../../src/orchestrator/blind-native-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,10 @@ import { logger } from "../utils/logger.js";
|
|
|
13
13
|
import { errorText } from "./error-text.js";
|
|
14
14
|
import { buildAgentSpawnEnv } from "../services/panel-secrets.js";
|
|
15
15
|
import { loadTurnRegistry, saveTurnRegistry, tombstoneTurn } from "./turn-registry.js";
|
|
16
|
-
import { degradedMcpNotice, inspectMcpServers } from "./mcp-session-health.js";
|
|
16
|
+
import { degradedMcpNotice, inspectMcpServers, reconnectableMcpStatus, recoveredMcpNotice, unrecoveredMcpNotice, } from "./mcp-session-health.js";
|
|
17
17
|
import { randomUUID } from "node:crypto";
|
|
18
18
|
import { CLAUDE_CAPABILITIES, } from "./agent-backend.js";
|
|
19
|
+
import { makeBlindNativeHook } from "./blind-native-gate.js";
|
|
19
20
|
// ---- reasoning effort mapping ----
|
|
20
21
|
// Effort is now a provider-neutral union (it must survive a provider switch — see
|
|
21
22
|
// panel-agent.ts Effort). The Agent SDK only accepts the Claude scale
|
|
@@ -385,54 +386,162 @@ export class ClaudeBackend {
|
|
|
385
386
|
parent_tool_use_id: null,
|
|
386
387
|
};
|
|
387
388
|
}
|
|
388
|
-
/**
|
|
389
|
-
*
|
|
390
|
-
|
|
389
|
+
/** MCP servers this run currently knows are DOWN, name → reconnect attempted.
|
|
390
|
+
* An episode opens when the `init` report or a turn-end status poll finds a
|
|
391
|
+
* configured server unusable (#1524), and closes when a later poll reads it
|
|
392
|
+
* connected again — whether our reconnect brought it back or the harness's
|
|
393
|
+
* own supervision did. The boolean bounds retries: ONE automatic reconnect
|
|
394
|
+
* per episode, so a server that stays down is reported once, not fought on
|
|
395
|
+
* every turn. */
|
|
396
|
+
mcpDown = new Map();
|
|
391
397
|
/** Say — in the log — that this session does not have servers it was given.
|
|
392
|
-
* Shared by the init check and the
|
|
398
|
+
* Shared by the init check and the turn-end watch so both report identically. */
|
|
393
399
|
reportDegradedMcp(degraded, reported, sessionId, when = "started") {
|
|
394
400
|
logger.error(`[claude-backend] session ${sessionId.slice(0, 8)} ${when} WITHOUT ` +
|
|
395
401
|
`${degraded.map((d) => `${d.name}=${d.status ?? "absent"}`).join(" ")} ` +
|
|
396
402
|
`(reported: ${(reported ?? []).map((s) => `${s.name}=${s.status}`).join(" ") || "none"})`);
|
|
397
403
|
}
|
|
398
404
|
/**
|
|
399
|
-
*
|
|
405
|
+
* One best-effort read of the harness's MCP server statuses. `undefined`
|
|
406
|
+
* means "nothing learned" — a harness without the method, a poll that
|
|
407
|
+
* throws, or an empty report all land here, and all three must leave the
|
|
408
|
+
* session exactly as informed as before: silent, never guessed at.
|
|
409
|
+
*/
|
|
410
|
+
async pollMcpStatus(q) {
|
|
411
|
+
try {
|
|
412
|
+
const reported = await q.mcpServerStatus?.();
|
|
413
|
+
return Array.isArray(reported) && reported.length > 0 ? reported : undefined;
|
|
414
|
+
}
|
|
415
|
+
catch (err) {
|
|
416
|
+
logger.debug(`[claude-backend] mcpServerStatus: ${msgOf(err)}`);
|
|
417
|
+
return undefined;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Watch the toolset for a MID-SESSION drop, and try to bring it back (#1524).
|
|
400
422
|
*
|
|
401
|
-
*
|
|
402
|
-
*
|
|
403
|
-
*
|
|
404
|
-
*
|
|
423
|
+
* The reporter's session came up healthy and lost all 92 panel_* tools hours
|
|
424
|
+
* in: the harness's own reconnect brought `comfyui` back and never retried
|
|
425
|
+
* the in-process panel server — and since `init` is the only MCP report a
|
|
426
|
+
* session PUSHES, nothing host-side ever learned of it. There is no
|
|
427
|
+
* mid-session push to listen for (the SDK's message vocabulary has none), so
|
|
428
|
+
* the only detection is to ASK: one `mcpServerStatus()` poll per turn end —
|
|
429
|
+
* turn-driven, so it needs no timer and cannot spam — read against the set
|
|
430
|
+
* this session was actually given.
|
|
405
431
|
*
|
|
406
|
-
*
|
|
407
|
-
*
|
|
408
|
-
*
|
|
409
|
-
*
|
|
432
|
+
* Recovery is the SDK's own verb, `reconnectMcpServer()` ("reconnects a
|
|
433
|
+
* disconnected or failed MCP server"), bounded to ONE attempt per
|
|
434
|
+
* down-episode. The attempt is never claimed to have worked on the strength
|
|
435
|
+
* of the call alone: the status is re-read once and the re-read is what the
|
|
436
|
+
* notice quotes. `needs-auth` and `disabled` are reported but not retried —
|
|
437
|
+
* the first waits on the user, the second is a deliberate off switch.
|
|
410
438
|
*
|
|
411
|
-
* Best-effort
|
|
412
|
-
*
|
|
413
|
-
*
|
|
439
|
+
* Best-effort throughout: a harness without these control methods, or a poll
|
|
440
|
+
* that throws, leaves the session as informed as it was before this existed
|
|
441
|
+
* — silent — and never takes the turn stream down with it.
|
|
414
442
|
*/
|
|
415
|
-
async
|
|
416
|
-
const names = this.
|
|
443
|
+
async checkMcpServers(q) {
|
|
444
|
+
const names = Object.keys(this.mcpServersForRun() ?? {});
|
|
417
445
|
if (names.length === 0)
|
|
418
|
-
return
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
446
|
+
return [];
|
|
447
|
+
let reported = await this.pollMcpStatus(q);
|
|
448
|
+
if (!reported)
|
|
449
|
+
return [];
|
|
450
|
+
const events = [];
|
|
451
|
+
// Attempt the one reconnect each down server is owed BEFORE reporting, so a
|
|
452
|
+
// drop the reconnect fixes right away is narrated once and accurately,
|
|
453
|
+
// instead of "gone" followed by "back". Servers just found down (no open
|
|
454
|
+
// episode) and episodes opened at init (attempt owed to this turn boundary)
|
|
455
|
+
// are both due; an episode already retried is not.
|
|
456
|
+
const triable = inspectMcpServers(names, reported).degraded.filter((d) => this.mcpDown.get(d.name) !== true && reconnectableMcpStatus(d.status));
|
|
457
|
+
const attempted = new Set();
|
|
458
|
+
// Whether the post-attempt status re-read was READ. "Reconnect failed" is
|
|
459
|
+
// only claimable when it was — otherwise the still-down reading is the
|
|
460
|
+
// pre-attempt one and the notice must not assert an outcome nobody saw.
|
|
461
|
+
let verdictRead = true;
|
|
462
|
+
if (typeof q.reconnectMcpServer === "function") {
|
|
463
|
+
for (const d of triable) {
|
|
464
|
+
attempted.add(d.name);
|
|
465
|
+
this.mcpDown.set(d.name, true); // the attempt is spent, whatever it returns
|
|
466
|
+
try {
|
|
467
|
+
await q.reconnectMcpServer(d.name);
|
|
468
|
+
}
|
|
469
|
+
catch (err) {
|
|
470
|
+
logger.debug(`[claude-backend] reconnectMcpServer(${d.name}): ${msgOf(err)}`);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
if (attempted.size > 0) {
|
|
474
|
+
// The verdict on the attempts: re-read once. A failed re-read keeps the
|
|
475
|
+
// pre-attempt reading — the servers stay "down" — the safe direction.
|
|
476
|
+
const after = await this.pollMcpStatus(q);
|
|
477
|
+
if (after)
|
|
478
|
+
reported = after;
|
|
479
|
+
else
|
|
480
|
+
verdictRead = false;
|
|
481
|
+
}
|
|
426
482
|
}
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
483
|
+
const degraded = inspectMcpServers(names, reported).degraded;
|
|
484
|
+
const downNow = new Set(degraded.map((d) => d.name));
|
|
485
|
+
// Episodes that CLOSED: the server reads connected again. An episode our
|
|
486
|
+
// own attempt just closed says so; one the harness healed on its own
|
|
487
|
+
// (the reporter watched `comfyui` do exactly this) is reported as what it
|
|
488
|
+
// is — it came back, and we did not do it.
|
|
489
|
+
const backByUs = [];
|
|
490
|
+
const backOnItsOwn = [];
|
|
491
|
+
for (const name of [...this.mcpDown.keys()]) {
|
|
492
|
+
if (downNow.has(name))
|
|
493
|
+
continue;
|
|
494
|
+
this.mcpDown.delete(name);
|
|
495
|
+
(attempted.has(name) ? backByUs : backOnItsOwn).push(name);
|
|
430
496
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
497
|
+
if (backByUs.length) {
|
|
498
|
+
logger.info(`[claude-backend] MCP reconnect brought back: ${backByUs.join(", ")}`);
|
|
499
|
+
events.push({ type: "error", sessionNotice: true, message: recoveredMcpNotice(backByUs, true) });
|
|
500
|
+
}
|
|
501
|
+
if (backOnItsOwn.length) {
|
|
502
|
+
logger.info(`[claude-backend] MCP servers connected again on their own: ${backOnItsOwn.join(", ")}`);
|
|
503
|
+
events.push({ type: "error", sessionNotice: true, message: recoveredMcpNotice(backOnItsOwn, false) });
|
|
504
|
+
}
|
|
505
|
+
// Episodes still OPEN that have not been reported yet: a fresh drop whose
|
|
506
|
+
// reconnect just failed, an init-time episode whose owed attempt failed
|
|
507
|
+
// (the init notice promised the outcome), and drops there is no attempt
|
|
508
|
+
// for. One line per server per episode — a server that stays down is not
|
|
509
|
+
// re-narrated on every turn.
|
|
510
|
+
const unreported = degraded.filter((d) => attempted.has(d.name) || !this.mcpDown.has(d.name));
|
|
511
|
+
const failedAttempt = unreported.filter((d) => attempted.has(d.name));
|
|
512
|
+
const notRetriable = unreported.filter((d) => !attempted.has(d.name) && !reconnectableMcpStatus(d.status));
|
|
513
|
+
const unsupported = unreported.filter((d) => !attempted.has(d.name) && reconnectableMcpStatus(d.status));
|
|
514
|
+
for (const d of unreported)
|
|
515
|
+
this.mcpDown.set(d.name, true);
|
|
516
|
+
if (failedAttempt.length) {
|
|
517
|
+
// "Did not bring it back" is claimable only off the post-attempt re-read;
|
|
518
|
+
// when that re-read could not be read the attempt is reported WITHOUT an
|
|
519
|
+
// outcome — "did not come back" would be a claim nobody checked (#1228).
|
|
520
|
+
const why = verdictRead ? "reconnect-failed" : "unverified";
|
|
521
|
+
this.reportDegradedMcp(failedAttempt, reported, this.registrySessionId ?? "", "lost");
|
|
522
|
+
events.push({
|
|
523
|
+
type: "error",
|
|
524
|
+
sessionNotice: true,
|
|
525
|
+
message: unrecoveredMcpNotice(failedAttempt, why),
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
if (notRetriable.length) {
|
|
529
|
+
this.reportDegradedMcp(notRetriable, reported, this.registrySessionId ?? "", "lost");
|
|
530
|
+
events.push({
|
|
531
|
+
type: "error",
|
|
532
|
+
sessionNotice: true,
|
|
533
|
+
message: unrecoveredMcpNotice(notRetriable, "not-retriable"),
|
|
534
|
+
});
|
|
535
|
+
}
|
|
536
|
+
if (unsupported.length) {
|
|
537
|
+
this.reportDegradedMcp(unsupported, reported, this.registrySessionId ?? "", "lost");
|
|
538
|
+
events.push({
|
|
539
|
+
type: "error",
|
|
540
|
+
sessionNotice: true,
|
|
541
|
+
message: unrecoveredMcpNotice(unsupported, "unsupported"),
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
return events;
|
|
436
545
|
}
|
|
437
546
|
/**
|
|
438
547
|
* The MCP server set this session is given: the comfyui stdio child, plus the
|
|
@@ -477,6 +586,14 @@ export class ClaudeBackend {
|
|
|
477
586
|
// Only our comfyui MCP — never inherit the user's project/user MCP config
|
|
478
587
|
// (which may run a second comfyui that grabs the bridge port).
|
|
479
588
|
strictMcpConfig: true,
|
|
589
|
+
// Blind (issue #90) must also bind the subprocess's NATIVE tools: Read
|
|
590
|
+
// renders image files (and PDFs / notebook outputs) and WebFetch can hand
|
|
591
|
+
// back ComfyUI's own /view content, both entirely outside the MCP scrub.
|
|
592
|
+
// The hook consults isBlind() per call, so a live toggle applies to the
|
|
593
|
+
// NEXT tool call — no respawn required, unlike the env gate.
|
|
594
|
+
hooks: {
|
|
595
|
+
PreToolUse: [{ hooks: [makeBlindNativeHook(this.deps.isBlind)] }],
|
|
596
|
+
},
|
|
480
597
|
systemPrompt: {
|
|
481
598
|
type: "preset",
|
|
482
599
|
preset: "claude_code",
|
|
@@ -534,9 +651,9 @@ export class ClaudeBackend {
|
|
|
534
651
|
this.lastResultTurnId = this.turnSeq;
|
|
535
652
|
this.classificationPoisoned = false;
|
|
536
653
|
// #1524 — MCP health is per SESSION. A restart re-runs every connection, so
|
|
537
|
-
// the previous run's
|
|
538
|
-
// suppress the new session's report.
|
|
539
|
-
this.
|
|
654
|
+
// the previous run's down-episodes and their "already retried" marks must
|
|
655
|
+
// not suppress the new session's report or its one reconnect attempt.
|
|
656
|
+
this.mcpDown.clear();
|
|
540
657
|
this.parkedInterrupted.clear(); // dead session's parks die with it
|
|
541
658
|
this.consumedInterrupted.clear(); // …and its landing history
|
|
542
659
|
this.markerBase = this.lastResultTurnId; // turn markers are run-relative (#728)
|
|
@@ -609,14 +726,14 @@ export class ClaudeBackend {
|
|
|
609
726
|
}
|
|
610
727
|
yield streamTurn === undefined ? ev : { ...ev, turn: streamTurn - this.markerBase };
|
|
611
728
|
}
|
|
612
|
-
// #1524 —
|
|
613
|
-
//
|
|
614
|
-
//
|
|
615
|
-
//
|
|
729
|
+
// #1524 — watch the toolset at every turn end: poll the servers this
|
|
730
|
+
// session was given, attempt the one reconnect each down server is owed,
|
|
731
|
+
// and narrate the outcome. Placed here rather than in route() because it
|
|
732
|
+
// has to await control requests, and after the turn's own events so a
|
|
733
|
+
// session notice never interleaves into the middle of a reply.
|
|
616
734
|
if (message.type === "result") {
|
|
617
|
-
const
|
|
618
|
-
|
|
619
|
-
yield settled;
|
|
735
|
+
for (const ev of await this.checkMcpServers(q))
|
|
736
|
+
yield ev;
|
|
620
737
|
}
|
|
621
738
|
}
|
|
622
739
|
}
|
|
@@ -780,11 +897,16 @@ export class ClaudeBackend {
|
|
|
780
897
|
const health = inspectMcpServers(Object.keys(this.mcpServersForRun() ?? {}), message.mcp_servers);
|
|
781
898
|
// A server still CONNECTING at init is not a failure — server startup
|
|
782
899
|
// does not block the session, so a slow one is legitimately `pending`
|
|
783
|
-
// here and connected a moment later. It
|
|
784
|
-
// the
|
|
785
|
-
//
|
|
786
|
-
//
|
|
787
|
-
|
|
900
|
+
// here and connected a moment later. It needs no tracking of its own:
|
|
901
|
+
// the turn-end watch (checkMcpServers) reads every configured server
|
|
902
|
+
// at each turn boundary, so a pending server that goes on to FAIL
|
|
903
|
+
// surfaces there as a fresh drop, and one that connects simply never
|
|
904
|
+
// opens an episode.
|
|
905
|
+
//
|
|
906
|
+
// A server already DOWN at init opens its episode now — reported
|
|
907
|
+
// below, with the reconnect it is owed landing at the first turn end.
|
|
908
|
+
for (const d of health.degraded)
|
|
909
|
+
this.mcpDown.set(d.name, false);
|
|
788
910
|
if (health.degraded.length) {
|
|
789
911
|
this.reportDegradedMcp(health.degraded, message.mcp_servers, message.session_id);
|
|
790
912
|
yield { type: "error", sessionNotice: true, message: degradedMcpNotice(health.degraded) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-backend.js","sourceRoot":"","sources":["../../src/orchestrator/claude-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-backend.js","sourceRoot":"","sources":["../../src/orchestrator/claude-backend.ts"],"names":[],"mappings":"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"}
|