comfyui-mcp 0.31.0 → 0.32.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/README.md +10 -2
- package/dist/config.js +27 -3
- package/dist/config.js.map +1 -1
- package/dist/orchestrator/agent-backend.js +7 -4
- package/dist/orchestrator/agent-backend.js.map +1 -1
- package/dist/orchestrator/codex-backend.js +67 -9
- package/dist/orchestrator/codex-backend.js.map +1 -1
- package/dist/orchestrator/index.js +52 -0
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/ollama-backend.js +149 -11
- package/dist/orchestrator/ollama-backend.js.map +1 -1
- package/dist/orchestrator/panel-agent.js +106 -5
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/services/ui-bridge.js +50 -0
- package/dist/services/ui-bridge.js.map +1 -1
- package/package.json +3 -2
|
@@ -43,6 +43,18 @@ function toOpenAiMessages(messages) {
|
|
|
43
43
|
if (m.role === "tool") {
|
|
44
44
|
return { role: "tool", tool_call_id: m.tool_call_id ?? "call_0", content: m.content };
|
|
45
45
|
}
|
|
46
|
+
if (m.role === "user" && m.images?.length) {
|
|
47
|
+
return {
|
|
48
|
+
role: "user",
|
|
49
|
+
content: [
|
|
50
|
+
{ type: "text", text: m.content },
|
|
51
|
+
...m.images.map((b64, i) => ({
|
|
52
|
+
type: "image_url",
|
|
53
|
+
image_url: { url: `data:${m.imageMimes?.[i] ?? "image/png"};base64,${b64}` },
|
|
54
|
+
})),
|
|
55
|
+
],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
46
58
|
return { role: m.role, content: m.content };
|
|
47
59
|
});
|
|
48
60
|
}
|
|
@@ -81,7 +93,7 @@ export const RECOMMENDED_OPENROUTER_MODELS = [
|
|
|
81
93
|
{ id: "minimax/minimax-m3", label: "MiniMax M3 (1M · SOTA · open)", context1m: true },
|
|
82
94
|
{ id: "moonshotai/kimi-k2.5", label: "Kimi K2.5 (SOTA · open)" },
|
|
83
95
|
{ id: "z-ai/glm-5.1", label: "GLM 5.1 (SOTA · open)" },
|
|
84
|
-
{ id: "deepseek/deepseek-
|
|
96
|
+
{ id: "deepseek/deepseek-v4-pro", label: "DeepSeek v4 Pro (open)" },
|
|
85
97
|
];
|
|
86
98
|
function msgOf(err) {
|
|
87
99
|
return err instanceof Error ? err.message : String(err);
|
|
@@ -160,6 +172,36 @@ export class OllamaBackend {
|
|
|
160
172
|
contextWindow() {
|
|
161
173
|
return this.effectiveNumCtx() || 65536;
|
|
162
174
|
}
|
|
175
|
+
/** Sampling options for /api/chat. The fine-tune tags bake `temperature 0`
|
|
176
|
+
* into their Modelfile — fully greedy decoding, which on a small model is
|
|
177
|
+
* the classic repetition-loop trap ("goes in circles" — Discord #help), and
|
|
178
|
+
* contradicts the Gemma team's recommended sampling (temp 1.0, top_k 64,
|
|
179
|
+
* top_p 0.95). Request options override the Modelfile, so we send explicit
|
|
180
|
+
* sampling for the fine-tune (env-overridable for experiments); stock
|
|
181
|
+
* models keep their own tuned defaults unless the env says otherwise. */
|
|
182
|
+
samplingOptions() {
|
|
183
|
+
const envNum = (name) => {
|
|
184
|
+
const raw = process.env[name];
|
|
185
|
+
if (raw === undefined || raw === "")
|
|
186
|
+
return null;
|
|
187
|
+
const n = Number(raw);
|
|
188
|
+
return Number.isFinite(n) ? n : null;
|
|
189
|
+
};
|
|
190
|
+
const t = envNum("COMFYUI_MCP_OLLAMA_TEMPERATURE");
|
|
191
|
+
const k = envNum("COMFYUI_MCP_OLLAMA_TOP_K");
|
|
192
|
+
const p = envNum("COMFYUI_MCP_OLLAMA_TOP_P");
|
|
193
|
+
const out = {};
|
|
194
|
+
if (t !== null)
|
|
195
|
+
out.temperature = t;
|
|
196
|
+
if (k !== null)
|
|
197
|
+
out.top_k = k;
|
|
198
|
+
if (p !== null)
|
|
199
|
+
out.top_p = p;
|
|
200
|
+
if (Object.keys(out).length)
|
|
201
|
+
return out;
|
|
202
|
+
// Fine-tune default: un-bake the Modelfile's temperature 0.
|
|
203
|
+
return this.isFinetune() ? { temperature: 1.0, top_k: 64, top_p: 0.95 } : {};
|
|
204
|
+
}
|
|
163
205
|
async prepare() {
|
|
164
206
|
if (this.disposed)
|
|
165
207
|
throw new Error("ollama backend is closed.");
|
|
@@ -418,7 +460,11 @@ export class OllamaBackend {
|
|
|
418
460
|
stream: true,
|
|
419
461
|
// See OllamaBackendDeps.numCtx: omit for our fine-tune so the
|
|
420
462
|
// tag's baked 65536 window governs instead of clamping it.
|
|
421
|
-
|
|
463
|
+
// samplingOptions un-bakes the fine-tune's Modelfile temp 0.
|
|
464
|
+
options: {
|
|
465
|
+
...(this.effectiveNumCtx() ? { num_ctx: this.effectiveNumCtx() } : {}),
|
|
466
|
+
...this.samplingOptions(),
|
|
467
|
+
},
|
|
422
468
|
}),
|
|
423
469
|
signal,
|
|
424
470
|
});
|
|
@@ -601,11 +647,68 @@ export class OllamaBackend {
|
|
|
601
647
|
yield* this.runTurn(turn, opts);
|
|
602
648
|
}
|
|
603
649
|
}
|
|
650
|
+
/** Fetch a ComfyUI image ref as raw base64 + mime, or null on any failure
|
|
651
|
+
* (mirrors ClaudeBackend.fetchImageBlock; the text reference still names the
|
|
652
|
+
* file as a fallback). */
|
|
653
|
+
async fetchImageB64(ref) {
|
|
654
|
+
if (!this.deps.comfyuiUrl || !ref?.filename)
|
|
655
|
+
return null;
|
|
656
|
+
try {
|
|
657
|
+
const u = new URL("/view", this.deps.comfyuiUrl);
|
|
658
|
+
u.searchParams.set("filename", ref.filename);
|
|
659
|
+
u.searchParams.set("type", ref.type || "input");
|
|
660
|
+
if (ref.subfolder)
|
|
661
|
+
u.searchParams.set("subfolder", ref.subfolder);
|
|
662
|
+
const res = await fetch(u, { signal: AbortSignal.timeout(15000) });
|
|
663
|
+
if (!res.ok) {
|
|
664
|
+
logger.warn(`[ollama-backend] image ref fetch failed (${ref.filename}): http ${res.status}`);
|
|
665
|
+
return null;
|
|
666
|
+
}
|
|
667
|
+
let mime = (res.headers.get("content-type") || "").split(";")[0].trim().toLowerCase();
|
|
668
|
+
if (!["image/png", "image/jpeg", "image/gif", "image/webp"].includes(mime))
|
|
669
|
+
mime = "image/png";
|
|
670
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
671
|
+
if (buf.length > 12 * 1024 * 1024) {
|
|
672
|
+
logger.warn(`[ollama-backend] image ref too large to inline (${ref.filename}: ${buf.length} bytes)`);
|
|
673
|
+
return null;
|
|
674
|
+
}
|
|
675
|
+
return { b64: buf.toString("base64"), mime };
|
|
676
|
+
}
|
|
677
|
+
catch (err) {
|
|
678
|
+
logger.warn(`[ollama-backend] image ref fetch failed (${ref?.filename ?? "?"}): ${msgOf(err)}`);
|
|
679
|
+
return null;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
/** Remove every inline image from history after an endpoint rejected image
|
|
683
|
+
* input, leaving an honest note in the affected user messages so the model
|
|
684
|
+
* never pretends it saw them. One-shot per turn (see runTurn). */
|
|
685
|
+
stripImagesFromHistory() {
|
|
686
|
+
for (const m of this.history) {
|
|
687
|
+
if (m.images?.length) {
|
|
688
|
+
delete m.images;
|
|
689
|
+
delete m.imageMimes;
|
|
690
|
+
m.content +=
|
|
691
|
+
"\n[note: the attached image(s) were removed — this model/endpoint rejected image input. You did NOT see them; tell the user so if it matters.]";
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
}
|
|
604
695
|
async *runTurn(turn, opts) {
|
|
605
696
|
const abort = new AbortController();
|
|
606
697
|
this.turnAbort = abort;
|
|
607
698
|
const tools = this.buildModelTools();
|
|
608
|
-
|
|
699
|
+
// Vision is a per-MODEL property (gemma4 sees images, qwen3 doesn't;
|
|
700
|
+
// DeepSeek's API rejects image parts outright), so ALWAYS attempt delivery:
|
|
701
|
+
// resolve the ComfyUI refs inline and let the strip-and-retry below handle
|
|
702
|
+
// endpoints that reject them.
|
|
703
|
+
const userMsg = { role: "user", content: turn.text };
|
|
704
|
+
if (turn.images?.length) {
|
|
705
|
+
const resolved = (await Promise.all(turn.images.slice(0, 4).map((r) => this.fetchImageB64(r)))).filter((r) => r !== null);
|
|
706
|
+
if (resolved.length) {
|
|
707
|
+
userMsg.images = resolved.map((r) => r.b64);
|
|
708
|
+
userMsg.imageMimes = resolved.map((r) => r.mime);
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
this.history.push(userMsg);
|
|
609
712
|
let resultEmitted = false;
|
|
610
713
|
// Loop-breaker: small models (especially stock ones) can wedge into
|
|
611
714
|
// re-issuing the SAME tool call verbatim for dozens of rounds (field:
|
|
@@ -626,6 +729,7 @@ export class OllamaBackend {
|
|
|
626
729
|
const DISCOVERY_TOOLS = new Set(["list_tools", "panel_list_tools", "search_models", "search_custom_nodes"]);
|
|
627
730
|
const discoveryCounts = new Map();
|
|
628
731
|
let emptyFinalRetried = false;
|
|
732
|
+
let imagesStripped = false;
|
|
629
733
|
try {
|
|
630
734
|
for (let round = 0; round < MAX_TOOL_ROUNDS; round++) {
|
|
631
735
|
// Drain the chat stream manually: yield each delta event as it arrives,
|
|
@@ -635,13 +739,34 @@ export class OllamaBackend {
|
|
|
635
739
|
let toolCalls = [];
|
|
636
740
|
let usage;
|
|
637
741
|
let streamId = null;
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
(
|
|
642
|
-
|
|
742
|
+
try {
|
|
743
|
+
for (;;) {
|
|
744
|
+
const r = await stream.next();
|
|
745
|
+
if (r.done) {
|
|
746
|
+
({ content, toolCalls, usage, streamId } = r.value);
|
|
747
|
+
break;
|
|
748
|
+
}
|
|
749
|
+
yield r.value;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
catch (err) {
|
|
753
|
+
// GRACEFUL IMAGE DEGRADATION: if the request carried inline images
|
|
754
|
+
// and the endpoint rejected it (text-only model — e.g. DeepSeek 400s
|
|
755
|
+
// on image parts; a non-vision Ollama model can error at prompt
|
|
756
|
+
// build), retry ONCE with the images stripped and an honest note in
|
|
757
|
+
// both directions. Any other failure re-throws to the normal handler.
|
|
758
|
+
if (!abort.signal.aborted && !imagesStripped && this.history.some((m) => m.images?.length)) {
|
|
759
|
+
imagesStripped = true;
|
|
760
|
+
logger.warn(`[ollama-backend] image input rejected (${msgOf(err).slice(0, 200)}) — retrying without images`);
|
|
761
|
+
this.stripImagesFromHistory();
|
|
762
|
+
yield {
|
|
763
|
+
type: "assistant",
|
|
764
|
+
text: `📎 ${this.model} rejected image input, so I'm continuing without the attachment — I can't see the image. Describe it in words, or switch to a vision-capable model.`,
|
|
765
|
+
};
|
|
766
|
+
round--; // the rejected request didn't count as a tool round
|
|
767
|
+
continue;
|
|
643
768
|
}
|
|
644
|
-
|
|
769
|
+
throw err;
|
|
645
770
|
}
|
|
646
771
|
if (!toolCalls.length) {
|
|
647
772
|
// EMPTY-FINAL recovery (live E2E, native dialect, temp 0): after a
|
|
@@ -782,7 +907,12 @@ export class OllamaBackend {
|
|
|
782
907
|
return;
|
|
783
908
|
try {
|
|
784
909
|
mkdirSync(dir, { recursive: true });
|
|
785
|
-
writeFileSync(join(dir, `${this.sessionId ?? "session"}.json`), JSON.stringify({
|
|
910
|
+
writeFileSync(join(dir, `${this.sessionId ?? "session"}.json`), JSON.stringify({
|
|
911
|
+
model: this.model,
|
|
912
|
+
// Inline image payloads are elided — a single screenshot would
|
|
913
|
+
// dwarf the whole conversation in the datagen transcript.
|
|
914
|
+
messages: this.history.map((m) => m.images?.length ? { ...m, images: m.images.map(() => "[inline image omitted]") } : m),
|
|
915
|
+
}, null, 2));
|
|
786
916
|
}
|
|
787
917
|
catch (err) {
|
|
788
918
|
logger.warn(`[ollama-backend] transcript dump failed: ${msgOf(err)}`);
|
|
@@ -813,7 +943,15 @@ export class OllamaBackend {
|
|
|
813
943
|
// bounded slice of the rest — OpenRouter's 300+ catalog isn't a browser.
|
|
814
944
|
const recommended = RECOMMENDED_OPENROUTER_MODELS.filter((m) => available.has(m.id));
|
|
815
945
|
const recIds = new Set(recommended.map((m) => m.id));
|
|
816
|
-
|
|
946
|
+
// Sort the overflow alphabetically so a vendor's models CLUSTER (all
|
|
947
|
+
// deepseek/* together, findable), and widen the cap — the old unsorted
|
|
948
|
+
// 40-slice made newer models effectively invisible ("the list is very
|
|
949
|
+
// old" — Discord #help: deepseek-v4-pro existed upstream but never
|
|
950
|
+
// showed because it sat past the cut in OpenRouter's arrival order).
|
|
951
|
+
const rest = ids
|
|
952
|
+
.filter((id) => id !== this.model && !recIds.has(id))
|
|
953
|
+
.sort((a, b) => a.localeCompare(b))
|
|
954
|
+
.slice(0, 150);
|
|
817
955
|
// llama-server reports its single model as the GGUF's FILE PATH —
|
|
818
956
|
// keep the id verbatim (the server echoes it) but label by basename
|
|
819
957
|
// so the picker isn't a wall of C:\...\model.gguf.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama-backend.js","sourceRoot":"","sources":["../../src/orchestrator/ollama-backend.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollama-backend.js","sourceRoot":"","sources":["../../src/orchestrator/ollama-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,10 @@ export class PanelAgent {
|
|
|
64
64
|
* session-restarting option change (effort) until the turn finishes, instead
|
|
65
65
|
* of interrupting and silently dropping the in-flight reply. */
|
|
66
66
|
busy = false;
|
|
67
|
+
/** True once THIS turn's failure has been surfaced to the user — set by the
|
|
68
|
+
* `error` event case so an error-subtype `result` right behind it doesn't
|
|
69
|
+
* paint a second failure line. Reset when a turn starts (busy = true). */
|
|
70
|
+
errorSurfaced = false;
|
|
67
71
|
// ---- turn idle watchdog (freeze safety net) ----
|
|
68
72
|
// A stalled turn (the backend stops emitting ANY events — e.g. a wedged Codex
|
|
69
73
|
// app-server) would otherwise leave the panel "working" forever. This is an
|
|
@@ -217,11 +221,19 @@ export class PanelAgent {
|
|
|
217
221
|
? `${note} `
|
|
218
222
|
: `A run on the user's canvas just finished and produced ${imgs.length} output image(s): ${names}. `) +
|
|
219
223
|
// Only claim images are attached when some actually are (a note-only event —
|
|
220
|
-
// e.g. a video that produced no storyboard — has none)
|
|
221
|
-
|
|
224
|
+
// e.g. a video that produced no storyboard — has none), and only when this
|
|
225
|
+
// backend can actually see them — a text-only backend told "attached below"
|
|
226
|
+
// would confabulate having viewed the render.
|
|
227
|
+
(imgs.length
|
|
228
|
+
? this.backend.capabilities.vision
|
|
229
|
+
? `The image(s) are attached below and already shown to the user in the panel. `
|
|
230
|
+
: `You cannot view images on this provider, but they are already shown to the user in the panel. `
|
|
231
|
+
: ``) +
|
|
222
232
|
`Reply with ONE short sentence acknowledging the result and suggesting a sensible next step — you do NOT need to call any tools. Don't repeat an earlier comment.`;
|
|
223
233
|
// Attach the outputs inline so the agent SEES the render (no fetch needed).
|
|
224
|
-
|
|
234
|
+
if (this.backend.capabilities.vision) {
|
|
235
|
+
images = imgs.filter((i) => i.filename).map((i) => ({ ...i, type: i.type ?? "output" }));
|
|
236
|
+
}
|
|
225
237
|
}
|
|
226
238
|
else if (ev.kind === "run_error") {
|
|
227
239
|
text =
|
|
@@ -470,8 +482,19 @@ export class PanelAgent {
|
|
|
470
482
|
if (it.mid)
|
|
471
483
|
this.deps.onSeen?.(this.tabId, it.mid);
|
|
472
484
|
}
|
|
473
|
-
|
|
474
|
-
|
|
485
|
+
let text = batch.map((it) => it.text).join("\n\n");
|
|
486
|
+
let images = batch.flatMap((it) => it.images ?? []);
|
|
487
|
+
if (images.length && !this.backend.capabilities.vision) {
|
|
488
|
+
// Text-only backend: every non-vision adapter silently ignores image
|
|
489
|
+
// refs, which reads to the user as "it ignored my screenshot". Say so
|
|
490
|
+
// visibly, and tell the MODEL too so it can't pretend it saw them.
|
|
491
|
+
this.deps.onSay(this.tabId, `📎 This provider is text-only, so I can't see the ${images.length > 1 ? "images" : "image"} you attached. ` +
|
|
492
|
+
`Describe what's in it, or switch to a vision-capable provider (Claude, Codex, or Gemini) and re-send.`);
|
|
493
|
+
text +=
|
|
494
|
+
`\n\n[panel note: the user attached ${images.length} image(s), but this provider is text-only and you CANNOT see them. ` +
|
|
495
|
+
`Do not claim or imply you saw them — if the content matters, ask the user to describe it or switch to a vision-capable provider.]`;
|
|
496
|
+
images = [];
|
|
497
|
+
}
|
|
475
498
|
if (this.closed)
|
|
476
499
|
return;
|
|
477
500
|
// Remember the in-flight turn's user text so an interrupt mid-reply can
|
|
@@ -482,6 +505,7 @@ export class PanelAgent {
|
|
|
482
505
|
// the watchdog's `busy` guard would be false for the exact zero-event freeze
|
|
483
506
|
// it's meant to catch, so onTurnStalled() would no-op. (handleEvent's later
|
|
484
507
|
// `busy = true` becomes a harmless no-op.) Also shows "working" immediately.
|
|
508
|
+
this.errorSurfaced = false; // fresh turn → its failure (if any) is unreported
|
|
485
509
|
this.busy = true;
|
|
486
510
|
this.deps.onTurn?.(this.tabId, "working");
|
|
487
511
|
// Arm the freeze watchdog AT DISPATCH: a turn that produces NO events at all
|
|
@@ -755,6 +779,19 @@ export class PanelAgent {
|
|
|
755
779
|
}
|
|
756
780
|
break;
|
|
757
781
|
}
|
|
782
|
+
case "error": {
|
|
783
|
+
// A backend-reported turn error (codex/gemini/grok emit these before
|
|
784
|
+
// their error result). Without this case the message fell through
|
|
785
|
+
// `default` and the user watched a turn end in TOTAL silence — the
|
|
786
|
+
// exact "three Hellos into the void" failure from the support thread.
|
|
787
|
+
// Surface it as a visible chat line; the follow-up `result` event still
|
|
788
|
+
// advances the turn gate normally.
|
|
789
|
+
const detail = typeof ev.message === "string" && ev.message.trim() ? ev.message.trim() : "unknown error";
|
|
790
|
+
this.errorSurfaced = true;
|
|
791
|
+
this.deps.onSay(this.tabId, `⚠️ The ${this.model} turn failed: ${detail}\n\nNothing was lost — try again, switch models from the composer picker, or check the terminal running the orchestrator for more detail.`);
|
|
792
|
+
logger.warn(`[panel-agent ${this.short()}] backend error: ${detail}`);
|
|
793
|
+
break;
|
|
794
|
+
}
|
|
758
795
|
case "result": {
|
|
759
796
|
// Cache the context window + cost from the result, then re-report using
|
|
760
797
|
// the last assistant usage (the true current context).
|
|
@@ -776,6 +813,15 @@ export class PanelAgent {
|
|
|
776
813
|
if (this.lastAssistantUuid)
|
|
777
814
|
this.deps.onTurnAnchor?.(this.tabId, this.lastAssistantUuid);
|
|
778
815
|
this.deps.onTurn?.(this.tabId, "done");
|
|
816
|
+
// Failed turn that never produced a visible error (the claude SDK path
|
|
817
|
+
// reports failures only via the result subtype; the `error` event case
|
|
818
|
+
// covers codex/gemini/grok) → say SOMETHING. A turn must never end in
|
|
819
|
+
// silence, error turns included.
|
|
820
|
+
if ((ev.ok === false || /error/i.test(ev.subtype ?? "")) && !this.errorSurfaced) {
|
|
821
|
+
this.errorSurfaced = true;
|
|
822
|
+
this.deps.onSay(this.tabId, `⚠️ That turn failed (${ev.subtype ?? "error"}) without a reply. ` +
|
|
823
|
+
`Nothing was lost — try again, switch models from the composer picker, or check the orchestrator terminal for detail.`);
|
|
824
|
+
}
|
|
779
825
|
logger.info(`[panel-agent ${this.short()}] turn done (subtype=${ev.subtype})`);
|
|
780
826
|
break;
|
|
781
827
|
}
|
|
@@ -1059,6 +1105,61 @@ export class PanelAgentManager {
|
|
|
1059
1105
|
return; // a live agent already owns the session
|
|
1060
1106
|
this.pendingResume.set(tabId, sessionId);
|
|
1061
1107
|
}
|
|
1108
|
+
/**
|
|
1109
|
+
* Rebind an agent from its current (stale) tabId to a new tabId — recovers
|
|
1110
|
+
* from a panel tab-id scheme migration (e.g. random UUID → deterministic
|
|
1111
|
+
* tmp:/wf: prefixed ids) without losing the conversation. The agent's panel
|
|
1112
|
+
* tools still carry the old tabId; the UiBridge's tabMigrations map (see
|
|
1113
|
+
* ui-bridge.ts resolveTarget) redirects those calls to the new connection.
|
|
1114
|
+
* Returns true if an agent was rebound.
|
|
1115
|
+
*/
|
|
1116
|
+
rebindAgent(oldKey, newKey) {
|
|
1117
|
+
if (oldKey === newKey)
|
|
1118
|
+
return false;
|
|
1119
|
+
if (this.agents.has(newKey))
|
|
1120
|
+
return false;
|
|
1121
|
+
// DURABLE state migrates even when no live agent exists (codex review:
|
|
1122
|
+
// the agent may have been reaped while its persisted session survives —
|
|
1123
|
+
// skipping this meant the rebound tab started a fresh conversation).
|
|
1124
|
+
const moveDurable = () => {
|
|
1125
|
+
if (this.pendingResume.has(oldKey)) {
|
|
1126
|
+
this.pendingResume.set(newKey, this.pendingResume.get(oldKey));
|
|
1127
|
+
this.pendingResume.delete(oldKey);
|
|
1128
|
+
}
|
|
1129
|
+
const persisted = this.opts.sessionStore?.get(oldKey);
|
|
1130
|
+
if (persisted)
|
|
1131
|
+
this.opts.sessionStore?.set(newKey, persisted);
|
|
1132
|
+
this.opts.sessionStore?.clear(oldKey);
|
|
1133
|
+
};
|
|
1134
|
+
const agent = this.agents.get(oldKey);
|
|
1135
|
+
if (!agent || agent.isStopped) {
|
|
1136
|
+
moveDurable();
|
|
1137
|
+
return false;
|
|
1138
|
+
}
|
|
1139
|
+
this.agents.delete(oldKey);
|
|
1140
|
+
this.agents.set(newKey, agent);
|
|
1141
|
+
// has()-based moves throughout (codex review): truthy checks dropped
|
|
1142
|
+
// legitimate null/undefined sentinels (e.g. restart-without-nudge, an
|
|
1143
|
+
// explicit effort-override clear).
|
|
1144
|
+
if (this.pendingEffortRestart.has(oldKey)) {
|
|
1145
|
+
this.pendingEffortRestart.delete(oldKey);
|
|
1146
|
+
this.pendingEffortRestart.add(newKey);
|
|
1147
|
+
}
|
|
1148
|
+
if (this.pendingMcpRestart.has(oldKey)) {
|
|
1149
|
+
this.pendingMcpRestart.set(newKey, this.pendingMcpRestart.get(oldKey));
|
|
1150
|
+
this.pendingMcpRestart.delete(oldKey);
|
|
1151
|
+
}
|
|
1152
|
+
if (this.modelByKey.has(oldKey)) {
|
|
1153
|
+
this.modelByKey.set(newKey, this.modelByKey.get(oldKey));
|
|
1154
|
+
this.modelByKey.delete(oldKey);
|
|
1155
|
+
}
|
|
1156
|
+
if (this.effortByKey.has(oldKey)) {
|
|
1157
|
+
this.effortByKey.set(newKey, this.effortByKey.get(oldKey));
|
|
1158
|
+
this.effortByKey.delete(oldKey);
|
|
1159
|
+
}
|
|
1160
|
+
moveDurable();
|
|
1161
|
+
return true;
|
|
1162
|
+
}
|
|
1062
1163
|
/** Route a panel message to its tab's agent, creating the agent if needed.
|
|
1063
1164
|
* Never routes into a stopped agent (whose channel is closed) — respawns so
|
|
1064
1165
|
* the message reaches a live session. */
|