comfyui-mcp 0.52.0 → 0.52.2

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 (84) hide show
  1. package/README.md +0 -7
  2. package/dist/boot.js +41 -0
  3. package/dist/boot.js.map +1 -1
  4. package/dist/comfyui/client.js +6 -27
  5. package/dist/comfyui/client.js.map +1 -1
  6. package/dist/comfyui/cloud-client.js +9 -1
  7. package/dist/comfyui/cloud-client.js.map +1 -1
  8. package/dist/comfyui/upload-target.js +38 -0
  9. package/dist/comfyui/upload-target.js.map +1 -0
  10. package/dist/orchestrator/agent-backend.js.map +1 -1
  11. package/dist/orchestrator/blind-native-gate.js +138 -0
  12. package/dist/orchestrator/blind-native-gate.js.map +1 -0
  13. package/dist/orchestrator/claude-backend.js +172 -50
  14. package/dist/orchestrator/claude-backend.js.map +1 -1
  15. package/dist/orchestrator/codex-backend.js +67 -11
  16. package/dist/orchestrator/codex-backend.js.map +1 -1
  17. package/dist/orchestrator/grok-backend.js +24 -14
  18. package/dist/orchestrator/grok-backend.js.map +1 -1
  19. package/dist/orchestrator/index.js +23 -1
  20. package/dist/orchestrator/index.js.map +1 -1
  21. package/dist/orchestrator/mcp-session-health.js +88 -7
  22. package/dist/orchestrator/mcp-session-health.js.map +1 -1
  23. package/dist/orchestrator/panel-agent.js +159 -6
  24. package/dist/orchestrator/panel-agent.js.map +1 -1
  25. package/dist/orchestrator/panel-tools.js +62 -14
  26. package/dist/orchestrator/panel-tools.js.map +1 -1
  27. package/dist/orchestrator/preview-budget.js +41 -0
  28. package/dist/orchestrator/preview-budget.js.map +1 -0
  29. package/dist/orchestrator/session-store.js +43 -0
  30. package/dist/orchestrator/session-store.js.map +1 -1
  31. package/dist/orchestrator/turn-origins.js +68 -26
  32. package/dist/orchestrator/turn-origins.js.map +1 -1
  33. package/dist/services/download-cache.js +17 -4
  34. package/dist/services/download-cache.js.map +1 -1
  35. package/dist/services/download-jobs.js +136 -1
  36. package/dist/services/download-jobs.js.map +1 -1
  37. package/dist/services/extra-paths.js +57 -4
  38. package/dist/services/extra-paths.js.map +1 -1
  39. package/dist/services/image-management.js +9 -2
  40. package/dist/services/image-management.js.map +1 -1
  41. package/dist/services/listener-ownership.js +17 -5
  42. package/dist/services/listener-ownership.js.map +1 -1
  43. package/dist/services/model-resolver.js +106 -45
  44. package/dist/services/model-resolver.js.map +1 -1
  45. package/dist/services/node-management.js +85 -10
  46. package/dist/services/node-management.js.map +1 -1
  47. package/dist/services/process-control.js +110 -8
  48. package/dist/services/process-control.js.map +1 -1
  49. package/dist/services/queue-monitor.js +54 -7
  50. package/dist/services/queue-monitor.js.map +1 -1
  51. package/dist/services/queue-monitor.stall.test.js +86 -1
  52. package/dist/services/queue-monitor.stall.test.js.map +1 -1
  53. package/dist/services/registry-client.js +31 -18
  54. package/dist/services/registry-client.js.map +1 -1
  55. package/dist/services/ui-bridge.js +80 -0
  56. package/dist/services/ui-bridge.js.map +1 -1
  57. package/dist/services/workflow-settings-extractor.js +1 -1
  58. package/dist/services/workflow-settings-extractor.js.map +1 -1
  59. package/dist/tools/image-management.js +20 -6
  60. package/dist/tools/image-management.js.map +1 -1
  61. package/dist/tools/model-management.js +21 -2
  62. package/dist/tools/model-management.js.map +1 -1
  63. package/locales/ar/main.json +1 -0
  64. package/locales/en/main.json +1 -0
  65. package/locales/es/main.json +1 -0
  66. package/locales/fa/main.json +1 -0
  67. package/locales/fr/main.json +1 -0
  68. package/locales/ja/main.json +1 -0
  69. package/locales/ko/main.json +1 -0
  70. package/locales/pt-BR/main.json +1 -0
  71. package/locales/ru/main.json +1 -0
  72. package/locales/tr/main.json +1 -0
  73. package/locales/zh/main.json +1 -0
  74. package/locales/zh-TW/main.json +1 -0
  75. package/package.json +3 -5
  76. package/plugin/skills/model-registry/SKILL.md +1 -1
  77. package/scripts/check-docs-links.mjs +23 -0
  78. package/scripts/check-docs-mdx.mjs +71 -0
  79. package/scripts/smoke-install.mjs +10 -9
  80. package/dist/services/download-root-correspondence.js +0 -64
  81. package/dist/services/download-root-correspondence.js.map +0 -1
  82. package/model-settings.json +0 -509
  83. package/model-settings.user.jsonc.example +0 -97
  84. package/scripts/postinstall.mjs +0 -29
@@ -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
- /** Configured servers still CONNECTING in this session's `init` report (#1524).
389
- * Settled once, at the first turn end, by settlePendingMcpServers(). */
390
- pendingMcpServers = [];
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 deferred settle so both report identically. */
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
- * Settle the servers that were still connecting at `init` (#1524).
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
- * `init` is the only MCP report the session PUSHES, and server startup does not
402
- * block it — so a server that is `pending` there and FAILS a moment later would
403
- * otherwise never be mentioned anywhere, which is the same silence this change
404
- * exists to end, just moved a few hundred milliseconds later.
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
- * Re-read once per run, at the first turn end: by then a pending server has
407
- * settled, and a turn boundary needs no timer and cannot spam. A session that
408
- * never takes a turn is never re-read, which is the right trade — there is no
409
- * agent work to degrade.
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 by construction: `mcpServerStatus()` is an optional Query method
412
- * (a harness that lacks it, or a poll that throws, leaves the pending servers
413
- * unmentioned rather than guessed at).
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 settlePendingMcpServers() {
416
- const names = this.pendingMcpServers;
443
+ async checkMcpServers(q) {
444
+ const names = Object.keys(this.mcpServersForRun() ?? {});
417
445
  if (names.length === 0)
418
- return null;
419
- // Taking the names IS the once-only guard: the next turn end finds the list
420
- // empty and returns before the poll. A re-read on every turn would spend a
421
- // control round-trip per turn for a question that is already answered.
422
- this.pendingMcpServers = [];
423
- let reported;
424
- try {
425
- reported = await this.q?.mcpServerStatus?.();
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
- catch (err) {
428
- logger.debug(`[claude-backend] mcpServerStatus: ${msgOf(err)}`);
429
- return null;
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
- const { degraded } = inspectMcpServers(names, reported);
432
- if (!degraded.length)
433
- return null;
434
- this.reportDegradedMcp(degraded, reported, this.registrySessionId ?? "", "is running");
435
- return { type: "error", sessionNotice: true, message: degradedMcpNotice(degraded) };
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 pending set and its "already settled" mark must not
538
- // suppress the new session's report.
539
- this.pendingMcpServers = [];
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 — settle whatever was still CONNECTING at init, once, at the first
613
- // turn end. Placed here rather than in route() because it has to await a
614
- // control request, and after the turn's own events so a session notice
615
- // never interleaves into the middle of a reply.
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 settled = await this.settlePendingMcpServers();
618
- if (settled)
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 is not "fine" either: `init` is
784
- // the only report the session PUSHES, so a pending server that goes on
785
- // to fail would never be mentioned. Remember the names and settle them
786
- // at the first turn end (see settlePendingMcpServers).
787
- this.pendingMcpServers = health.pending;
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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"}
@@ -46,6 +46,7 @@ import { logger } from "../utils/logger.js";
46
46
  import { errorText, messageText, promptText } from "./error-text.js";
47
47
  import { buildAgentSpawnEnv } from "../services/panel-secrets.js";
48
48
  import { CODEX_CAPABILITIES, stampTurn, } from "./agent-backend.js";
49
+ import { MAX_SESSION_PREVIEW_BYTES, previewByteBudgetLabel } from "./preview-budget.js";
49
50
  function msgOf(err) {
50
51
  return errorText(err);
51
52
  }
@@ -614,6 +615,14 @@ export class CodexBackend {
614
615
  * Tracked so each turn cleans up its own files, and close() sweeps any
615
616
  * stragglers. */
616
617
  tempImageFiles = new Set();
618
+ /** #1516 — fetched bytes of AUTOMATIC previews delivered into the CURRENT
619
+ * thread (refs flagged `automatic`; user attachments never count). Codex
620
+ * persists every localImage as an inline input_image data URL and its
621
+ * compaction recopies them unboundedly, so this is the ledger the cumulative
622
+ * byte budget enforces against. Reset when the thread changes. */
623
+ previewBytes = 0;
624
+ /** The thread {@link previewBytes} belongs to (a fresh thread starts at 0). */
625
+ previewBytesThread = null;
617
626
  constructor(deps = {}) {
618
627
  this.deps = deps;
619
628
  this.model = deps.model;
@@ -670,12 +679,14 @@ export class CodexBackend {
670
679
  }
671
680
  /**
672
681
  * Fetch a ComfyUI image (/view) and spill the bytes to a temp file, returning
673
- * its absolute path — or null on any failure (the text reference still names the
674
- * image as a fallback). The app-server `turn/start` `localImage` input item takes
675
- * a FILE PATH (mirrors the codex CLI `-i, --image <FILE>`), so unlike Claude
676
- * (inline base64) we must write the bytes to disk. Mirrors
677
- * ClaudeBackend.fetchImageBlock's source/size guards. Each written path is
678
- * tracked in tempImageFiles for per-turn + close() cleanup.
682
+ * its absolute path and byte size — or null on any failure (the text reference
683
+ * still names the image as a fallback). The app-server `turn/start`
684
+ * `localImage` input item takes a FILE PATH (mirrors the codex CLI
685
+ * `-i, --image <FILE>`), so unlike Claude (inline base64) we must write the
686
+ * bytes to disk. Mirrors ClaudeBackend.fetchImageBlock's source/size guards.
687
+ * Each written path is tracked in tempImageFiles for per-turn + close()
688
+ * cleanup. The byte count rides along so the caller can charge the #1516
689
+ * cumulative preview ledger with the size that was ACTUALLY delivered.
679
690
  */
680
691
  async fetchImageFile(ref) {
681
692
  if (!this.deps.comfyuiUrl || !ref?.filename)
@@ -710,12 +721,18 @@ export class CodexBackend {
710
721
  const file = path.join(os.tmpdir(), `comfyui-codex-${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}${ext}`);
711
722
  await fsp.writeFile(file, buf);
712
723
  this.tempImageFiles.add(file);
713
- return file;
724
+ return { path: file, bytes: buf.length };
714
725
  }
715
726
  catch {
716
727
  return null;
717
728
  }
718
729
  }
730
+ /** #1516 — fetched bytes of AUTOMATIC previews delivered into the current
731
+ * thread, as the AgentBackend port exposes them: PanelAgent adds this to the
732
+ * durable pre-restart base when it checks the cumulative session budget. */
733
+ automaticPreviewBytes() {
734
+ return this.previewBytes;
735
+ }
719
736
  /**
720
737
  * How long a turn's localImage files survive after the turn ends (#1152).
721
738
  *
@@ -908,6 +925,13 @@ export class CodexBackend {
908
925
  this.needsSystemPreamble = !!this.deps.systemAppend;
909
926
  }
910
927
  // The thread id is our session id (PanelAgent persists it for resume).
928
+ // #1516 — the cumulative preview byte ledger is a property OF THE THREAD:
929
+ // a different conversation (fresh start, or a resume of another id after a
930
+ // fork) provably holds none of this process's earlier previews.
931
+ if (this.threadId !== this.previewBytesThread) {
932
+ this.previewBytesThread = this.threadId;
933
+ this.previewBytes = 0;
934
+ }
911
935
  yield {
912
936
  type: "session",
913
937
  sessionId: this.threadId,
@@ -1233,13 +1257,45 @@ export class CodexBackend {
1233
1257
  { type: "text", text: turnText, text_elements: [] },
1234
1258
  ];
1235
1259
  const turnTempFiles = [];
1260
+ // #1516 — the BYTE budget's point of fact. PanelAgent gates the cumulative
1261
+ // session budget when it COMPOSES the turn, but it cannot see the bytes of
1262
+ // the batch already in flight, so this loop is the backstop: an automatic
1263
+ // preview that would arrive past the conversation's cumulative byte budget
1264
+ // is NOT attached, and the turn text says so with fetchable coordinates —
1265
+ // the same correct-the-claim discipline as PanelAgent's drain trim, one
1266
+ // layer down where the real fetch sizes are known. A user's own attachment
1267
+ // (no `automatic` flag) is never touched by this budget.
1268
+ const byteWithheld = [];
1236
1269
  for (const ref of turn.images ?? []) {
1237
- const file = await this.fetchImageFile(ref);
1238
- if (file) {
1239
- turnTempFiles.push(file);
1240
- turnInput.push({ type: "localImage", path: file });
1270
+ if (ref?.automatic && this.previewBytes >= MAX_SESSION_PREVIEW_BYTES) {
1271
+ byteWithheld.push(ref);
1272
+ continue;
1273
+ }
1274
+ const got = await this.fetchImageFile(ref);
1275
+ if (got) {
1276
+ turnTempFiles.push(got.path);
1277
+ turnInput.push({ type: "localImage", path: got.path });
1278
+ if (ref.automatic)
1279
+ this.previewBytes += got.bytes;
1241
1280
  }
1242
1281
  }
1282
+ if (byteWithheld.length) {
1283
+ const refs = byteWithheld
1284
+ .map((i) => {
1285
+ const type = i.type ?? "output";
1286
+ const sub = i.subfolder ? `, subfolder:"${i.subfolder}"` : "";
1287
+ return type === "output" && !i.subfolder
1288
+ ? i.filename
1289
+ : `${i.filename} (type:"${type}"${sub})`;
1290
+ })
1291
+ .join(", ");
1292
+ turnInput[0].text +=
1293
+ `\n\n[panel note: ${byteWithheld.length} automatic preview image(s) named above were NOT attached to this turn: ` +
1294
+ `this conversation's cumulative automatic-preview byte budget (~${previewByteBudgetLabel()}) is spent — the bound that keeps a long session's rollout from growing without limit (every attached preview is retained inline and recopied at compaction). ` +
1295
+ `The outputs are already shown to the user in the panel — fetch one with get_image action:"get" if you need to look: ${refs}.]`;
1296
+ logger.info(`[codex] withheld ${byteWithheld.length} automatic preview image(s) at the cumulative byte budget ` +
1297
+ `(${this.previewBytes}/${MAX_SESSION_PREVIEW_BYTES} bytes delivered to this thread); the turn says so and names them (#1516)`);
1298
+ }
1243
1299
  try {
1244
1300
  // turn/start delivers the user text plus any resolved image input items.
1245
1301
  const turnModel = this.resolveTurnModel();