comfyui-mcp 0.41.0 → 0.42.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.
- package/dist/orchestrator/gemini-backend.js +109 -29
- package/dist/orchestrator/gemini-backend.js.map +1 -1
- package/dist/orchestrator/index.js +94 -5
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/panel-agent.js +12 -1
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/services/workflow-validator.js +4 -0
- package/dist/services/workflow-validator.js.map +1 -1
- package/dist/tools/diagnostics.js +120 -1
- package/dist/tools/diagnostics.js.map +1 -1
- package/dist/tools/index.js +61 -3
- package/dist/tools/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -38,13 +38,15 @@
|
|
|
38
38
|
// no model enumeration; the model is selected at SPAWN via
|
|
39
39
|
// the CLI `--model` flag (see resolveBin/spawn below)
|
|
40
40
|
//
|
|
41
|
-
// AUTH (
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
// If the CLI is
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
41
|
+
// AUTH (the CLI owns auth): Gemini CLI authenticates either via a Gemini API key
|
|
42
|
+
// (USE_GEMINI — read from GEMINI_API_KEY, which we forward through the spawned
|
|
43
|
+
// process.env) or via Google OAuth / Code Assist (paid/enterprise only — the free
|
|
44
|
+
// individual login was retired 2026-06-18). If the CLI is unauthenticated,
|
|
45
|
+
// `session/new` returns an `auth_required` error — we then call `authenticate`
|
|
46
|
+
// with the API-key method when GEMINI_API_KEY is set (see pickAuthMethod), else
|
|
47
|
+
// the first advertised method, and on failure surface a clear message pointing at
|
|
48
|
+
// the GEMINI_API_KEY path. API-key auth completes headlessly; the OAuth browser
|
|
49
|
+
// flow does not and must be done once by running `gemini` directly.
|
|
48
50
|
//
|
|
49
51
|
// PARITY with Codex/Claude: the Gemini backend gets the SAME tool surface — the
|
|
50
52
|
// headless `comfyui` stdio MCP plus the `panel` HTTP MCP for live-graph panel_*
|
|
@@ -347,12 +349,26 @@ class AcpClient {
|
|
|
347
349
|
// Gemini's "thinking" is a token BUDGET, not a discrete effort scale, so we do
|
|
348
350
|
// NOT advertise supportsEffort/supportedEffortLevels: the panel's normalizeModels
|
|
349
351
|
// then hides the effort dropdown (omission is the documented "no effort control"
|
|
350
|
-
// signal).
|
|
352
|
+
// signal).
|
|
353
|
+
//
|
|
354
|
+
// PIN THE FLOATING ALIASES FIRST. A static catalog rots: as of 2026-07-20 Google
|
|
355
|
+
// returns 404 "no longer available to new users" for BOTH former entries
|
|
356
|
+
// (gemini-2.5-pro AND gemini-2.5-flash) on a newly-issued API key, so the old
|
|
357
|
+
// default was dead on arrival for every new user. `gemini-pro-latest` /
|
|
358
|
+
// `gemini-flash-latest` are Google's floating aliases (verified resolving to
|
|
359
|
+
// gemini-3.1-pro-preview / gemini-3.5-flash) and keep tracking the current
|
|
360
|
+
// generation without another code change. The pinned ids below are the concrete
|
|
361
|
+
// models those aliases resolved to, kept for reproducibility.
|
|
362
|
+
// Verified against generativelanguage.googleapis.com on 2026-07-20: the four
|
|
363
|
+
// entries below return 200; gemini-2.5-pro / gemini-2.5-flash / gemini-3-pro-preview
|
|
364
|
+
// return 404.
|
|
351
365
|
const GEMINI_MODELS = [
|
|
352
|
-
{ id: "gemini-
|
|
353
|
-
{ id: "gemini-
|
|
366
|
+
{ id: "gemini-pro-latest", label: "Gemini Pro (latest)" },
|
|
367
|
+
{ id: "gemini-flash-latest", label: "Gemini Flash (latest)" },
|
|
368
|
+
{ id: "gemini-3.1-pro-preview", label: "Gemini 3.1 Pro (preview)" },
|
|
369
|
+
{ id: "gemini-3.5-flash", label: "Gemini 3.5 Flash" },
|
|
354
370
|
];
|
|
355
|
-
const GEMINI_DEFAULT_MODEL = "gemini-
|
|
371
|
+
const GEMINI_DEFAULT_MODEL = "gemini-pro-latest";
|
|
356
372
|
/** Does this id look like a Gemini model (vs. the Claude panel model PanelAgent
|
|
357
373
|
* unconditionally passes as opts.model)? Used so the configured Gemini model
|
|
358
374
|
* wins — mirrors codex-backend's isCodexModel guard (P1-1). */
|
|
@@ -544,9 +560,10 @@ export class GeminiBackend {
|
|
|
544
560
|
}
|
|
545
561
|
/** Ensure a live ACP session exists, creating (session/new) or resuming
|
|
546
562
|
* (session/load) one. Handles an `auth_required` error from session/new by
|
|
547
|
-
* attempting a single `authenticate` with the
|
|
548
|
-
*
|
|
549
|
-
*
|
|
563
|
+
* attempting a single `authenticate` with the API-key method when GEMINI_API_KEY
|
|
564
|
+
* is set (else the first advertised method — see pickAuthMethod), then retrying
|
|
565
|
+
* — surfacing a clear sign-in message if it still fails. Returns the session
|
|
566
|
+
* id. */
|
|
550
567
|
async ensureSession(client, cwd, resumeId) {
|
|
551
568
|
const mcpServers = this.deps.mcpServers ? buildAcpMcpServers(this.deps.mcpServers) : [];
|
|
552
569
|
const canLoad = this.agentCaps?.loadSession === true;
|
|
@@ -570,31 +587,94 @@ export class GeminiBackend {
|
|
|
570
587
|
throw new Error("gemini --acp session/new returned no sessionId.");
|
|
571
588
|
return res.sessionId;
|
|
572
589
|
};
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
590
|
+
// PROACTIVE API-key auth. When GEMINI_API_KEY is set we authenticate up front
|
|
591
|
+
// rather than only reacting to `auth_required`. Why: a CLI that was previously
|
|
592
|
+
// signed in keeps `security.auth.selectedType: "oauth-personal"` + cached OAuth
|
|
593
|
+
// creds, which OUTRANK GEMINI_API_KEY — so `session/new` SUCCEEDS via the (now
|
|
594
|
+
// dead, post-2026-06-18) individual OAuth without ever raising `auth_required`,
|
|
595
|
+
// then fails at request time ("session keeps ending"). Authenticating with the
|
|
596
|
+
// API-key method here switches the CLI to USE_GEMINI and clears the stale creds
|
|
597
|
+
// (the ACP `authenticate` handler drops cached creds when the method changes),
|
|
598
|
+
// so the reactive retry below only matters for a never-signed-in CLI.
|
|
599
|
+
if (process.env.GEMINI_API_KEY?.trim()) {
|
|
600
|
+
const apiKeyMethod = this.pickAuthMethod();
|
|
601
|
+
if (apiKeyMethod) {
|
|
580
602
|
try {
|
|
581
|
-
await client.request("authenticate", { methodId:
|
|
582
|
-
this.sessionId = await createNew();
|
|
603
|
+
await client.request("authenticate", { methodId: apiKeyMethod });
|
|
583
604
|
}
|
|
584
|
-
catch {
|
|
585
|
-
|
|
605
|
+
catch (err) {
|
|
606
|
+
logger.warn(`[gemini-backend] proactive API-key authenticate failed (${msgOf(err)}) — continuing to session/new`);
|
|
586
607
|
}
|
|
587
608
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
609
|
+
}
|
|
610
|
+
try {
|
|
611
|
+
this.sessionId = await createNew();
|
|
612
|
+
}
|
|
613
|
+
catch (err) {
|
|
614
|
+
if (!this.isAuthRequired(err))
|
|
592
615
|
throw err;
|
|
616
|
+
// The CLI owns auth. The free "Sign in with Google" / Code-Assist login for
|
|
617
|
+
// individuals was retired 2026-06-18; API keys (USE_GEMINI) still work. Pick
|
|
618
|
+
// the API-key auth method when GEMINI_API_KEY is set rather than blindly the
|
|
619
|
+
// first advertised method (OAuth — now a dead loop for individuals). The key
|
|
620
|
+
// itself already reaches the CLI via the spawned process.env.
|
|
621
|
+
const methodId = this.pickAuthMethod();
|
|
622
|
+
if (!methodId)
|
|
623
|
+
throw new Error(this.authFailureMessage());
|
|
624
|
+
try {
|
|
625
|
+
await client.request("authenticate", { methodId });
|
|
626
|
+
this.sessionId = await createNew();
|
|
627
|
+
}
|
|
628
|
+
catch {
|
|
629
|
+
throw new Error(this.authFailureMessage());
|
|
593
630
|
}
|
|
594
631
|
}
|
|
595
632
|
this.needsSystemPreamble = !!this.deps.systemAppend; // fresh session → persona on first turn
|
|
596
633
|
return this.sessionId;
|
|
597
634
|
}
|
|
635
|
+
/** Choose the ACP auth method for the `authenticate` retry. Prefers the Gemini
|
|
636
|
+
* API-key method (USE_GEMINI) when GEMINI_API_KEY is set — the free Google /
|
|
637
|
+
* Code-Assist OAuth login for individuals was retired 2026-06-18, so blindly
|
|
638
|
+
* taking authMethods[0] (OAuth) now dead-loops. Falls back to the first
|
|
639
|
+
* advertised method when no key is set or no API-key method is advertised. The
|
|
640
|
+
* methodId is the CLI's AuthType value (e.g. "gemini-api-key"); we match against
|
|
641
|
+
* the CLI's own advertised methods rather than hardcode the literal, so this
|
|
642
|
+
* survives AuthType value changes across gemini-cli versions. */
|
|
643
|
+
pickAuthMethod() {
|
|
644
|
+
const methods = this.authMethods;
|
|
645
|
+
if (methods.length === 0)
|
|
646
|
+
return undefined;
|
|
647
|
+
if (process.env.GEMINI_API_KEY?.trim()) {
|
|
648
|
+
const hay = (m) => `${m.id ?? ""} ${m.name ?? ""} ${m.description ?? ""}`.toLowerCase();
|
|
649
|
+
// Strong match: the canonical AuthType value, or a method naming BOTH gemini
|
|
650
|
+
// and api-key (so a Vertex/OAuth method that merely mentions "api key" in its
|
|
651
|
+
// blurb can't win).
|
|
652
|
+
const strong = methods.find((m) => m.id === "gemini-api-key" ||
|
|
653
|
+
m.id === "use_gemini" ||
|
|
654
|
+
(/gemini/.test(hay(m)) && /api.?key/.test(hay(m))));
|
|
655
|
+
if (strong?.id)
|
|
656
|
+
return strong.id;
|
|
657
|
+
// Loose fallback: an api-key-ish method that is clearly NOT oauth/vertex.
|
|
658
|
+
const loose = methods.find((m) => {
|
|
659
|
+
const h = hay(m);
|
|
660
|
+
return /api.?key|use_gemini/.test(h) && !/oauth|vertex|sign.?in|log.?in/.test(h);
|
|
661
|
+
});
|
|
662
|
+
if (loose?.id)
|
|
663
|
+
return loose.id;
|
|
664
|
+
}
|
|
665
|
+
return methods[0]?.id;
|
|
666
|
+
}
|
|
667
|
+
/** A clear sign-in error reflecting the 2026-06-18 individual-OAuth sunset:
|
|
668
|
+
* points key-holders at a likely bad/unrestricted key, and everyone else at the
|
|
669
|
+
* GEMINI_API_KEY path (the free Google login no longer works for individuals). */
|
|
670
|
+
authFailureMessage() {
|
|
671
|
+
return process.env.GEMINI_API_KEY?.trim()
|
|
672
|
+
? "Gemini CLI rejected the API key. Ensure GEMINI_API_KEY is a valid, API-restricted key " +
|
|
673
|
+
"(unrestricted standard keys are rejected as of 2026-06-19), then reconnect."
|
|
674
|
+
: "Gemini CLI is not authenticated. The free Google / Code-Assist login for individuals ended " +
|
|
675
|
+
"2026-06-18 — set GEMINI_API_KEY (a restricted AI Studio key) in ~/.comfyui-mcp/.env, or run " +
|
|
676
|
+
"`gemini` once and sign in with a paid / enterprise account, then reconnect.";
|
|
677
|
+
}
|
|
598
678
|
/** Does this error look like an ACP `auth_required`? Reads the JSON-RPC error
|
|
599
679
|
* data.reason carried by RpcError, falling back to the message text. */
|
|
600
680
|
isAuthRequired(err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-backend.js","sourceRoot":"","sources":["../../src/orchestrator/gemini-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gemini-backend.js","sourceRoot":"","sources":["../../src/orchestrator/gemini-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -169,7 +169,10 @@ const HEADLESS_DIRECTIVE = "[HEADLESS SESSION — no ComfyUI panel/canvas is con
|
|
|
169
169
|
"There is NO panel to auto-deliver a finished render, so you MUST deliver the result YOURSELF IN THIS SAME TURN: " +
|
|
170
170
|
"enqueuing returns a prompt_id immediately, so wait for it with get_job_status(prompt_id) — poll it briefly until " +
|
|
171
171
|
"it reports completion (this is the ONE case where polling IS correct) — then fetch the output with get_history and " +
|
|
172
|
-
"show it with panel_show_media. Do NOT end your turn expecting an automatic notification; none will arrive."
|
|
172
|
+
"show it with panel_show_media. Do NOT end your turn expecting an automatic notification; none will arrive. " +
|
|
173
|
+
"If the run FAILED — or the user asks why a render failed / what's missing — call diagnose_run: it names the failed " +
|
|
174
|
+
"node with its exception, plus any missing models (exact file + the widget holding it) and missing node types, in one " +
|
|
175
|
+
"call. It is the canvas-less equivalent of the panel's \"why is this red?\", so do NOT try panel_view_errored_nodes here.";
|
|
173
176
|
/** Live stall threshold (seconds) pushed from the panel setting via a `set_config`
|
|
174
177
|
* frame — applies WITHOUT a reconnect. null = not set, fall back to env then the
|
|
175
178
|
* built-in default. Process-global: one ComfyUI per orchestrator. */
|
|
@@ -577,6 +580,11 @@ const CALL_TOOL_WHITELIST = new Set([
|
|
|
577
580
|
// tap, and (without clear_pending, which the mobile client never sends) it
|
|
578
581
|
// never touches other pending jobs in a shared queue.
|
|
579
582
|
"cancel_job",
|
|
583
|
+
// "Why did my render fail?" for canvas-less clients. The panel answers this from
|
|
584
|
+
// live canvas state (panel_view_errored_nodes); a phone has no canvas, so it reads
|
|
585
|
+
// the same story server-side from history + re-validating the graph that ran.
|
|
586
|
+
// Read-only.
|
|
587
|
+
"diagnose_run",
|
|
580
588
|
]);
|
|
581
589
|
/** Lazily build ONE in-process MCP client wired to the full comfyui tool surface,
|
|
582
590
|
* reused across call_tool requests. Reuses the exact tool implementations (same
|
|
@@ -1161,6 +1169,12 @@ export async function runPanelOrchestrator() {
|
|
|
1161
1169
|
// the same secrets — reach either provider.
|
|
1162
1170
|
// A FUNCTION (not a frozen object) so it always reflects the CURRENT retargeted
|
|
1163
1171
|
// comfyuiUrl/comfyuiPath — makeHttpBackendMcpServers calls it per (re)spawn.
|
|
1172
|
+
// Tabs whose panel Blind toggle is ON (issue #90): their comfyui tool-server
|
|
1173
|
+
// spawns get COMFYUI_MCP_BLIND=1 so image-returning tools withhold pixels
|
|
1174
|
+
// mechanically. Seeded from `blind` on hello; toggled live via the
|
|
1175
|
+
// set_content_mode frame (which respawns the tab's agent at idle so the new
|
|
1176
|
+
// env applies). Keyed by tab id (the spawn is per tab, not per backend).
|
|
1177
|
+
const blindTabs = new Set();
|
|
1164
1178
|
const comfyuiBaseEnv = () => ({
|
|
1165
1179
|
COMFYUI_URL: comfyuiUrl,
|
|
1166
1180
|
COMFYUI_MCP_PROGRESS_DIR: progressDir,
|
|
@@ -1223,7 +1237,12 @@ export async function runPanelOrchestrator() {
|
|
|
1223
1237
|
args: [mcpEntry], // dist/index.js
|
|
1224
1238
|
// Merge persisted tool secrets at SPAWN time so a respawn picks up a
|
|
1225
1239
|
// just-saved CIVITAI_API_TOKEN / HF_TOKEN without a process restart.
|
|
1226
|
-
|
|
1240
|
+
// Blind tabs (issue #90) add COMFYUI_MCP_BLIND=1 so the tool server
|
|
1241
|
+
// withholds image pixels from the model.
|
|
1242
|
+
env: buildComfyuiMcpEnv({
|
|
1243
|
+
...comfyuiBaseEnv(),
|
|
1244
|
+
...(blindTabs.has(tabId) ? { COMFYUI_MCP_BLIND: "1" } : {}),
|
|
1245
|
+
}),
|
|
1227
1246
|
},
|
|
1228
1247
|
// Live-graph panel_* tools for THIS tab over the loopback HTTP MCP.
|
|
1229
1248
|
...(panelMcpHttp
|
|
@@ -1449,7 +1468,9 @@ export async function runPanelOrchestrator() {
|
|
|
1449
1468
|
// (persisted by panel-secrets) lands in the comfyui server's spawn env. The
|
|
1450
1469
|
// comfyui server is declared LAST so it always wins over any user entry that
|
|
1451
1470
|
// slipped through (defensive — the reader already filters comfyui-mcp entries).
|
|
1452
|
-
|
|
1471
|
+
// `panelTab` (when given) layers per-tab spawn env — the Blind content gate
|
|
1472
|
+
// (panel issue #90). The tab-less form remains for the static fallback.
|
|
1473
|
+
const buildMcpServers = (panelTab) => ({
|
|
1453
1474
|
// The user's inherited servers first… (re-read so a panel_add_mcp is picked
|
|
1454
1475
|
// up on the same in-process respawn, mirroring a soft reload).
|
|
1455
1476
|
...readUserMcpServers(),
|
|
@@ -1464,6 +1485,8 @@ export async function runPanelOrchestrator() {
|
|
|
1464
1485
|
// Local mode → enables download_model, apply_manifest (installer packs),
|
|
1465
1486
|
// and model scans so the agent installs the right way instead of curl.
|
|
1466
1487
|
...(comfyuiPath ? { COMFYUI_PATH: comfyuiPath } : forceRemoteEnv()),
|
|
1488
|
+
// Blind tab (issue #90): this tab's tool server withholds image pixels.
|
|
1489
|
+
...(panelTab && blindTabs.has(panelTab) ? { COMFYUI_MCP_BLIND: "1" } : {}),
|
|
1467
1490
|
}),
|
|
1468
1491
|
},
|
|
1469
1492
|
});
|
|
@@ -1481,6 +1504,10 @@ export async function runPanelOrchestrator() {
|
|
|
1481
1504
|
? createPanelMcpServer(bridge, panelTabOf(key), workflowTargets)
|
|
1482
1505
|
: undefined,
|
|
1483
1506
|
mcpServers: buildMcpServers(),
|
|
1507
|
+
// Per-KEY factory — the CLAUDE path's spawns must also reflect per-tab state
|
|
1508
|
+
// (the Blind gate); the static set above stays as the fallback. Codex-review
|
|
1509
|
+
// F1 on issue #90: without this, the default backend bypassed the gate.
|
|
1510
|
+
makeMcpServers: (key) => buildMcpServers(panelTabOf(key)),
|
|
1484
1511
|
// NOTE: manager callbacks fire with the composite agent key `tabId::backend`;
|
|
1485
1512
|
// panelTabOf() recovers the PANEL tab so every push reaches the right socket.
|
|
1486
1513
|
onSay: (key, text, meta) => {
|
|
@@ -1966,6 +1993,28 @@ export async function runPanelOrchestrator() {
|
|
|
1966
1993
|
headlessTabs.delete(migratedFrom);
|
|
1967
1994
|
workflowTargets.clear(migratedFrom);
|
|
1968
1995
|
}
|
|
1996
|
+
// Blind content mode rides the hello (issue #90) so the FIRST agent spawn
|
|
1997
|
+
// already carries the right tool-server env. A CHANGE against a live
|
|
1998
|
+
// agent also respawns it (codex-review F2: the set_content_mode frame is
|
|
1999
|
+
// lost when toggled during a socket drop — the re-hello is the recovery
|
|
2000
|
+
// path, so it must enforce, not just record). Runs AFTER the migrated_from
|
|
2001
|
+
// rebind so a simultaneous lost-toggle + tab-id migration still finds the
|
|
2002
|
+
// (rebound) live agent (review note). Absence = no-op (old panels
|
|
2003
|
+
// never send the field; it must not clear a prior state).
|
|
2004
|
+
{
|
|
2005
|
+
const helloBlind = event.blind;
|
|
2006
|
+
if (helloBlind === true || helloBlind === false) {
|
|
2007
|
+
const changed = helloBlind !== blindTabs.has(panelTab);
|
|
2008
|
+
if (helloBlind)
|
|
2009
|
+
blindTabs.add(panelTab);
|
|
2010
|
+
else
|
|
2011
|
+
blindTabs.delete(panelTab);
|
|
2012
|
+
if (changed && manager.hasLiveAgent(agentKeyFor(panelTab))) {
|
|
2013
|
+
manager.restartForMcpEnv(agentKeyFor(panelTab));
|
|
2014
|
+
logger.info(`[panel-orchestrator] tab ${panelTab.slice(0, 8)} blind=${String(helloBlind)} via hello — live agent respawn queued`);
|
|
2015
|
+
}
|
|
2016
|
+
}
|
|
2017
|
+
}
|
|
1969
2018
|
const prev = tabBackends.get(panelTab);
|
|
1970
2019
|
if (prev && prev !== backend) {
|
|
1971
2020
|
// Provider switch: retire the previous provider's agent for this tab so it
|
|
@@ -2549,6 +2598,32 @@ export async function runPanelOrchestrator() {
|
|
|
2549
2598
|
// reaches this handler); the ack echoes it verbatim (plus
|
|
2550
2599
|
// `requested_model`, the pre-guard id) so the client can resolve exactly
|
|
2551
2600
|
// the attempt each ack answers. See options-ack.ts.
|
|
2601
|
+
// Blind toggle (issue #90): record the tab's content mode and, when an
|
|
2602
|
+
// agent is live, respawn it at idle so the comfyui tool server restarts
|
|
2603
|
+
// with the new COMFYUI_MCP_BLIND env — the same coalesced restart path a
|
|
2604
|
+
// saved secret uses. The session resumes; only the tool subprocess env
|
|
2605
|
+
// changes.
|
|
2606
|
+
if (event.type === "set_content_mode" && event.tab_id) {
|
|
2607
|
+
const tabId = event.tab_id;
|
|
2608
|
+
const nextBlind = event.blind === true;
|
|
2609
|
+
const changed = nextBlind !== blindTabs.has(tabId);
|
|
2610
|
+
if (nextBlind)
|
|
2611
|
+
blindTabs.add(tabId);
|
|
2612
|
+
else
|
|
2613
|
+
blindTabs.delete(tabId);
|
|
2614
|
+
const key = agentKeyFor(tabId);
|
|
2615
|
+
if (changed && manager.hasLiveAgent(key)) {
|
|
2616
|
+
manager.restartForMcpEnv(key);
|
|
2617
|
+
bridge.push({
|
|
2618
|
+
type: "say",
|
|
2619
|
+
text: nextBlind
|
|
2620
|
+
? "🕶️ Blind mode ON — the agent's image tools now withhold pixels (applies after the current turn; the session resumes automatically)."
|
|
2621
|
+
: "👁️ Blind mode OFF — the agent's image tools deliver pixels again (applies after the current turn).",
|
|
2622
|
+
}, tabId);
|
|
2623
|
+
}
|
|
2624
|
+
bridge.push({ type: "ack", ok: true, kind: "set_content_mode", blind: nextBlind }, tabId);
|
|
2625
|
+
return;
|
|
2626
|
+
}
|
|
2552
2627
|
if (event.type === "set_options" && event.tab_id) {
|
|
2553
2628
|
const tabId = event.tab_id;
|
|
2554
2629
|
const meta = optionsRequestMeta(event);
|
|
@@ -2603,7 +2678,12 @@ export async function runPanelOrchestrator() {
|
|
|
2603
2678
|
logger.info(`[panel-orchestrator] tab ${event.tab_id.slice(0, 8)} run_error → agent (interrupt)`);
|
|
2604
2679
|
return;
|
|
2605
2680
|
}
|
|
2606
|
-
|
|
2681
|
+
// Blind tab (issue #90, codex-review F3): strip render pixels at the
|
|
2682
|
+
// SERVER boundary too — the desktop panel already drops them client-side,
|
|
2683
|
+
// but a mirror viewer (mobile has no Blind concept) can inject
|
|
2684
|
+
// agent_event frames with images onto a blinded desktop tab.
|
|
2685
|
+
const evForTab = blindTabs.has(event.tab_id) ? { ...ev, images: [] } : ev;
|
|
2686
|
+
const delivered = manager.injectEvent(agentKeyFor(event.tab_id), evForTab);
|
|
2607
2687
|
if (delivered) {
|
|
2608
2688
|
logger.info(`[panel-orchestrator] tab ${event.tab_id.slice(0, 8)} event → agent: ${event.kind}`);
|
|
2609
2689
|
}
|
|
@@ -2817,9 +2897,18 @@ export async function runPanelOrchestrator() {
|
|
|
2817
2897
|
: "";
|
|
2818
2898
|
if (replay)
|
|
2819
2899
|
outText = `${replay}\n\n${outText}`;
|
|
2900
|
+
// Blind tab (issue #90): the toggle promises the agent NEVER receives
|
|
2901
|
+
// pixels — that includes composer attachments. Withhold them with an
|
|
2902
|
+
// honest note (the user can toggle Blind off to share an image).
|
|
2903
|
+
const attachedImages = event
|
|
2904
|
+
.images;
|
|
2905
|
+
const tabIsBlind = blindTabs.has(event.tab_id);
|
|
2906
|
+
if (tabIsBlind && attachedImages?.length) {
|
|
2907
|
+
outText += `\n\n[panel note: ${attachedImages.length} image attachment(s) withheld — Blind mode is ON. You cannot see them; ask the user to describe the content or turn Blind off.]`;
|
|
2908
|
+
}
|
|
2820
2909
|
const sendOpts = {
|
|
2821
2910
|
title: event.title,
|
|
2822
|
-
images:
|
|
2911
|
+
images: tabIsBlind ? undefined : attachedImages,
|
|
2823
2912
|
mid: userMid,
|
|
2824
2913
|
};
|
|
2825
2914
|
// Local-agent VRAM pause: if this tab runs the local Ollama model AND a
|