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.
- package/README.md +0 -7
- package/dist/boot.js +41 -0
- package/dist/boot.js.map +1 -1
- package/dist/comfyui/client.js +6 -27
- package/dist/comfyui/client.js.map +1 -1
- package/dist/comfyui/cloud-client.js +9 -1
- package/dist/comfyui/cloud-client.js.map +1 -1
- package/dist/comfyui/upload-target.js +38 -0
- package/dist/comfyui/upload-target.js.map +1 -0
- package/dist/orchestrator/agent-backend.js.map +1 -1
- 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/codex-backend.js +67 -11
- package/dist/orchestrator/codex-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 +159 -6
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/orchestrator/panel-tools.js +62 -14
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/orchestrator/preview-budget.js +41 -0
- package/dist/orchestrator/preview-budget.js.map +1 -0
- package/dist/orchestrator/session-store.js +43 -0
- package/dist/orchestrator/session-store.js.map +1 -1
- package/dist/orchestrator/turn-origins.js +68 -26
- package/dist/orchestrator/turn-origins.js.map +1 -1
- package/dist/services/download-cache.js +17 -4
- package/dist/services/download-cache.js.map +1 -1
- package/dist/services/download-jobs.js +136 -1
- package/dist/services/download-jobs.js.map +1 -1
- package/dist/services/extra-paths.js +57 -4
- package/dist/services/extra-paths.js.map +1 -1
- package/dist/services/image-management.js +9 -2
- package/dist/services/image-management.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 +106 -45
- 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/registry-client.js +31 -18
- package/dist/services/registry-client.js.map +1 -1
- package/dist/services/ui-bridge.js +80 -0
- package/dist/services/ui-bridge.js.map +1 -1
- package/dist/services/workflow-settings-extractor.js +1 -1
- package/dist/services/workflow-settings-extractor.js.map +1 -1
- package/dist/tools/image-management.js +20 -6
- package/dist/tools/image-management.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 +3 -5
- package/plugin/skills/model-registry/SKILL.md +1 -1
- package/scripts/check-docs-links.mjs +23 -0
- package/scripts/check-docs-mdx.mjs +71 -0
- package/scripts/smoke-install.mjs +10 -9
- package/dist/services/download-root-correspondence.js +0 -64
- package/dist/services/download-root-correspondence.js.map +0 -1
- package/model-settings.json +0 -509
- package/model-settings.user.jsonc.example +0 -97
- 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
|
-
/**
|
|
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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"}
|
|
@@ -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
|
|
674
|
-
* image as a fallback). The app-server `turn/start`
|
|
675
|
-
* a FILE PATH (mirrors the codex CLI
|
|
676
|
-
* (inline base64) we must write the
|
|
677
|
-
* ClaudeBackend.fetchImageBlock's source/size guards.
|
|
678
|
-
* tracked in tempImageFiles for per-turn + close()
|
|
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
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
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();
|