comfyui-mcp 0.41.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/orchestrator/gemini-backend.js +109 -29
  2. package/dist/orchestrator/gemini-backend.js.map +1 -1
  3. package/dist/orchestrator/index.js +106 -5
  4. package/dist/orchestrator/index.js.map +1 -1
  5. package/dist/orchestrator/panel-agent.js +12 -1
  6. package/dist/orchestrator/panel-agent.js.map +1 -1
  7. package/dist/services/ai-toolkit.js +220 -0
  8. package/dist/services/ai-toolkit.js.map +1 -0
  9. package/dist/services/training-config.js +138 -0
  10. package/dist/services/training-config.js.map +1 -0
  11. package/dist/services/training-jobs.js +654 -0
  12. package/dist/services/training-jobs.js.map +1 -0
  13. package/dist/services/workflow-validator.js +4 -0
  14. package/dist/services/workflow-validator.js.map +1 -1
  15. package/dist/tools/diagnostics.js +120 -1
  16. package/dist/tools/diagnostics.js.map +1 -1
  17. package/dist/tools/index.js +63 -3
  18. package/dist/tools/index.js.map +1 -1
  19. package/dist/tools/train.js +187 -0
  20. package/dist/tools/train.js.map +1 -0
  21. package/docker/runpod/.gitattributes +8 -0
  22. package/docker/runpod/Dockerfile +486 -0
  23. package/docker/runpod/README.md +658 -0
  24. package/docker/runpod/config.ini +28 -0
  25. package/docker/runpod/deploy-dockerhub.sh +46 -0
  26. package/docker/runpod/extra_model_paths.yaml +61 -0
  27. package/docker/runpod/nginx.conf +124 -0
  28. package/docker/runpod/post_start.sh +619 -0
  29. package/docker/runpod/starting.html +47 -0
  30. package/docker/runpod/test_image.sh +180 -0
  31. package/docker/runpod/verify_image_remote.py +126 -0
  32. package/docker/trainer/Dockerfile +69 -0
  33. package/package.json +2 -1
  34. package/plugin/skills/train-character-lora/SKILL.md +83 -0
@@ -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 (NO API KEY — the CLI owns auth): Gemini CLI authenticates itself via
42
- // Google OAuth / Code Assist (the user runs `gemini` once to sign in). This
43
- // backend NEVER passes an API key; it just spawns the already-authenticated CLI.
44
- // If the CLI is signed out, `session/new` returns an `auth_required` error — we
45
- // attempt one `authenticate` with the first advertised auth method, then surface
46
- // a clear "run `gemini` and sign in" message (the OAuth browser flow itself is
47
- // owned by the CLI and cannot be completed headlessly).
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). gemini-2.5-pro is the default.
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-2.5-pro", label: "Gemini 2.5 Pro" },
353
- { id: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
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-2.5-pro";
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 first advertised method, then
548
- * retrying surfacing a clear sign-in message if it still fails. Returns the
549
- * session id. */
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
- try {
574
- this.sessionId = await createNew();
575
- }
576
- catch (err) {
577
- if (this.isAuthRequired(err) && this.authMethods[0]?.id) {
578
- // The CLI owns auth (Google OAuth). Try the first advertised method once;
579
- // if the CLI isn't already signed in this cannot complete headlessly.
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: this.authMethods[0].id });
582
- this.sessionId = await createNew();
603
+ await client.request("authenticate", { methodId: apiKeyMethod });
583
604
  }
584
- catch {
585
- throw new Error("Gemini CLI is not signed in. Run `gemini` once and complete the Google sign-in, then reconnect.");
605
+ catch (err) {
606
+ logger.warn(`[gemini-backend] proactive API-key authenticate failed (${msgOf(err)}) continuing to session/new`);
586
607
  }
587
608
  }
588
- else if (this.isAuthRequired(err)) {
589
- throw new Error("Gemini CLI is not signed in. Run `gemini` once and complete the Google sign-in, then reconnect.");
590
- }
591
- else {
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,23 @@ 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",
588
+ // Read-only training surface: flow/model discovery + progress polling +
589
+ // docker/GPU/image preflight for the panel/mobile Training tab.
590
+ "train_list_flows",
591
+ "train_status",
592
+ "train_doctor",
593
+ // User-initiated training ops (panel/mobile Training wizard): stage a dataset,
594
+ // launch a GPU-container training run, cancel one. All validation lives in the
595
+ // tools themselves (dataset checks, docker/image preflight, liveness-verified
596
+ // cancel); the whitelist only gates reachability.
597
+ "train_prepare_dataset",
598
+ "train_start",
599
+ "train_cancel",
580
600
  ]);
581
601
  /** Lazily build ONE in-process MCP client wired to the full comfyui tool surface,
582
602
  * reused across call_tool requests. Reuses the exact tool implementations (same
@@ -1161,6 +1181,12 @@ export async function runPanelOrchestrator() {
1161
1181
  // the same secrets — reach either provider.
1162
1182
  // A FUNCTION (not a frozen object) so it always reflects the CURRENT retargeted
1163
1183
  // comfyuiUrl/comfyuiPath — makeHttpBackendMcpServers calls it per (re)spawn.
1184
+ // Tabs whose panel Blind toggle is ON (issue #90): their comfyui tool-server
1185
+ // spawns get COMFYUI_MCP_BLIND=1 so image-returning tools withhold pixels
1186
+ // mechanically. Seeded from `blind` on hello; toggled live via the
1187
+ // set_content_mode frame (which respawns the tab's agent at idle so the new
1188
+ // env applies). Keyed by tab id (the spawn is per tab, not per backend).
1189
+ const blindTabs = new Set();
1164
1190
  const comfyuiBaseEnv = () => ({
1165
1191
  COMFYUI_URL: comfyuiUrl,
1166
1192
  COMFYUI_MCP_PROGRESS_DIR: progressDir,
@@ -1223,7 +1249,12 @@ export async function runPanelOrchestrator() {
1223
1249
  args: [mcpEntry], // dist/index.js
1224
1250
  // Merge persisted tool secrets at SPAWN time so a respawn picks up a
1225
1251
  // just-saved CIVITAI_API_TOKEN / HF_TOKEN without a process restart.
1226
- env: buildComfyuiMcpEnv(comfyuiBaseEnv()),
1252
+ // Blind tabs (issue #90) add COMFYUI_MCP_BLIND=1 so the tool server
1253
+ // withholds image pixels from the model.
1254
+ env: buildComfyuiMcpEnv({
1255
+ ...comfyuiBaseEnv(),
1256
+ ...(blindTabs.has(tabId) ? { COMFYUI_MCP_BLIND: "1" } : {}),
1257
+ }),
1227
1258
  },
1228
1259
  // Live-graph panel_* tools for THIS tab over the loopback HTTP MCP.
1229
1260
  ...(panelMcpHttp
@@ -1449,7 +1480,9 @@ export async function runPanelOrchestrator() {
1449
1480
  // (persisted by panel-secrets) lands in the comfyui server's spawn env. The
1450
1481
  // comfyui server is declared LAST so it always wins over any user entry that
1451
1482
  // slipped through (defensive — the reader already filters comfyui-mcp entries).
1452
- const buildMcpServers = () => ({
1483
+ // `panelTab` (when given) layers per-tab spawn env — the Blind content gate
1484
+ // (panel issue #90). The tab-less form remains for the static fallback.
1485
+ const buildMcpServers = (panelTab) => ({
1453
1486
  // The user's inherited servers first… (re-read so a panel_add_mcp is picked
1454
1487
  // up on the same in-process respawn, mirroring a soft reload).
1455
1488
  ...readUserMcpServers(),
@@ -1464,6 +1497,8 @@ export async function runPanelOrchestrator() {
1464
1497
  // Local mode → enables download_model, apply_manifest (installer packs),
1465
1498
  // and model scans so the agent installs the right way instead of curl.
1466
1499
  ...(comfyuiPath ? { COMFYUI_PATH: comfyuiPath } : forceRemoteEnv()),
1500
+ // Blind tab (issue #90): this tab's tool server withholds image pixels.
1501
+ ...(panelTab && blindTabs.has(panelTab) ? { COMFYUI_MCP_BLIND: "1" } : {}),
1467
1502
  }),
1468
1503
  },
1469
1504
  });
@@ -1481,6 +1516,10 @@ export async function runPanelOrchestrator() {
1481
1516
  ? createPanelMcpServer(bridge, panelTabOf(key), workflowTargets)
1482
1517
  : undefined,
1483
1518
  mcpServers: buildMcpServers(),
1519
+ // Per-KEY factory — the CLAUDE path's spawns must also reflect per-tab state
1520
+ // (the Blind gate); the static set above stays as the fallback. Codex-review
1521
+ // F1 on issue #90: without this, the default backend bypassed the gate.
1522
+ makeMcpServers: (key) => buildMcpServers(panelTabOf(key)),
1484
1523
  // NOTE: manager callbacks fire with the composite agent key `tabId::backend`;
1485
1524
  // panelTabOf() recovers the PANEL tab so every push reaches the right socket.
1486
1525
  onSay: (key, text, meta) => {
@@ -1966,6 +2005,28 @@ export async function runPanelOrchestrator() {
1966
2005
  headlessTabs.delete(migratedFrom);
1967
2006
  workflowTargets.clear(migratedFrom);
1968
2007
  }
2008
+ // Blind content mode rides the hello (issue #90) so the FIRST agent spawn
2009
+ // already carries the right tool-server env. A CHANGE against a live
2010
+ // agent also respawns it (codex-review F2: the set_content_mode frame is
2011
+ // lost when toggled during a socket drop — the re-hello is the recovery
2012
+ // path, so it must enforce, not just record). Runs AFTER the migrated_from
2013
+ // rebind so a simultaneous lost-toggle + tab-id migration still finds the
2014
+ // (rebound) live agent (review note). Absence = no-op (old panels
2015
+ // never send the field; it must not clear a prior state).
2016
+ {
2017
+ const helloBlind = event.blind;
2018
+ if (helloBlind === true || helloBlind === false) {
2019
+ const changed = helloBlind !== blindTabs.has(panelTab);
2020
+ if (helloBlind)
2021
+ blindTabs.add(panelTab);
2022
+ else
2023
+ blindTabs.delete(panelTab);
2024
+ if (changed && manager.hasLiveAgent(agentKeyFor(panelTab))) {
2025
+ manager.restartForMcpEnv(agentKeyFor(panelTab));
2026
+ logger.info(`[panel-orchestrator] tab ${panelTab.slice(0, 8)} blind=${String(helloBlind)} via hello — live agent respawn queued`);
2027
+ }
2028
+ }
2029
+ }
1969
2030
  const prev = tabBackends.get(panelTab);
1970
2031
  if (prev && prev !== backend) {
1971
2032
  // Provider switch: retire the previous provider's agent for this tab so it
@@ -2549,6 +2610,32 @@ export async function runPanelOrchestrator() {
2549
2610
  // reaches this handler); the ack echoes it verbatim (plus
2550
2611
  // `requested_model`, the pre-guard id) so the client can resolve exactly
2551
2612
  // the attempt each ack answers. See options-ack.ts.
2613
+ // Blind toggle (issue #90): record the tab's content mode and, when an
2614
+ // agent is live, respawn it at idle so the comfyui tool server restarts
2615
+ // with the new COMFYUI_MCP_BLIND env — the same coalesced restart path a
2616
+ // saved secret uses. The session resumes; only the tool subprocess env
2617
+ // changes.
2618
+ if (event.type === "set_content_mode" && event.tab_id) {
2619
+ const tabId = event.tab_id;
2620
+ const nextBlind = event.blind === true;
2621
+ const changed = nextBlind !== blindTabs.has(tabId);
2622
+ if (nextBlind)
2623
+ blindTabs.add(tabId);
2624
+ else
2625
+ blindTabs.delete(tabId);
2626
+ const key = agentKeyFor(tabId);
2627
+ if (changed && manager.hasLiveAgent(key)) {
2628
+ manager.restartForMcpEnv(key);
2629
+ bridge.push({
2630
+ type: "say",
2631
+ text: nextBlind
2632
+ ? "🕶️ Blind mode ON — the agent's image tools now withhold pixels (applies after the current turn; the session resumes automatically)."
2633
+ : "👁️ Blind mode OFF — the agent's image tools deliver pixels again (applies after the current turn).",
2634
+ }, tabId);
2635
+ }
2636
+ bridge.push({ type: "ack", ok: true, kind: "set_content_mode", blind: nextBlind }, tabId);
2637
+ return;
2638
+ }
2552
2639
  if (event.type === "set_options" && event.tab_id) {
2553
2640
  const tabId = event.tab_id;
2554
2641
  const meta = optionsRequestMeta(event);
@@ -2603,7 +2690,12 @@ export async function runPanelOrchestrator() {
2603
2690
  logger.info(`[panel-orchestrator] tab ${event.tab_id.slice(0, 8)} run_error → agent (interrupt)`);
2604
2691
  return;
2605
2692
  }
2606
- const delivered = manager.injectEvent(agentKeyFor(event.tab_id), ev);
2693
+ // Blind tab (issue #90, codex-review F3): strip render pixels at the
2694
+ // SERVER boundary too — the desktop panel already drops them client-side,
2695
+ // but a mirror viewer (mobile has no Blind concept) can inject
2696
+ // agent_event frames with images onto a blinded desktop tab.
2697
+ const evForTab = blindTabs.has(event.tab_id) ? { ...ev, images: [] } : ev;
2698
+ const delivered = manager.injectEvent(agentKeyFor(event.tab_id), evForTab);
2607
2699
  if (delivered) {
2608
2700
  logger.info(`[panel-orchestrator] tab ${event.tab_id.slice(0, 8)} event → agent: ${event.kind}`);
2609
2701
  }
@@ -2817,9 +2909,18 @@ export async function runPanelOrchestrator() {
2817
2909
  : "";
2818
2910
  if (replay)
2819
2911
  outText = `${replay}\n\n${outText}`;
2912
+ // Blind tab (issue #90): the toggle promises the agent NEVER receives
2913
+ // pixels — that includes composer attachments. Withhold them with an
2914
+ // honest note (the user can toggle Blind off to share an image).
2915
+ const attachedImages = event
2916
+ .images;
2917
+ const tabIsBlind = blindTabs.has(event.tab_id);
2918
+ if (tabIsBlind && attachedImages?.length) {
2919
+ 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.]`;
2920
+ }
2820
2921
  const sendOpts = {
2821
2922
  title: event.title,
2822
- images: event.images,
2923
+ images: tabIsBlind ? undefined : attachedImages,
2823
2924
  mid: userMid,
2824
2925
  };
2825
2926
  // Local-agent VRAM pause: if this tab runs the local Ollama model AND a