comfyui-mcp 0.36.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/index.js +27 -4
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/services/model-resolver.js +13 -0
- package/dist/services/model-resolver.js.map +1 -1
- package/dist/services/queue-monitor.js +80 -10
- package/dist/services/queue-monitor.js.map +1 -1
- package/dist/services/queue-status-broadcast.js +48 -0
- package/dist/services/queue-status-broadcast.js.map +1 -0
- package/dist/services/queue-status-broadcast.test.js +173 -0
- package/dist/services/queue-status-broadcast.test.js.map +1 -0
- package/dist/tools/model-management.js +7 -1
- package/dist/tools/model-management.js.map +1 -1
- package/package.json +1 -1
|
@@ -242,6 +242,19 @@ async function enrichWithCivitaiMetadata(models) {
|
|
|
242
242
|
if (typeof j.baseModel === "string" && j.baseModel) {
|
|
243
243
|
m.baseModel = j.baseModel;
|
|
244
244
|
}
|
|
245
|
+
// Provenance: prefer the sidecar's canonical sourceUrl; reconstruct it
|
|
246
|
+
// from the ids for older sidecars that predate sourceUrl. Both shapes
|
|
247
|
+
// exist in the wild: /models/<id>?modelVersionId=<vid> (model known)
|
|
248
|
+
// and /model-versions/<vid> (version-only downloads).
|
|
249
|
+
if (typeof j.sourceUrl === "string" && isCivitaiUrl(j.sourceUrl)) {
|
|
250
|
+
m.civitaiUrl = j.sourceUrl;
|
|
251
|
+
}
|
|
252
|
+
else if (typeof j.versionId === "number") {
|
|
253
|
+
m.civitaiUrl =
|
|
254
|
+
typeof j.modelId === "number"
|
|
255
|
+
? `https://civitai.com/models/${j.modelId}?modelVersionId=${j.versionId}`
|
|
256
|
+
: `https://civitai.com/model-versions/${j.versionId}`;
|
|
257
|
+
}
|
|
245
258
|
}
|
|
246
259
|
catch {
|
|
247
260
|
// No sidecar (or unreadable) — leave the model un-enriched.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../../src/services/model-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model-resolver.js","sourceRoot":"","sources":["../../src/services/model-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,12 @@
|
|
|
7
7
|
// once let the agent stack three more behind it before anyone noticed.
|
|
8
8
|
//
|
|
9
9
|
// This service opens its OWN lightweight WebSocket to COMFYUI_URL. ComfyUI
|
|
10
|
-
// broadcasts
|
|
11
|
-
//
|
|
12
|
-
//
|
|
10
|
+
// broadcasts `status`, `progress`, and `progress_state` to every connected
|
|
11
|
+
// client, so we receive the live stream for ANY job — including the
|
|
12
|
+
// browser-queued ones — without touching the panel or the agent subprocess.
|
|
13
|
+
// (The legacy execution_start / executing / execution_* events are sid-scoped
|
|
14
|
+
// to the QUEUING client on modern ComfyUI — verified live on 0.28 — so the
|
|
15
|
+
// handlers below also derive the run state from the broadcast-safe frames.)
|
|
13
16
|
// It holds the last-known run state and derives a stall/backlog report the
|
|
14
17
|
// orchestrator surfaces to the agent as a turn-start note (the same channel as
|
|
15
18
|
// the crash-dump injector).
|
|
@@ -41,10 +44,15 @@ class QueueMonitorImpl {
|
|
|
41
44
|
queueRemaining: 0,
|
|
42
45
|
lastActivityTs: null,
|
|
43
46
|
};
|
|
44
|
-
/** Open the watchdog WS to ComfyUI. Idempotent; best-effort (never
|
|
47
|
+
/** Open the watchdog WS to ComfyUI. Idempotent per-URL; best-effort (never
|
|
48
|
+
* throws). A retarget (new URL) or a prior stop() must re-open the socket:
|
|
49
|
+
* the orchestrator calls stop()+start(newUrl) when ComfyUI is retargeted
|
|
50
|
+
* (e.g. 127.0.0.1→localhost from a panel hello), so a stale `this.url` must
|
|
51
|
+
* NOT early-return — that left the watchdog permanently disconnected. */
|
|
45
52
|
start(comfyuiUrl) {
|
|
46
|
-
if (this.url)
|
|
47
|
-
return; // already
|
|
53
|
+
if (this.url === comfyuiUrl && !this.stopped)
|
|
54
|
+
return; // already live on this URL
|
|
55
|
+
this.stop(); // tear down any prior socket/reconnect timer (also on URL change)
|
|
48
56
|
this.url = comfyuiUrl;
|
|
49
57
|
this.stopped = false;
|
|
50
58
|
this.connect();
|
|
@@ -100,6 +108,11 @@ class QueueMonitorImpl {
|
|
|
100
108
|
/* ignore */
|
|
101
109
|
}
|
|
102
110
|
this.ws = null;
|
|
111
|
+
// Clear the flag here rather than relying on the old socket's `close`: once
|
|
112
|
+
// we null `this.ws`, that socket's now-superseded close handler early-returns
|
|
113
|
+
// (this.ws !== ws) and would otherwise leave `connected` stuck true — through
|
|
114
|
+
// a retarget's stop()+start() gap, or indefinitely if the reconnect fails.
|
|
115
|
+
this.state.connected = false;
|
|
103
116
|
}
|
|
104
117
|
wsUrl() {
|
|
105
118
|
// http(s)://host:port → ws(s)://host:port/ws?clientId=...
|
|
@@ -119,16 +132,26 @@ class QueueMonitorImpl {
|
|
|
119
132
|
return;
|
|
120
133
|
}
|
|
121
134
|
this.ws = ws;
|
|
135
|
+
// Guard every handler against a superseded socket: on retarget, stop()+start()
|
|
136
|
+
// opens a new socket while the old one is still async-closing. Without the
|
|
137
|
+
// `this.ws !== ws` check the old socket's late `close` would null out the NEW
|
|
138
|
+
// socket and schedule a spurious reconnect.
|
|
122
139
|
ws.on("open", () => {
|
|
140
|
+
if (this.ws !== ws)
|
|
141
|
+
return;
|
|
123
142
|
this.state.connected = true;
|
|
124
143
|
logger.debug("[queue-monitor] watchdog WS connected");
|
|
125
144
|
});
|
|
126
145
|
ws.on("message", (raw, isBinary) => {
|
|
146
|
+
if (this.ws !== ws)
|
|
147
|
+
return;
|
|
127
148
|
if (isBinary)
|
|
128
149
|
return; // preview image frames — ignore
|
|
129
150
|
this.onMessage(raw.toString());
|
|
130
151
|
});
|
|
131
152
|
ws.on("close", () => {
|
|
153
|
+
if (this.ws !== ws)
|
|
154
|
+
return; // a superseded socket closing — ignore
|
|
132
155
|
this.state.connected = false;
|
|
133
156
|
this.ws = null;
|
|
134
157
|
this.scheduleReconnect();
|
|
@@ -156,6 +179,16 @@ class QueueMonitorImpl {
|
|
|
156
179
|
touchActivity() {
|
|
157
180
|
this.state.lastActivityTs = Date.now();
|
|
158
181
|
}
|
|
182
|
+
/** Adopt [promptId] as the running prompt when it's new — the broadcast-safe
|
|
183
|
+
* substitute for the sid-scoped execution_start this client never receives
|
|
184
|
+
* on modern ComfyUI. Fires the start transition exactly once per run. */
|
|
185
|
+
adoptRunningPrompt(promptId) {
|
|
186
|
+
if (typeof promptId !== "string" || promptId === this.state.runningPromptId)
|
|
187
|
+
return;
|
|
188
|
+
this.state.runningPromptId = promptId;
|
|
189
|
+
this.touchActivity();
|
|
190
|
+
this.emitStart();
|
|
191
|
+
}
|
|
159
192
|
clearRunning() {
|
|
160
193
|
this.state.runningPromptId = null;
|
|
161
194
|
this.state.currentNode = null;
|
|
@@ -179,10 +212,16 @@ class QueueMonitorImpl {
|
|
|
179
212
|
const qr = execInfo?.queue_remaining;
|
|
180
213
|
if (typeof qr === "number") {
|
|
181
214
|
this.state.queueRemaining = qr;
|
|
182
|
-
// A status frame
|
|
183
|
-
//
|
|
184
|
-
|
|
215
|
+
// A status frame with an empty queue is ComfyUI's authoritative
|
|
216
|
+
// "fully idle" signal. On modern ComfyUI (0.2x) the sid-scoped
|
|
217
|
+
// executing/execution_success events never reach this passive
|
|
218
|
+
// watchdog (see the progress_state case), so a run learned from
|
|
219
|
+
// progress frames would otherwise never clear — drain it here.
|
|
220
|
+
if (qr === 0) {
|
|
221
|
+
if (this.state.runningPromptId !== null)
|
|
222
|
+
this.clearRunning();
|
|
185
223
|
this.emitEndIfIdle();
|
|
224
|
+
}
|
|
186
225
|
}
|
|
187
226
|
break;
|
|
188
227
|
}
|
|
@@ -223,6 +262,33 @@ class QueueMonitorImpl {
|
|
|
223
262
|
this.state.progressMax = max;
|
|
224
263
|
if (typeof data.node === "string")
|
|
225
264
|
this.state.currentNode = data.node;
|
|
265
|
+
// progress IS broadcast to every client and carries the prompt_id —
|
|
266
|
+
// adopt it, since the sid-scoped execution_start may never have arrived
|
|
267
|
+
// (see the progress_state case below).
|
|
268
|
+
this.adoptRunningPrompt(data.prompt_id);
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
case "progress_state": {
|
|
272
|
+
// Modern ComfyUI (verified live on 0.28): execution_start / executing /
|
|
273
|
+
// execution_success are sent ONLY to the client that queued the prompt,
|
|
274
|
+
// so this passive watchdog never sees them — but progress_state IS
|
|
275
|
+
// broadcast, fires from the first node on, and names the running
|
|
276
|
+
// prompt + node. Derive the run state from it so browser-/agent-queued
|
|
277
|
+
// renders stay visible here (running flag, prompt_id, current node).
|
|
278
|
+
this.adoptRunningPrompt(data.prompt_id);
|
|
279
|
+
const nodes = data.nodes;
|
|
280
|
+
if (nodes && typeof nodes === "object") {
|
|
281
|
+
for (const entry of Object.values(nodes)) {
|
|
282
|
+
if (!entry || typeof entry !== "object")
|
|
283
|
+
continue;
|
|
284
|
+
const n = entry;
|
|
285
|
+
if (n.state === "running" && typeof n.node_id === "string") {
|
|
286
|
+
if (n.node_id !== this.state.currentNode)
|
|
287
|
+
this.touchActivity(); // node advanced
|
|
288
|
+
this.state.currentNode = n.node_id;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
226
292
|
break;
|
|
227
293
|
}
|
|
228
294
|
case "execution_success":
|
|
@@ -236,13 +302,17 @@ class QueueMonitorImpl {
|
|
|
236
302
|
break;
|
|
237
303
|
}
|
|
238
304
|
}
|
|
239
|
-
/** Cheap snapshot for backpressure (panel_run)
|
|
305
|
+
/** Cheap snapshot for backpressure (panel_run) and the live `queue_status`
|
|
306
|
+
* broadcast (queue-status-broadcast.ts): is anything in flight, and where? */
|
|
240
307
|
snapshot() {
|
|
241
308
|
return {
|
|
242
309
|
connected: this.state.connected,
|
|
243
310
|
running: this.state.runningPromptId !== null,
|
|
244
311
|
runningPromptId: this.state.runningPromptId,
|
|
245
312
|
queueDepth: Math.max(0, this.state.queueRemaining),
|
|
313
|
+
currentNode: this.state.currentNode,
|
|
314
|
+
progressValue: this.state.progressValue,
|
|
315
|
+
progressMax: this.state.progressMax,
|
|
246
316
|
};
|
|
247
317
|
}
|
|
248
318
|
/** Stall/backlog report for the turn-start injector. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-monitor.js","sourceRoot":"","sources":["../../src/services/queue-monitor.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,uEAAuE;AACvE,EAAE;AACF,2EAA2E;AAC3E
|
|
1
|
+
{"version":3,"file":"queue-monitor.js","sourceRoot":"","sources":["../../src/services/queue-monitor.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,gFAAgF;AAChF,kFAAkF;AAClF,iFAAiF;AACjF,iFAAiF;AACjF,uEAAuE;AACvE,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,oEAAoE;AACpE,4EAA4E;AAC5E,8EAA8E;AAC9E,2EAA2E;AAC3E,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,4BAA4B;AAC5B,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,4BAA4B;AAE5B,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA6C5C,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,MAAM,gBAAgB;IACZ,EAAE,GAAqB,IAAI,CAAC;IAC5B,GAAG,GAAkB,IAAI,CAAC;IAC1B,OAAO,GAAG,KAAK,CAAC;IAChB,cAAc,GAAyC,IAAI,CAAC;IACpE,8EAA8E;IAC9E,2EAA2E;IAC3E,+EAA+E;IAC/E,+EAA+E;IACvE,IAAI,GAAG,KAAK,CAAC;IACb,UAAU,GAAwB,IAAI,CAAC;IACvC,QAAQ,GAAwB,IAAI,CAAC;IACrC,KAAK,GAAiB;QAC5B,SAAS,EAAE,KAAK;QAChB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,IAAI;KACrB,CAAC;IAEF;;;;8EAI0E;IAC1E,KAAK,CAAC,UAAkB;QACtB,IAAI,IAAI,CAAC,GAAG,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,2BAA2B;QACjF,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,kEAAkE;QAC/E,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;iFAC6E;IAC7E,qBAAqB,CAAC,CAAqD;QACzE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC;IACrC,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,6EAA6E;QAC7E,6EAA6E;QAC7E,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI;YAAE,OAAO;QAChD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC;YAAE,OAAO;QAC1C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc;YAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,4EAA4E;QAC5E,8EAA8E;QAC9E,8EAA8E;QAC9E,2EAA2E;QAC3E,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IAC/B,CAAC;IAEO,KAAK;QACX,4DAA4D;QAC5D,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9F,OAAO,GAAG,IAAI,mCAAmC,CAAC;IACpD,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,EAAa,CAAC;QAClB,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,+EAA+E;QAC/E,2EAA2E;QAC3E,8EAA8E;QAC9E,4CAA4C;QAC5C,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACjB,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;gBAAE,OAAO;YAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAsB,EAAE,QAAiB,EAAE,EAAE;YAC7D,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;gBAAE,OAAO;YAC3B,IAAI,QAAQ;gBAAE,OAAO,CAAC,gCAAgC;YACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE;gBAAE,OAAO,CAAC,uCAAuC;YACnE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;YAC7B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,2CAA2C;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB;QACvB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO;QAChD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,YAAY,CAAC,CAAC;QACjB,kEAAkE;QAClE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC;IAChC,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IAED;;8EAE0E;IAClE,kBAAkB,CAAC,QAAiB;QAC1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe;YAAE,OAAO;QACpF,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;QACtC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IACnC,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,IAAI,GAAsD,CAAC;QAC3D,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;QACzD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,IAAI,CAAC,MAA6C,CAAC;gBAClE,MAAM,QAAQ,GAAG,MAAM,EAAE,SAAgD,CAAC;gBAC1E,MAAM,EAAE,GAAG,QAAQ,EAAE,eAAe,CAAC;gBACrC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;oBAC/B,gEAAgE;oBAChE,+DAA+D;oBAC/D,8DAA8D;oBAC9D,gEAAgE;oBAChE,+DAA+D;oBAC/D,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;wBACb,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI;4BAAE,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxF,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACxC,8DAA8D;oBAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW;wBAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,6BAA6B;oBACrF,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;oBAC3B,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;wBAAE,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;gBACtF,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3D,yEAAyE;gBACzE,0DAA0D;gBAC1D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa;oBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/E,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;gBAC7B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtE,oEAAoE;gBACpE,wEAAwE;gBACxE,uCAAuC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,wEAAwE;gBACxE,wEAAwE;gBACxE,mEAAmE;gBACnE,iEAAiE;gBACjE,uEAAuE;gBACvE,qEAAqE;gBACrE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC,EAAE,CAAC;wBACpE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;4BAAE,SAAS;wBAClD,MAAM,CAAC,GAAG,KAA+C,CAAC;wBAC1D,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAC3D,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW;gCAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,gBAAgB;4BAChF,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,mBAAmB,CAAC;YACzB,KAAK,iBAAiB,CAAC;YACvB,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,MAAM;YACR,CAAC;YACD;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED;mFAC+E;IAC/E,QAAQ;QACN,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI;YAC5C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAClD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YACnC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACvC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;SACpC,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,MAAM,CAAC,OAAe;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC;QAC9C,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI;YAClE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACzD,CAAC,CAAC,IAAI,CAAC;QACX,OAAO;YACL,OAAO;YACP,OAAO,EAAE,UAAU,GAAG,CAAC;YACvB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YACnC,UAAU;YACV,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnC,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// Live queue-status fan-out for panel/mobile tabs.
|
|
2
|
+
//
|
|
3
|
+
// The QueueMonitor watchdog (queue-monitor.ts) already tracks ComfyUI's live
|
|
4
|
+
// execution state — for EVERY job, including browser-queued ones — but until
|
|
5
|
+
// now that state never left the orchestrator process. This module turns its
|
|
6
|
+
// snapshot into a `queue_status` bridge frame so a connected tab (the mobile
|
|
7
|
+
// app's live queue monitor) can show queue depth + render progress in real
|
|
8
|
+
// time.
|
|
9
|
+
//
|
|
10
|
+
// Throttle contract: the orchestrator ticks the broadcaster on a 1-second
|
|
11
|
+
// interval, and `tick()` pushes ONLY when the frame differs from the last one
|
|
12
|
+
// sent. An idle rig therefore broadcasts nothing at all, and a running render
|
|
13
|
+
// costs at most one frame per second.
|
|
14
|
+
/** Build the broadcast frame for one monitor snapshot. */
|
|
15
|
+
export function buildQueueStatusFrame(s) {
|
|
16
|
+
return {
|
|
17
|
+
type: "queue_status",
|
|
18
|
+
connected: s.connected,
|
|
19
|
+
running: s.running,
|
|
20
|
+
queue_depth: s.queueDepth,
|
|
21
|
+
prompt_id: s.runningPromptId,
|
|
22
|
+
node: s.currentNode,
|
|
23
|
+
progress_value: s.progressValue,
|
|
24
|
+
progress_max: s.progressMax,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Wire a snapshot source to a push sink with change-only semantics. The sink
|
|
29
|
+
* is the bridge's broadcast push; it must never throw into the timer (the
|
|
30
|
+
* bridge's own push already guarantees that, see ui-bridge.ts).
|
|
31
|
+
*/
|
|
32
|
+
export function createQueueStatusBroadcaster(snapshot, push) {
|
|
33
|
+
let last = "";
|
|
34
|
+
return {
|
|
35
|
+
tick() {
|
|
36
|
+
const frame = buildQueueStatusFrame(snapshot());
|
|
37
|
+
const key = JSON.stringify(frame);
|
|
38
|
+
if (key === last)
|
|
39
|
+
return;
|
|
40
|
+
last = key;
|
|
41
|
+
push(frame);
|
|
42
|
+
},
|
|
43
|
+
current() {
|
|
44
|
+
return buildQueueStatusFrame(snapshot());
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=queue-status-broadcast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-status-broadcast.js","sourceRoot":"","sources":["../../src/services/queue-status-broadcast.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,QAAQ;AACR,EAAE;AACF,0EAA0E;AAC1E,8EAA8E;AAC9E,8EAA8E;AAC9E,sCAAsC;AAsBtC,0DAA0D;AAC1D,MAAM,UAAU,qBAAqB,CAAC,CAAgB;IACpD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,WAAW,EAAE,CAAC,CAAC,UAAU;QACzB,SAAS,EAAE,CAAC,CAAC,eAAe;QAC5B,IAAI,EAAE,CAAC,CAAC,WAAW;QACnB,cAAc,EAAE,CAAC,CAAC,aAAa;QAC/B,YAAY,EAAE,CAAC,CAAC,WAAW;KAC5B,CAAC;AACJ,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA6B,EAC7B,IAAuC;IAEvC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,OAAO;QACL,IAAI;YACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAO;YACzB,IAAI,GAAG,GAAG,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// queue-status-broadcast.test.ts — the live `queue_status` bridge frame and its
|
|
2
|
+
// change-only throttle (the mobile app's live queue monitor rides on this).
|
|
3
|
+
// Contract under test:
|
|
4
|
+
// • buildQueueStatusFrame maps a QueueMonitor snapshot 1:1 onto the wire shape;
|
|
5
|
+
// • tick() pushes ONLY when the frame differs from the last one pushed — an
|
|
6
|
+
// idle rig broadcasts nothing, a running render costs ≤ 1 frame per tick;
|
|
7
|
+
// • current() always returns the live frame (the on-hello seed for a tab that
|
|
8
|
+
// connects mid-render).
|
|
9
|
+
import { describe, expect, it } from "vitest";
|
|
10
|
+
import { buildQueueStatusFrame, createQueueStatusBroadcaster, } from "./queue-status-broadcast.js";
|
|
11
|
+
const idle = () => ({
|
|
12
|
+
connected: true,
|
|
13
|
+
running: false,
|
|
14
|
+
runningPromptId: null,
|
|
15
|
+
queueDepth: 0,
|
|
16
|
+
currentNode: null,
|
|
17
|
+
progressValue: null,
|
|
18
|
+
progressMax: null,
|
|
19
|
+
});
|
|
20
|
+
const running = (progress) => ({
|
|
21
|
+
connected: true,
|
|
22
|
+
running: true,
|
|
23
|
+
runningPromptId: "p-123",
|
|
24
|
+
queueDepth: 2,
|
|
25
|
+
currentNode: "3",
|
|
26
|
+
progressValue: progress,
|
|
27
|
+
progressMax: 20,
|
|
28
|
+
});
|
|
29
|
+
describe("buildQueueStatusFrame", () => {
|
|
30
|
+
it("maps a running snapshot onto the wire shape", () => {
|
|
31
|
+
expect(buildQueueStatusFrame(running(7))).toEqual({
|
|
32
|
+
type: "queue_status",
|
|
33
|
+
connected: true,
|
|
34
|
+
running: true,
|
|
35
|
+
queue_depth: 2,
|
|
36
|
+
prompt_id: "p-123",
|
|
37
|
+
node: "3",
|
|
38
|
+
progress_value: 7,
|
|
39
|
+
progress_max: 20,
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
it("maps an idle snapshot with nulls, not zeros", () => {
|
|
43
|
+
const f = buildQueueStatusFrame(idle());
|
|
44
|
+
expect(f.running).toBe(false);
|
|
45
|
+
expect(f.queue_depth).toBe(0);
|
|
46
|
+
expect(f.prompt_id).toBeNull();
|
|
47
|
+
expect(f.node).toBeNull();
|
|
48
|
+
expect(f.progress_value).toBeNull();
|
|
49
|
+
expect(f.progress_max).toBeNull();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
describe("createQueueStatusBroadcaster", () => {
|
|
53
|
+
it("pushes the first frame, then stays silent while nothing changes", () => {
|
|
54
|
+
let snap = idle();
|
|
55
|
+
const pushed = [];
|
|
56
|
+
const b = createQueueStatusBroadcaster(() => snap, (f) => pushed.push(f));
|
|
57
|
+
b.tick();
|
|
58
|
+
expect(pushed).toHaveLength(1); // first observation always goes out
|
|
59
|
+
b.tick();
|
|
60
|
+
b.tick();
|
|
61
|
+
b.tick();
|
|
62
|
+
expect(pushed).toHaveLength(1); // idle rig: zero further frames
|
|
63
|
+
snap = running(0);
|
|
64
|
+
b.tick();
|
|
65
|
+
expect(pushed).toHaveLength(2);
|
|
66
|
+
expect(pushed[1].running).toBe(true);
|
|
67
|
+
expect(pushed[1].prompt_id).toBe("p-123");
|
|
68
|
+
});
|
|
69
|
+
it("pushes once per progress change, not per tick", () => {
|
|
70
|
+
let snap = running(5);
|
|
71
|
+
const pushed = [];
|
|
72
|
+
const b = createQueueStatusBroadcaster(() => snap, (f) => pushed.push(f));
|
|
73
|
+
b.tick(); // 5/20
|
|
74
|
+
b.tick(); // unchanged (a wedged step re-emits the same value)
|
|
75
|
+
expect(pushed).toHaveLength(1);
|
|
76
|
+
snap = running(6);
|
|
77
|
+
b.tick();
|
|
78
|
+
snap = running(7);
|
|
79
|
+
b.tick();
|
|
80
|
+
b.tick(); // unchanged again
|
|
81
|
+
expect(pushed).toHaveLength(3);
|
|
82
|
+
expect(pushed.map((f) => f.progress_value)).toEqual([5, 6, 7]);
|
|
83
|
+
});
|
|
84
|
+
it("pushes the running→idle transition (the render-finished edge)", () => {
|
|
85
|
+
let snap = running(19);
|
|
86
|
+
const pushed = [];
|
|
87
|
+
const b = createQueueStatusBroadcaster(() => snap, (f) => pushed.push(f));
|
|
88
|
+
b.tick();
|
|
89
|
+
snap = idle();
|
|
90
|
+
b.tick();
|
|
91
|
+
expect(pushed).toHaveLength(2);
|
|
92
|
+
expect(pushed[1].running).toBe(false);
|
|
93
|
+
expect(pushed[1].queue_depth).toBe(0);
|
|
94
|
+
});
|
|
95
|
+
it("current() returns the live frame without affecting the throttle", () => {
|
|
96
|
+
let snap = idle();
|
|
97
|
+
const pushed = [];
|
|
98
|
+
const b = createQueueStatusBroadcaster(() => snap, (f) => pushed.push(f));
|
|
99
|
+
expect(b.current().running).toBe(false);
|
|
100
|
+
snap = running(1);
|
|
101
|
+
expect(b.current().running).toBe(true); // live, not cached
|
|
102
|
+
expect(pushed).toHaveLength(0); // current() never pushes
|
|
103
|
+
b.tick();
|
|
104
|
+
expect(pushed).toHaveLength(1); // and never consumed the change either
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe("QueueMonitor snapshot plumbing", () => {
|
|
108
|
+
// Drive the real singleton's (private) WS message handler with captured
|
|
109
|
+
// ComfyUI frames, and assert the NEW snapshot fields carry node + progress —
|
|
110
|
+
// the exact plumbing queue_status broadcasts to the phone.
|
|
111
|
+
it("exposes currentNode + progress from live ComfyUI frames", async () => {
|
|
112
|
+
const { QueueMonitor } = await import("./queue-monitor.js");
|
|
113
|
+
const onMessage = QueueMonitor.onMessage.bind(QueueMonitor);
|
|
114
|
+
onMessage(JSON.stringify({ type: "execution_start", data: { prompt_id: "p-9" } }));
|
|
115
|
+
onMessage(JSON.stringify({ type: "executing", data: { node: "3", prompt_id: "p-9" } }));
|
|
116
|
+
onMessage(JSON.stringify({ type: "progress", data: { value: 4, max: 20, node: "3" } }));
|
|
117
|
+
let snap = QueueMonitor.snapshot();
|
|
118
|
+
expect(snap.running).toBe(true);
|
|
119
|
+
expect(snap.runningPromptId).toBe("p-9");
|
|
120
|
+
expect(snap.currentNode).toBe("3");
|
|
121
|
+
expect(snap.progressValue).toBe(4);
|
|
122
|
+
expect(snap.progressMax).toBe(20);
|
|
123
|
+
// Success clears everything back to idle (leave the singleton clean).
|
|
124
|
+
onMessage(JSON.stringify({ type: "execution_success", data: { prompt_id: "p-9" } }));
|
|
125
|
+
snap = QueueMonitor.snapshot();
|
|
126
|
+
expect(snap.running).toBe(false);
|
|
127
|
+
expect(snap.currentNode).toBeNull();
|
|
128
|
+
expect(snap.progressValue).toBeNull();
|
|
129
|
+
});
|
|
130
|
+
// Modern ComfyUI (verified live on 0.28) sends execution_start / executing /
|
|
131
|
+
// execution_success ONLY to the client that queued the prompt. A passive
|
|
132
|
+
// watchdog sees just the broadcast frames: status / progress / progress_state.
|
|
133
|
+
// The run state must be derivable from those alone.
|
|
134
|
+
it("derives running state from broadcast-only frames (modern ComfyUI)", async () => {
|
|
135
|
+
const { QueueMonitor } = await import("./queue-monitor.js");
|
|
136
|
+
const onMessage = QueueMonitor.onMessage.bind(QueueMonitor);
|
|
137
|
+
// Frames captured verbatim from a live ComfyUI 0.28 as a NON-originating
|
|
138
|
+
// client (trimmed): status → progress_state → progress → status(0).
|
|
139
|
+
onMessage(JSON.stringify({
|
|
140
|
+
type: "status",
|
|
141
|
+
data: { status: { exec_info: { queue_remaining: 1 } } },
|
|
142
|
+
}));
|
|
143
|
+
onMessage(JSON.stringify({
|
|
144
|
+
type: "progress_state",
|
|
145
|
+
data: {
|
|
146
|
+
prompt_id: "612c9766",
|
|
147
|
+
nodes: { "4": { value: 0, max: 1, state: "running", node_id: "4", prompt_id: "612c9766" } },
|
|
148
|
+
},
|
|
149
|
+
}));
|
|
150
|
+
let snap = QueueMonitor.snapshot();
|
|
151
|
+
expect(snap.running).toBe(true);
|
|
152
|
+
expect(snap.runningPromptId).toBe("612c9766");
|
|
153
|
+
expect(snap.currentNode).toBe("4");
|
|
154
|
+
onMessage(JSON.stringify({
|
|
155
|
+
type: "progress",
|
|
156
|
+
data: { value: 5, max: 12, prompt_id: "612c9766", node: "5" },
|
|
157
|
+
}));
|
|
158
|
+
snap = QueueMonitor.snapshot();
|
|
159
|
+
expect(snap.currentNode).toBe("5");
|
|
160
|
+
expect(snap.progressValue).toBe(5);
|
|
161
|
+
expect(snap.progressMax).toBe(12);
|
|
162
|
+
// The drained status frame is the only "done" signal a passive client gets.
|
|
163
|
+
onMessage(JSON.stringify({
|
|
164
|
+
type: "status",
|
|
165
|
+
data: { status: { exec_info: { queue_remaining: 0 } } },
|
|
166
|
+
}));
|
|
167
|
+
snap = QueueMonitor.snapshot();
|
|
168
|
+
expect(snap.running).toBe(false);
|
|
169
|
+
expect(snap.runningPromptId).toBeNull();
|
|
170
|
+
expect(snap.queueDepth).toBe(0);
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=queue-status-broadcast.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-status-broadcast.test.js","sourceRoot":"","sources":["../../src/services/queue-status-broadcast.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -101,7 +101,7 @@ export function registerModelManagementTools(server) {
|
|
|
101
101
|
return errorToToolResult(err);
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
|
-
server.tool("list_local_models", "List model files available to the connected ComfyUI, grouped by type. Read-only. Queries ComfyUI's /models REST endpoint first (works with remote ComfyUI and respects extra_model_paths.yaml — symlinked / mounted dirs the install-path filesystem scan would miss), then falls back to a filesystem scan of COMFYUI_PATH/models/ when the REST endpoint is unavailable. Size and modified time are only available on the filesystem fallback path. Use to see which models are already available before generating or downloading; use search_models to discover new models on HuggingFace, then download_model to fetch them. For models fetched via download_civitai_model, any CivitAI trigger/activation words and base model are shown inline (read from the `<file>.civitai.json` sidecar) — apply those trigger words in your prompt when generating with that model.", {
|
|
104
|
+
server.tool("list_local_models", "List model files available to the connected ComfyUI, grouped by type. Read-only. Queries ComfyUI's /models REST endpoint first (works with remote ComfyUI and respects extra_model_paths.yaml — symlinked / mounted dirs the install-path filesystem scan would miss), then falls back to a filesystem scan of COMFYUI_PATH/models/ when the REST endpoint is unavailable. Size and modified time are only available on the filesystem fallback path. Use to see which models are already available before generating or downloading; use search_models to discover new models on HuggingFace, then download_model to fetch them. For models fetched via download_civitai_model, any CivitAI trigger/activation words and base model are shown inline (read from the `<file>.civitai.json` sidecar) — apply those trigger words in your prompt when generating with that model. A `civitai:` line under an entry is that model's CivitAI page URL (modelId + INSTALLED modelVersionId, from the same sidecar) — use it to reference the source or check for newer versions.", {
|
|
105
105
|
model_type: modelTypeEnum
|
|
106
106
|
.optional()
|
|
107
107
|
.describe("Filter by model type (e.g. 'checkpoints', 'loras'). Lists all types if omitted."),
|
|
@@ -144,6 +144,12 @@ export function registerModelManagementTools(server) {
|
|
|
144
144
|
else if (m.baseModel) {
|
|
145
145
|
lines.push(` base: ${m.baseModel}`);
|
|
146
146
|
}
|
|
147
|
+
// Provenance: the sidecar's CivitAI page URL carries the modelId
|
|
148
|
+
// and the INSTALLED modelVersionId — link back to the source, and
|
|
149
|
+
// let clients check whether a newer version exists on CivitAI.
|
|
150
|
+
if (m.civitaiUrl) {
|
|
151
|
+
lines.push(` civitai: ${m.civitaiUrl}`);
|
|
152
|
+
}
|
|
147
153
|
}
|
|
148
154
|
lines.push("");
|
|
149
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-management.js","sourceRoot":"","sources":["../../src/tools/model-management.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model-management.js","sourceRoot":"","sources":["../../src/tools/model-management.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAE5C,8EAA8E;AAC9E,kFAAkF;AAClF,8EAA8E;AAC9E,+EAA+E;AAC/E,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,2DAA2D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;IACrF,gFAAgF;IAChF,+CAA+C,CAClD,CAAC;AAEJ,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACtD,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KACxD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACrD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC3D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KACvD,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KAC1D,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACpF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACjF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;KACvG,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,eAAe,EACf,inBAAinB,EACjnB;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;QAC9E,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,kGAAkG,CAAC;QAC/G,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,EAAE,CAAC;aACP,QAAQ,EAAE;aACV,QAAQ,CAAC,oCAAoC,CAAC;KAClD,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,KAAK,EAAE;gBACxD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC;gBAC/B,CAAC,CAAC,wBAAwB,IAAI,CAAC,KAAK,IAAI;gBACxC,CAAC,CAAC,OAAO;qBACJ,GAAG,CACF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,IAAI,SAAS,IAAI;oBAC1D,iBAAiB,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,KAAK,IAAI;oBACrE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CACxD;qBACA,IAAI,CAAC,MAAM,CAAC,CAAC;YAEpB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,q3BAAq3B,EACr3B;QACE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACxE,gBAAgB,EAAE,oBAAoB;QACtC,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uDAAuD,CAAC;QACpE,IAAI,EAAE,kBAAkB;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,oEAAoE;YAClE,yEAAyE,CAC5E;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,aAAa,CACnC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,IAAI,CACV,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,sCAAsC,SAAS,EAAE;qBACxD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,6gCAA6gC,EAC7gC;QACE,UAAU,EAAE,aAAa;aACtB,QAAQ,EAAE;aACV,QAAQ,CACP,iFAAiF,CAClF;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;oBAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,gBAAgB;oBACvC,CAAC,CAAC,wBAAwB,CAAC;gBAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtD,CAAC;YAED,gBAAgB;YAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;YACjD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,gEAAgE;oBAChE,iEAAiE;oBACjE,4BAA4B;oBAC5B,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBACf,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACjD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC5B,CAAC;oBACD,iEAAiE;oBACjE,oEAAoE;oBACpE,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChD,KAAK,CAAC,IAAI,CACR,sBAAsB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAC/C,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACnD,CAAC;oBACJ,CAAC;yBAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;wBACvB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;oBACzC,CAAC;oBACD,iEAAiE;oBACjE,kEAAkE;oBAClE,+DAA+D;oBAC/D,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;wBACjB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "comfyui-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"mcpName": "io.github.artokun/comfyui-mcp",
|
|
5
5
|
"description": "Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
|
|
6
6
|
"homepage": "https://comfyui-mcp.artokun.io/docs",
|