comfyui-mcp 0.52.7 → 0.52.13

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 (53) hide show
  1. package/README.md +2 -1
  2. package/dist/boot.js +1 -1
  3. package/dist/boot.js.map +1 -1
  4. package/dist/comfyui/fetch.js +2 -2
  5. package/dist/config.js +11 -0
  6. package/dist/config.js.map +1 -1
  7. package/dist/orchestrator/index.js +46 -2
  8. package/dist/orchestrator/index.js.map +1 -1
  9. package/dist/orchestrator/panel-tools.js +218 -18
  10. package/dist/orchestrator/panel-tools.js.map +1 -1
  11. package/dist/orchestrator/run-completion-journal.js +38 -0
  12. package/dist/orchestrator/run-completion-journal.js.map +1 -1
  13. package/dist/orchestrator/run-completion-watchdog.js +189 -0
  14. package/dist/orchestrator/run-completion-watchdog.js.map +1 -0
  15. package/dist/services/comfy-cli.js +23 -10
  16. package/dist/services/comfy-cli.js.map +1 -1
  17. package/dist/services/env-capabilities.js +69 -11
  18. package/dist/services/env-capabilities.js.map +1 -1
  19. package/dist/services/extra-paths.js +211 -14
  20. package/dist/services/extra-paths.js.map +1 -1
  21. package/dist/services/live-interpreter.js +197 -11
  22. package/dist/services/live-interpreter.js.map +1 -1
  23. package/dist/services/manifest.js +50 -71
  24. package/dist/services/manifest.js.map +1 -1
  25. package/dist/services/node-management.js +30 -24
  26. package/dist/services/node-management.js.map +1 -1
  27. package/dist/services/node-snapshots.js +22 -8
  28. package/dist/services/node-snapshots.js.map +1 -1
  29. package/dist/services/panel-launcher.js +198 -33
  30. package/dist/services/panel-launcher.js.map +1 -1
  31. package/dist/services/panel-secrets.js +8 -0
  32. package/dist/services/panel-secrets.js.map +1 -1
  33. package/dist/services/skill-generator.js +3 -2
  34. package/dist/services/skill-generator.js.map +1 -1
  35. package/dist/services/ui-bridge.js +5 -4
  36. package/dist/services/ui-bridge.js.map +1 -1
  37. package/dist/services/update-comfyui.js +9 -10
  38. package/dist/services/update-comfyui.js.map +1 -1
  39. package/dist/services/workflow-lock.js +24 -21
  40. package/dist/services/workflow-lock.js.map +1 -1
  41. package/dist/services/workspace-env.js +158 -10
  42. package/dist/services/workspace-env.js.map +1 -1
  43. package/dist/tools/comfy-cli.js +1 -1
  44. package/dist/tools/comfy-cli.js.map +1 -1
  45. package/dist/tools/install-comfyui.js +2 -2
  46. package/dist/tools/install-comfyui.js.map +1 -1
  47. package/dist/tools/manifest.js +1 -1
  48. package/dist/tools/manifest.js.map +1 -1
  49. package/dist/tools/skills-access.js +5 -3
  50. package/dist/tools/skills-access.js.map +1 -1
  51. package/dist/tools/workflow-library.js +2 -2
  52. package/dist/tools/workflow-library.js.map +1 -1
  53. package/package.json +1 -1
@@ -18,7 +18,7 @@ export const PANEL_LAUNCHER_PROTOCOL = 1;
18
18
  export const PANEL_LAUNCHER_LABEL = "io.artokun.comfyui-mcp-launcher";
19
19
  export const PANEL_LAUNCHER_TASK = "ComfyUI MCP Launcher";
20
20
  export const DEFAULT_PANEL_BRIDGE_PORT = 9180;
21
- export function panelLauncherPaths(home = homedir()) {
21
+ export function panelLauncherPaths(home = homedir(), appData = roamingAppData({})) {
22
22
  const root = join(home, ".comfyui-mcp");
23
23
  const launcherDir = join(root, "launcher");
24
24
  return {
@@ -27,6 +27,7 @@ export function panelLauncherPaths(home = homedir()) {
27
27
  config: join(root, "launcher.json"),
28
28
  broker: join(launcherDir, "broker.mjs"),
29
29
  windowsScript: join(launcherDir, "start-launcher.cmd"),
30
+ windowsStartup: join(appData, "Microsoft", "Windows", "Start Menu", "Programs", "Startup", "comfyui-mcp-launcher.cmd"),
30
31
  macPlist: join(home, "Library", "LaunchAgents", `${PANEL_LAUNCHER_LABEL}.plist`),
31
32
  linuxService: join(home, ".config", "systemd", "user", "comfyui-mcp-launcher.service"),
32
33
  linuxAutostart: join(home, ".config", "autostart", "comfyui-mcp-launcher.desktop"),
@@ -68,39 +69,203 @@ function writePanelLauncherConfig(config, home) {
68
69
  function xml(value) {
69
70
  return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
70
71
  }
71
- export function installPanelLauncher(options = {}) {
72
+ /**
73
+ * Why a service manager refused, as a single line fit for a CLI message.
74
+ *
75
+ * `execFileSync` throws an Error whose `stderr` holds the tool's own words
76
+ * ("ERROR: Access is denied."), but only when the caller piped it; the generic
77
+ * `message` is just the command line, which tells the user nothing they can act
78
+ * on. Prefer the tool's reason and fall back to the message.
79
+ */
80
+ function schtasksReason(err) {
81
+ const stderr = err?.stderr;
82
+ const text = typeof stderr === "string"
83
+ ? stderr
84
+ : stderr && typeof stderr.toString === "function"
85
+ ? stderr.toString("utf8")
86
+ : "";
87
+ const line = text.split(/\r?\n/).find((l) => l.trim().length > 0);
88
+ return line?.trim() || (err instanceof Error ? err.message : String(err));
89
+ }
90
+ /** Roaming AppData for a call: explicit wins, then an overridden home, then the
91
+ * real `%APPDATA%`, then the conventional layout. */
92
+ function roamingAppData(opts) {
93
+ if (opts.appData)
94
+ return opts.appData;
95
+ if (opts.home)
96
+ return join(opts.home, "AppData", "Roaming");
97
+ const env = process.env.APPDATA?.trim();
98
+ return env || join(homedir(), "AppData", "Roaming");
99
+ }
100
+ export async function installPanelLauncher(options = {}) {
72
101
  const home = options.home ?? homedir();
73
102
  const platform = options.platform ?? process.platform;
74
103
  const nodePath = options.nodePath ?? process.execPath;
75
104
  const source = options.brokerSource ?? fileURLToPath(import.meta.url);
76
105
  const run = options.exec ?? execFileSync;
77
- const paths = panelLauncherPaths(home);
106
+ const spawnBroker = options.spawnImpl ?? spawn;
107
+ const paths = panelLauncherPaths(home, roamingAppData(options));
78
108
  mkdirSync(paths.launcherDir, { recursive: true });
79
109
  copyFileSync(source, paths.broker);
80
110
  const previous = readPanelLauncherConfig(home);
111
+ /**
112
+ * Start the broker unless the previous one is still alive.
113
+ *
114
+ * Every fallback path needs this: without a service manager nothing else will
115
+ * start the broker, so the install would "succeed" and leave the panel with
116
+ * nothing to talk to until the next logon. Shared by the Windows and Linux
117
+ * fallbacks rather than duplicated — they answer the identical question.
118
+ */
119
+ const startBrokerIfIdle = async () => {
120
+ // POSITIVE EVIDENCE, not a pid. `process.kill(pid, 0)` only proves SOME
121
+ // process holds that number, and Windows recycles pids aggressively across a
122
+ // reboot — so an unrelated process wearing our old pid made this skip the
123
+ // spawn, leaving a dead port in the config and the panel telling the user to
124
+ // re-run the install they had just run: the #1798 loop, re-entered through
125
+ // its own fix. `queryPanelLauncher` asks the recorded port, with the recorded
126
+ // token, whether a broker is actually answering. Anything short of a live
127
+ // answer means start one (merge-gate P1).
128
+ // Keyed on the PORT alone. Gating on a pid as well meant the query never ran
129
+ // on a second install — this function's own config write used to drop the
130
+ // pid — so a duplicate broker was spawned beside a live one (merge-gate P1).
131
+ // The port is what the query actually uses; the pid was never evidence.
132
+ if (previous?.port) {
133
+ const live = (await queryPanelLauncher(home));
134
+ if (live.running)
135
+ return; // a real broker answered — leave it alone
136
+ }
137
+ const child = spawnBroker(nodePath, [paths.broker, "run"], {
138
+ detached: true,
139
+ stdio: "ignore",
140
+ });
141
+ child.unref?.();
142
+ };
81
143
  writePanelLauncherConfig({
82
144
  protocol: PANEL_LAUNCHER_PROTOCOL,
83
145
  host: "127.0.0.1",
84
146
  port: previous?.port ?? 0,
85
147
  token: previous?.token ?? randomBytes(32).toString("base64url"),
148
+ // The running broker's pid is the broker's to publish, not this install's
149
+ // to erase. Dropping it made the config say "no broker has ever run here"
150
+ // to every subsequent install (merge-gate P1) — the port and token were
151
+ // carried over but the pid was not, which is an incoherent record of the
152
+ // same broker.
153
+ ...(previous?.pid ? { pid: previous.pid } : {}),
86
154
  updated_at: new Date().toISOString(),
87
155
  }, home);
88
156
  if (platform === "win32") {
89
157
  writeFileSync(paths.windowsScript, `@echo off\r\n"${nodePath}" "${paths.broker}" run\r\n`, "utf8");
90
- run("schtasks.exe", [
91
- "/Create",
92
- "/F",
93
- "/SC",
94
- "ONLOGON",
95
- "/IT",
96
- "/RL",
97
- "LIMITED",
98
- "/TN",
99
- PANEL_LAUNCHER_TASK,
100
- "/TR",
101
- `"${paths.windowsScript}"`,
102
- ], { stdio: "ignore" });
103
- run("schtasks.exe", ["/Run", "/TN", PANEL_LAUNCHER_TASK], { stdio: "ignore" });
158
+ // A scheduled task is the preferred registration, but it is NOT available to
159
+ // every account: creating one can be denied outright by machine policy or by
160
+ // the ACL on the task store, and the denial has nothing to do with this task
161
+ // in particular (a throwaway probe task is refused identically). On such a
162
+ // machine the install used to throw here, having already written every file
163
+ // it needed, and the panel's Connect button kept telling the user to run an
164
+ // install that could never succeed.
165
+ //
166
+ // So Windows now gets the same shape Linux has had all along: try the
167
+ // service manager, and when it refuses, fall back to a per-user autostart
168
+ // and start the broker directly. The Startup folder is user-writable and
169
+ // needs no elevation, which is exactly the constraint the scheduled task
170
+ // could not satisfy.
171
+ // /Create and /Run get SEPARATE try blocks, because they fail for different
172
+ // reasons and only one of them means "this account cannot register an
173
+ // autostart". A created task whose /Run is refused right now — an /IT task
174
+ // invoked over a non-interactive session (OpenSSH, WinRM, a CI service),
175
+ // SCHED_E_TASK_NOT_READY — is REGISTERED and will fire at the next logon.
176
+ // Treating that as a refusal wrote a Startup entry beside the live task, so
177
+ // every later logon started two brokers, both rewriting launcher.json
178
+ // (merge-gate P1). It also printed "scheduled task refused" about a task
179
+ // that plainly exists.
180
+ let taskRegistered = false;
181
+ try {
182
+ run("schtasks.exe", [
183
+ "/Create",
184
+ "/F",
185
+ "/SC",
186
+ "ONLOGON",
187
+ "/IT",
188
+ "/RL",
189
+ "LIMITED",
190
+ "/TN",
191
+ PANEL_LAUNCHER_TASK,
192
+ "/TR",
193
+ `"${paths.windowsScript}"`,
194
+ ],
195
+ // NOT "ignore" (codex-taxonomy class 1): schtasks reports WHY it refused
196
+ // on stderr, and swallowing it left the CLI printing a bare "Command
197
+ // failed: schtasks.exe …" — indistinguishable from a missing binary, a
198
+ // bad argument, or a denial, which is the one that actually happens.
199
+ { stdio: ["ignore", "ignore", "pipe"] });
200
+ taskRegistered = true;
201
+ }
202
+ catch (err) {
203
+ // A /Create failure does NOT prove this account can never register an
204
+ // autostart — only that THIS call failed. The Task Scheduler service being
205
+ // stopped or set to Manual, RPC being unavailable, or a GPO applied after
206
+ // an earlier successful install all fail here while leaving a registered
207
+ // task intact. Writing the Startup entry anyway put it beside that task, so
208
+ // both fired at the next logon and two brokers raced on launcher.json —
209
+ // the same collapse the /Run branch was split out to avoid, left open on
210
+ // this branch (merge-gate P1). So ASK whether the task exists.
211
+ let alreadyRegistered = false;
212
+ try {
213
+ run("schtasks.exe", ["/Query", "/TN", PANEL_LAUNCHER_TASK], { stdio: "ignore" });
214
+ alreadyRegistered = true;
215
+ }
216
+ catch {
217
+ // No such task (or we cannot even query) → the fallback is warranted.
218
+ }
219
+ if (alreadyRegistered) {
220
+ // It IS registered — that task is the autostart. This session may still
221
+ // need a broker, which the /Run attempt below (and then
222
+ // startBrokerIfIdle) provides.
223
+ taskRegistered = true;
224
+ process.stderr?.write?.(`[comfyui-mcp] schtasks /Create failed (${schtasksReason(err)}), but the ` +
225
+ `"${PANEL_LAUNCHER_TASK}" task is already registered — leaving it as the autostart.\n`);
226
+ }
227
+ else {
228
+ // The Startup write can fail too — EDR/AppLocker blocking Startup
229
+ // persistence, or a Roaming AppData redirected to an offline share, on
230
+ // the very same managed accounts whose policy denied the task. Unguarded,
231
+ // it threw before the broker was started and the session got NOTHING:
232
+ // #1798's stranding loop relocated from the schtasks line to this one
233
+ // (merge-gate P1). Losing the autostart is survivable; losing this
234
+ // session's broker is the bug we are here to fix, so warn and fall
235
+ // through to it.
236
+ let autostartPath = "";
237
+ try {
238
+ mkdirSync(dirname(paths.windowsStartup), { recursive: true });
239
+ writeFileSync(paths.windowsStartup, `@echo off\r\nstart "" /min "${paths.windowsScript}"\r\n`, "utf8");
240
+ autostartPath = paths.windowsStartup;
241
+ }
242
+ catch (startupErr) {
243
+ process.stderr?.write?.(`[comfyui-mcp] could not write the Startup autostart ` +
244
+ `(${startupErr instanceof Error ? startupErr.message : String(startupErr)}); ` +
245
+ `MCP will run for this session but will NOT start at the next logon. ` +
246
+ `Start it by hand with: ${paths.windowsScript}\n`);
247
+ }
248
+ // Not silent: the user asked for a launcher and got a different mechanism
249
+ // than the one this tool normally installs, which changes how they would
250
+ // later remove or debug it.
251
+ if (autostartPath) {
252
+ process.stderr?.write?.(`[comfyui-mcp] scheduled task refused (${schtasksReason(err)}); ` +
253
+ `registered a Startup-folder autostart instead: ${autostartPath}\n`);
254
+ }
255
+ }
256
+ }
257
+ if (taskRegistered) {
258
+ try {
259
+ run("schtasks.exe", ["/Run", "/TN", PANEL_LAUNCHER_TASK], { stdio: "ignore" });
260
+ return paths; // the task is registered AND running it worked
261
+ }
262
+ catch {
263
+ // Registered but not startable right now (non-interactive session). The
264
+ // autostart is in place for the next logon, so do NOT add a second one —
265
+ // just get a broker up for THIS session.
266
+ }
267
+ }
268
+ await startBrokerIfIdle();
104
269
  return paths;
105
270
  }
106
271
  if (platform === "darwin") {
@@ -137,20 +302,7 @@ export function installPanelLauncher(options = {}) {
137
302
  mkdirSync(dirname(paths.linuxAutostart), { recursive: true });
138
303
  writeFileSync(paths.linuxAutostart, `[Desktop Entry]\nType=Application\nName=ComfyUI MCP Launcher\n` +
139
304
  `Exec="${nodePath}" "${paths.broker}" run\nTerminal=false\nX-GNOME-Autostart-enabled=true\n`, "utf8");
140
- let previousStillRunning = false;
141
- if (previous?.pid) {
142
- try {
143
- process.kill(previous.pid, 0);
144
- previousStillRunning = true;
145
- }
146
- catch {
147
- previousStillRunning = false;
148
- }
149
- }
150
- if (!previousStillRunning) {
151
- const child = spawn(nodePath, [paths.broker, "run"], { detached: true, stdio: "ignore" });
152
- child.unref();
153
- }
305
+ await startBrokerIfIdle();
154
306
  }
155
307
  return paths;
156
308
  }
@@ -158,7 +310,9 @@ export function uninstallPanelLauncher(options = {}) {
158
310
  const home = options.home ?? homedir();
159
311
  const platform = options.platform ?? process.platform;
160
312
  const run = options.exec ?? execFileSync;
161
- const paths = panelLauncherPaths(home);
313
+ // Same resolution as install, or uninstall deletes a path the install never
314
+ // wrote and leaves the real autostart in place.
315
+ const paths = panelLauncherPaths(home, roamingAppData(options));
162
316
  if (platform === "win32") {
163
317
  try {
164
318
  run("schtasks.exe", ["/End", "/TN", PANEL_LAUNCHER_TASK], { stdio: "ignore" });
@@ -172,6 +326,10 @@ export function uninstallPanelLauncher(options = {}) {
172
326
  catch {
173
327
  // Already absent is the desired end state.
174
328
  }
329
+ // …and the fallback autostart, which is what an account that could not
330
+ // create the task actually has. Removing only the task would leave those
331
+ // users with a launcher that keeps coming back after every uninstall.
332
+ rmSync(paths.windowsStartup, { force: true });
175
333
  }
176
334
  else if (platform === "darwin") {
177
335
  try {
@@ -452,7 +610,14 @@ export async function queryPanelLauncher(home = homedir()) {
452
610
  res.on("data", (chunk) => chunks.push(Buffer.from(chunk)));
453
611
  res.on("end", () => {
454
612
  try {
455
- resolve({ installed: true, running: res.statusCode === 200, ...JSON.parse(Buffer.concat(chunks).toString("utf8")) });
613
+ const body = JSON.parse(Buffer.concat(chunks).toString("utf8"));
614
+ // 200 + parseable JSON is not proof it is OUR broker: ports get
615
+ // recycled, and whoever holds this one next may answer anything.
616
+ // The body already carries the protocol — check it, or the recycled-
617
+ // port case this liveness probe exists to kill walks straight back in
618
+ // (merge-gate). Computed AFTER the spread so the body cannot set it.
619
+ const running = res.statusCode === 200 && body.protocol === PANEL_LAUNCHER_PROTOCOL;
620
+ resolve({ installed: true, ...body, running });
456
621
  }
457
622
  catch {
458
623
  resolve({ ok: false, installed: true, running: false, error: "invalid_response" });
@@ -1 +1 @@
1
- {"version":3,"file":"panel-launcher.js","sourceRoot":"","sources":["../../src/services/panel-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-launcher.js","sourceRoot":"","sources":["../../src/services/panel-launcher.ts"],"names":[],"mappings":"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"}
@@ -1910,6 +1910,14 @@ export function buildComfyuiMcpEnv(base) {
1910
1910
  // still file-owned (codex gate, round 2, finding 2).
1911
1911
  const managed = Object.keys(secrets).filter((k) => !isShellProvided(k));
1912
1912
  const out = {
1913
+ // The orchestrator constructs the tool child's env instead of inheriting
1914
+ // process.env. Forward the split-install code root here, at the choke point
1915
+ // shared by every provider lane, or panel-spawned MCP servers silently lose
1916
+ // the setting even though direct stdio launches honor it. A call-scoped base
1917
+ // may still override this value in the future.
1918
+ ...(process.env.COMFYUI_CODE_PATH
1919
+ ? { COMFYUI_CODE_PATH: process.env.COMFYUI_CODE_PATH }
1920
+ : {}),
1913
1921
  ...base,
1914
1922
  // PIN the canonical dotenv path into the child (#826). The child resolves
1915
1923
  // credentials from that file at access time, so if the orchestrator writes