comfyui-mcp 0.48.21 → 0.48.22

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 (235) hide show
  1. package/README.md +2 -2
  2. package/dist/comfyui/client.js +46 -6
  3. package/dist/comfyui/client.js.map +1 -1
  4. package/dist/config.js +15 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/orchestrator/error-text.js +29 -1
  7. package/dist/orchestrator/error-text.js.map +1 -1
  8. package/dist/orchestrator/error-text.test.js +28 -0
  9. package/dist/orchestrator/error-text.test.js.map +1 -1
  10. package/dist/orchestrator/index.js +151 -50
  11. package/dist/orchestrator/index.js.map +1 -1
  12. package/dist/orchestrator/panel-agent.js +21 -4
  13. package/dist/orchestrator/panel-agent.js.map +1 -1
  14. package/dist/orchestrator/panel-tools.js +1098 -168
  15. package/dist/orchestrator/panel-tools.js.map +1 -1
  16. package/dist/orchestrator/ready-banner.js +70 -0
  17. package/dist/orchestrator/ready-banner.js.map +1 -0
  18. package/dist/services/api-nodes.js +5 -7
  19. package/dist/services/api-nodes.js.map +1 -1
  20. package/dist/services/download-cache.js +126 -18
  21. package/dist/services/download-cache.js.map +1 -1
  22. package/dist/services/download-jobs.js +463 -14
  23. package/dist/services/download-jobs.js.map +1 -1
  24. package/dist/services/download-progress.js +247 -2
  25. package/dist/services/download-progress.js.map +1 -1
  26. package/dist/services/env-capabilities.js +80 -9
  27. package/dist/services/env-capabilities.js.map +1 -1
  28. package/dist/services/generate-audio.js +16 -0
  29. package/dist/services/generate-audio.js.map +1 -1
  30. package/dist/services/local-models-fallback.js +7 -3
  31. package/dist/services/local-models-fallback.js.map +1 -1
  32. package/dist/services/manifest.js +180 -65
  33. package/dist/services/manifest.js.map +1 -1
  34. package/dist/services/model-resolver.js +267 -11
  35. package/dist/services/model-resolver.js.map +1 -1
  36. package/dist/services/node-management.js +38 -27
  37. package/dist/services/node-management.js.map +1 -1
  38. package/dist/services/output-dir.js +33 -3
  39. package/dist/services/output-dir.js.map +1 -1
  40. package/dist/services/panel-secrets.js +19 -7
  41. package/dist/services/panel-secrets.js.map +1 -1
  42. package/dist/services/queue-monitor.js +45 -2
  43. package/dist/services/queue-monitor.js.map +1 -1
  44. package/dist/services/queue-monitor.stall.test.js +78 -0
  45. package/dist/services/queue-monitor.stall.test.js.map +1 -0
  46. package/dist/services/secure-bridge.js +84 -0
  47. package/dist/services/secure-bridge.js.map +1 -1
  48. package/dist/services/storage/azure-blob.js +8 -3
  49. package/dist/services/storage/azure-blob.js.map +1 -1
  50. package/dist/services/storage/index.js +3 -3
  51. package/dist/services/storage/index.js.map +1 -1
  52. package/dist/services/storage/s3.js +9 -3
  53. package/dist/services/storage/s3.js.map +1 -1
  54. package/dist/services/ui-bridge.js +294 -24
  55. package/dist/services/ui-bridge.js.map +1 -1
  56. package/dist/services/workflow-converter.js +767 -72
  57. package/dist/services/workflow-converter.js.map +1 -1
  58. package/dist/services/workflow-lock.js +127 -27
  59. package/dist/services/workflow-lock.js.map +1 -1
  60. package/dist/services/workspace-env.js +48 -0
  61. package/dist/services/workspace-env.js.map +1 -1
  62. package/dist/tools/generate-audio.js +44 -0
  63. package/dist/tools/generate-audio.js.map +1 -1
  64. package/dist/tools/model-extras.js +24 -4
  65. package/dist/tools/model-extras.js.map +1 -1
  66. package/dist/tools/model-management.js +124 -14
  67. package/dist/tools/model-management.js.map +1 -1
  68. package/dist/tools/report-issue.js +220 -66
  69. package/dist/tools/report-issue.js.map +1 -1
  70. package/dist/tools/report-issue.test.js +223 -83
  71. package/dist/tools/report-issue.test.js.map +1 -1
  72. package/dist/tools/skills-access.js +7 -2
  73. package/dist/tools/skills-access.js.map +1 -1
  74. package/dist/tools/template-schema.js +5 -5
  75. package/dist/tools/template-schema.js.map +1 -1
  76. package/dist/tools/workflow-compose.js +18 -3
  77. package/dist/tools/workflow-compose.js.map +1 -1
  78. package/package.json +1 -1
  79. package/packs/anima/install-runpod.sh +0 -1
  80. package/packs/anima/install-windows.bat +0 -1
  81. package/packs/anima/manifest.yaml +0 -1
  82. package/packs/anima-img2img/install-runpod.sh +0 -1
  83. package/packs/anima-img2img/install-windows.bat +0 -1
  84. package/packs/anima-img2img/manifest.yaml +0 -1
  85. package/packs/anima-inpaint/install-runpod.sh +0 -1
  86. package/packs/anima-inpaint/install-windows.bat +0 -1
  87. package/packs/anima-inpaint/manifest.yaml +0 -1
  88. package/packs/anima-txt2img/install-runpod.sh +0 -1
  89. package/packs/anima-txt2img/install-windows.bat +0 -1
  90. package/packs/anima-txt2img/manifest.yaml +0 -1
  91. package/packs/artokun-flow/install-runpod.sh +0 -1
  92. package/packs/artokun-flow/install-windows.bat +0 -1
  93. package/packs/artokun-flow/manifest.yaml +0 -1
  94. package/packs/ernie/install-runpod.sh +0 -1
  95. package/packs/ernie/install-windows.bat +0 -1
  96. package/packs/ernie/manifest.yaml +0 -1
  97. package/packs/ernie-combo/install-runpod.sh +0 -1
  98. package/packs/ernie-combo/install-windows.bat +0 -1
  99. package/packs/ernie-combo/manifest.yaml +0 -1
  100. package/packs/ernie-img2img/install-runpod.sh +0 -1
  101. package/packs/ernie-img2img/install-windows.bat +0 -1
  102. package/packs/ernie-img2img/manifest.yaml +0 -1
  103. package/packs/ernie-txt2img/install-runpod.sh +0 -1
  104. package/packs/ernie-txt2img/install-windows.bat +0 -1
  105. package/packs/ernie-txt2img/manifest.yaml +0 -1
  106. package/packs/ideogram/install-runpod.sh +0 -1
  107. package/packs/ideogram/install-windows.bat +0 -1
  108. package/packs/ideogram/manifest.yaml +0 -1
  109. package/packs/ideogram-img2img/install-runpod.sh +0 -1
  110. package/packs/ideogram-img2img/install-windows.bat +0 -1
  111. package/packs/ideogram-img2img/manifest.yaml +0 -1
  112. package/packs/ideogram-txt2img/install-runpod.sh +0 -1
  113. package/packs/ideogram-txt2img/install-windows.bat +0 -1
  114. package/packs/ideogram-txt2img/manifest.yaml +0 -1
  115. package/packs/ltx-2.3/install-runpod.sh +0 -1
  116. package/packs/ltx-2.3/install-windows.bat +0 -1
  117. package/packs/ltx-2.3/manifest.yaml +0 -1
  118. package/packs/ltx-2.3-extender/install-runpod.sh +0 -1
  119. package/packs/ltx-2.3-extender/install-windows.bat +0 -1
  120. package/packs/ltx-2.3-extender/manifest.yaml +0 -1
  121. package/packs/ltx-2.3-extender-no-audio/install-runpod.sh +0 -1
  122. package/packs/ltx-2.3-extender-no-audio/install-windows.bat +0 -1
  123. package/packs/ltx-2.3-extender-no-audio/manifest.yaml +0 -1
  124. package/packs/ltx-2.3-flf/install-runpod.sh +0 -1
  125. package/packs/ltx-2.3-flf/install-windows.bat +0 -1
  126. package/packs/ltx-2.3-flf/manifest.yaml +0 -1
  127. package/packs/ltx-2.3-img2vid/install-runpod.sh +0 -1
  128. package/packs/ltx-2.3-img2vid/install-windows.bat +0 -1
  129. package/packs/ltx-2.3-img2vid/manifest.yaml +3 -4
  130. package/packs/ltx-2.3-txt2vid/install-runpod.sh +0 -1
  131. package/packs/ltx-2.3-txt2vid/install-windows.bat +0 -1
  132. package/packs/ltx-2.3-txt2vid/manifest.yaml +3 -4
  133. package/packs/ltx-2.3-xy-plot/install-runpod.sh +0 -1
  134. package/packs/ltx-2.3-xy-plot/install-windows.bat +0 -1
  135. package/packs/ltx-2.3-xy-plot/manifest.yaml +0 -1
  136. package/packs/ltx23-distill-3stage/install-runpod.sh +0 -1
  137. package/packs/ltx23-distill-3stage/install-windows.bat +0 -1
  138. package/packs/ltx23-distill-3stage/manifest.yaml +0 -1
  139. package/packs/qwen-image/install-runpod.sh +0 -1
  140. package/packs/qwen-image/install-windows.bat +0 -1
  141. package/packs/qwen-image/manifest.yaml +0 -1
  142. package/packs/qwen-image-edit/install-runpod.sh +0 -1
  143. package/packs/qwen-image-edit/install-windows.bat +0 -1
  144. package/packs/qwen-image-edit/manifest.yaml +0 -1
  145. package/packs/qwen-image-edit-edit/install-runpod.sh +0 -1
  146. package/packs/qwen-image-edit-edit/install-windows.bat +0 -1
  147. package/packs/qwen-image-edit-edit/manifest.yaml +0 -1
  148. package/packs/wan-animate/install-runpod.sh +0 -1
  149. package/packs/wan-animate/install-windows.bat +0 -1
  150. package/packs/wan-animate/manifest.yaml +0 -1
  151. package/packs/wan-animate-character/install-runpod.sh +0 -1
  152. package/packs/wan-animate-character/install-windows.bat +0 -1
  153. package/packs/wan-animate-character/manifest.yaml +0 -1
  154. package/packs/wan-animate-ofm/install-runpod.sh +0 -1
  155. package/packs/wan-animate-ofm/install-windows.bat +0 -1
  156. package/packs/wan-animate-ofm/manifest.yaml +0 -1
  157. package/packs/wan-longer-videos/install-runpod.sh +0 -1
  158. package/packs/wan-longer-videos/install-windows.bat +0 -1
  159. package/packs/wan-longer-videos/manifest.yaml +0 -1
  160. package/packs/wan-longer-videos-i2v/install-runpod.sh +0 -1
  161. package/packs/wan-longer-videos-i2v/install-windows.bat +0 -1
  162. package/packs/wan-longer-videos-i2v/manifest.yaml +0 -1
  163. package/packs/wan-longer-videos-i2v-96gb/install-runpod.sh +0 -1
  164. package/packs/wan-longer-videos-i2v-96gb/install-windows.bat +0 -1
  165. package/packs/wan-longer-videos-i2v-96gb/manifest.yaml +0 -1
  166. package/packs/wan-longer-videos-t2v/install-runpod.sh +0 -1
  167. package/packs/wan-longer-videos-t2v/install-windows.bat +0 -1
  168. package/packs/wan-longer-videos-t2v/manifest.yaml +0 -1
  169. package/packs/wan-longer-videos-t2v-96gb/install-runpod.sh +0 -1
  170. package/packs/wan-longer-videos-t2v-96gb/install-windows.bat +0 -1
  171. package/packs/wan-longer-videos-t2v-96gb/manifest.yaml +0 -1
  172. package/packs/wan-longer-videos-v2v/install-runpod.sh +0 -1
  173. package/packs/wan-longer-videos-v2v/install-windows.bat +0 -1
  174. package/packs/wan-longer-videos-v2v/manifest.yaml +0 -1
  175. package/packs/wan-longer-videos-v2v-96gb/install-runpod.sh +0 -1
  176. package/packs/wan-longer-videos-v2v-96gb/install-windows.bat +0 -1
  177. package/packs/wan-longer-videos-v2v-96gb/manifest.yaml +0 -1
  178. package/packs/wan-multitalk/install-runpod.sh +0 -1
  179. package/packs/wan-multitalk/install-windows.bat +0 -1
  180. package/packs/wan-multitalk/manifest.yaml +0 -1
  181. package/packs/wan-pusa-extend/install-runpod.sh +0 -1
  182. package/packs/wan-pusa-extend/install-windows.bat +0 -1
  183. package/packs/wan-pusa-extend/manifest.yaml +0 -1
  184. package/packs/wan-transparent/install-runpod.sh +0 -1
  185. package/packs/wan-transparent/install-windows.bat +0 -1
  186. package/packs/wan-transparent/manifest.yaml +0 -1
  187. package/packs/wan-transparent-img2vid/install-runpod.sh +0 -1
  188. package/packs/wan-transparent-img2vid/install-windows.bat +0 -1
  189. package/packs/wan-transparent-img2vid/manifest.yaml +0 -1
  190. package/packs/wan-transparent-img2vid-96gb/install-runpod.sh +0 -1
  191. package/packs/wan-transparent-img2vid-96gb/install-windows.bat +0 -1
  192. package/packs/wan-transparent-img2vid-96gb/manifest.yaml +0 -1
  193. package/packs/z-image-base/install-runpod.sh +0 -1
  194. package/packs/z-image-base/install-windows.bat +0 -1
  195. package/packs/z-image-base/manifest.yaml +0 -1
  196. package/packs/z-image-base-combo/install-runpod.sh +0 -1
  197. package/packs/z-image-base-combo/install-windows.bat +0 -1
  198. package/packs/z-image-base-combo/manifest.yaml +0 -1
  199. package/packs/z-image-base-controlnet/install-runpod.sh +0 -1
  200. package/packs/z-image-base-controlnet/install-windows.bat +0 -1
  201. package/packs/z-image-base-controlnet/manifest.yaml +0 -1
  202. package/packs/z-image-base-img2img/install-runpod.sh +0 -1
  203. package/packs/z-image-base-img2img/install-windows.bat +0 -1
  204. package/packs/z-image-base-img2img/manifest.yaml +0 -1
  205. package/packs/z-image-base-inpaint/install-runpod.sh +0 -1
  206. package/packs/z-image-base-inpaint/install-windows.bat +0 -1
  207. package/packs/z-image-base-inpaint/manifest.yaml +0 -1
  208. package/packs/z-image-base-txt2img/install-runpod.sh +0 -1
  209. package/packs/z-image-base-txt2img/install-windows.bat +0 -1
  210. package/packs/z-image-base-txt2img/manifest.yaml +0 -1
  211. package/packs/z-image-turbo/install-runpod.sh +0 -1
  212. package/packs/z-image-turbo/install-windows.bat +0 -1
  213. package/packs/z-image-turbo/manifest.yaml +0 -1
  214. package/packs/z-image-turbo-combo/install-runpod.sh +0 -1
  215. package/packs/z-image-turbo-combo/install-windows.bat +0 -1
  216. package/packs/z-image-turbo-combo/manifest.yaml +0 -1
  217. package/packs/z-image-turbo-controlnet/install-runpod.sh +0 -1
  218. package/packs/z-image-turbo-controlnet/install-windows.bat +0 -1
  219. package/packs/z-image-turbo-controlnet/manifest.yaml +0 -1
  220. package/packs/z-image-turbo-detail-daemon/install-runpod.sh +0 -1
  221. package/packs/z-image-turbo-detail-daemon/install-windows.bat +0 -1
  222. package/packs/z-image-turbo-detail-daemon/manifest.yaml +0 -1
  223. package/packs/z-image-turbo-img2img/install-runpod.sh +0 -1
  224. package/packs/z-image-turbo-img2img/install-windows.bat +0 -1
  225. package/packs/z-image-turbo-img2img/manifest.yaml +0 -1
  226. package/packs/z-image-turbo-inpainting/install-runpod.sh +0 -1
  227. package/packs/z-image-turbo-inpainting/install-windows.bat +0 -1
  228. package/packs/z-image-turbo-inpainting/manifest.yaml +0 -1
  229. package/packs/z-image-turbo-txt2img/install-runpod.sh +0 -1
  230. package/packs/z-image-turbo-txt2img/install-windows.bat +0 -1
  231. package/packs/z-image-turbo-txt2img/manifest.yaml +0 -1
  232. package/packs/z-image-xy-plot/install-runpod.sh +0 -1
  233. package/packs/z-image-xy-plot/install-windows.bat +0 -1
  234. package/packs/z-image-xy-plot/manifest.yaml +0 -1
  235. package/scripts/test-packs.sh +8 -3
@@ -9,7 +9,8 @@ import { config, isRemoteMode } from "../config.js";
9
9
  import { installCustomNode, installModelViaManager, listInstalledNodes, } from "./node-management.js";
10
10
  import { listLocalModels, resolveExistingModelFile, managerModelDestination, MODEL_SUBDIRS, } from "./model-resolver.js";
11
11
  import { startDownloadJob } from "./download-jobs.js";
12
- import { getSavedDefaultWorkspaceSync } from "./workspace-env.js";
12
+ import { resolveModelsDir } from "./output-dir.js";
13
+ import { getSavedDefaultWorkspaceSync, resolveLiveComfyUIBase, resolveRootInterpreter, } from "./workspace-env.js";
13
14
  import { ValidationError } from "../utils/errors.js";
14
15
  import { logger } from "../utils/logger.js";
15
16
  /** Grace window (ms) to await a manifest model download before handing back a
@@ -19,6 +20,48 @@ function manifestDownloadGraceMs() {
19
20
  const raw = Number(process.env.COMFYUI_MCP_DOWNLOAD_GRACE_MS);
20
21
  return Number.isFinite(raw) && raw >= 0 ? raw : 15_000;
21
22
  }
23
+ /** Overall wall-clock budget (ms) for the custom-node install phase. Node installs
24
+ * drive the ComfyUI-Manager queue, which can legitimately run for minutes on a
25
+ * big pack. Blocking apply_manifest until it drains blows past the MCP tools/call
26
+ * timeout (300s) and the caller sees a FALSE failure while the Manager keeps
27
+ * installing (#489). Bounding the phase well under that cap lets us hand back a
28
+ * "pending" result (poll the Manager queue) instead. Env-tunable; default 240s. */
29
+ function manifestNodeBudgetMs() {
30
+ const raw = Number(process.env.COMFYUI_MCP_MANIFEST_NODE_BUDGET_MS);
31
+ return Number.isFinite(raw) && raw > 0 ? raw : 240_000;
32
+ }
33
+ /** Sentinel returned by raceDeadline when the wall-clock deadline wins. */
34
+ const BUDGET_TIMEOUT = Symbol("manifest-node-budget-timeout");
35
+ /**
36
+ * Await `p` but never past the absolute `deadline` (Date.now() ms). Returns the
37
+ * resolved value, or BUDGET_TIMEOUT if the deadline elapses first. Bounds EVERY
38
+ * async wait in the custom-node phase (#489) — the install itself AND the
39
+ * surrounding listInstalledNodes round-trips — so a slow Manager can never push
40
+ * apply_manifest past the MCP tools/call timeout; it hands back "pending" instead.
41
+ *
42
+ * CAVEAT (single-threaded runtime): this bounds ASYNC work only. A SYNCHRONOUS
43
+ * subprocess install unit — the git-clone / cm-cli fallback (execFileSync), like
44
+ * pip — blocks the event loop, so the timer cannot preempt one already running;
45
+ * each is instead bounded by its OWN execFileSync timeout. The race is what fixes
46
+ * #489's actual case: the ASYNC Manager-queue polling that keeps running for
47
+ * minutes. `p` must not reject (callers pass a pre-caught promise).
48
+ */
49
+ async function raceDeadline(p, deadline) {
50
+ const remaining = deadline - Date.now();
51
+ if (remaining <= 0)
52
+ return BUDGET_TIMEOUT;
53
+ let timer;
54
+ const timeout = new Promise((resolve) => {
55
+ timer = setTimeout(() => resolve(BUDGET_TIMEOUT), remaining);
56
+ });
57
+ try {
58
+ return await Promise.race([p, timeout]);
59
+ }
60
+ finally {
61
+ if (timer)
62
+ clearTimeout(timer);
63
+ }
64
+ }
22
65
  const IS_WIN = platform() === "win32";
23
66
  const MAX_MANIFEST_BYTES = 1024 * 1024;
24
67
  const YAML_MAX_ALIAS_COUNT = 50;
@@ -88,14 +131,10 @@ function commandExists(cmd) {
88
131
  function resolveWorkspacePython(comfyuiPath) {
89
132
  if (process.env.COMFYUI_PYTHON)
90
133
  return process.env.COMFYUI_PYTHON;
91
- for (const venv of [".venv", "venv"]) {
92
- const py = IS_WIN
93
- ? join(comfyuiPath, venv, "Scripts", "python.exe")
94
- : join(comfyuiPath, venv, "bin", "python");
95
- if (existsSync(py))
96
- return py;
97
- }
98
- return IS_WIN ? "python" : "python3";
134
+ // Honors .venv/venv AND portable Windows layouts (python_embeded/standalone-env)
135
+ // so a manifest pip install targets the install's OWN interpreter, never a bare
136
+ // system python that would contaminate the host env (#463 codex review).
137
+ return resolveRootInterpreter(comfyuiPath);
99
138
  }
100
139
  function validatePipPackageSpec(pkg) {
101
140
  if (pkg.startsWith("-")) {
@@ -184,9 +223,6 @@ function nodeAlreadyInstalled(id, installed) {
184
223
  return candidates.includes(wanted) || (gitModule ? candidates.includes(gitModule) : false);
185
224
  });
186
225
  }
187
- function modelsRoot(comfyuiPath) {
188
- return join(comfyuiPath, "models");
189
- }
190
226
  function defaultFilenameForUrl(url) {
191
227
  return basename(new URL(url).pathname) || "model.safetensors";
192
228
  }
@@ -233,8 +269,15 @@ async function validateExistingModelAncestors(root, parent, realRoot, localPath)
233
269
  }
234
270
  }
235
271
  }
236
- async function resolveLocalModelPath(comfyuiPath, model) {
237
- const root = resolve(modelsRoot(comfyuiPath));
272
+ async function resolveLocalModelPath(model) {
273
+ // Root the target — and therefore the local_path symlink/containment guards
274
+ // below — at the SAME directory the downloader actually writes to: the live
275
+ // connected server's models dir (resolveModelsDir, live-first), NOT
276
+ // <COMFYUI_PATH>/models. When the connected install differs from a stale
277
+ // COMFYUI_PATH (#490), validating against COMFYUI_PATH/models would leave a
278
+ // symlink that escapes the LIVE models dir unchecked and redirect the write
279
+ // outside it. Same canonical root as the writer = one authoritative guard.
280
+ const root = resolve(await resolveModelsDir());
238
281
  if (model.local_path) {
239
282
  if (isAbsolute(model.local_path)) {
240
283
  throw new ValidationError(`Model local_path must be relative to models/: ${model.local_path}`);
@@ -430,41 +473,61 @@ async function installedNodesOrEmpty() {
430
473
  }
431
474
  export async function applyManifest(opts) {
432
475
  const manifest = await resolveManifest(opts);
433
- // #390 (call-scoped): adopt a saved default workspace as the local FS target
434
- // for THIS call ONLY never persist it process-wide. Persisting
435
- // config.comfyuiPath would make a later apply route to a stale/other workspace
436
- // (and would never re-read a changed default), and would leak the adopted path
437
- // to every other tab/tool sharing this process. Temp-set for the duration of
438
- // the apply and always restore in finally. Safe for the background downloads
439
- // enqueued below: downloadModel resolves its destination from the LIVE server's
440
- // models dir (resolveModelSubfolderPreferServer), not config.comfyuiPath, so a
441
- // restore before a job finishes cannot misplace the file.
442
- const adopted = adoptableLocalWorkspace();
443
- const priorComfyuiPath = config.comfyuiPath;
444
- if (adopted) {
445
- logger.info("apply_manifest: adopting saved default workspace as the local ComfyUI path for this call (COMFYUI_PATH unset)", { path: adopted });
446
- config.comfyuiPath = adopted;
447
- }
448
- try {
449
- return await applyManifestSections(manifest);
450
- }
451
- finally {
452
- if (adopted)
453
- config.comfyuiPath = priorComfyuiPath;
476
+ // Resolve the LOCAL ComfyUI base this call should target, WITHOUT mutating the
477
+ // process-global config.comfyuiPath (a global temp-set would leak the path to
478
+ // every concurrent tab/tool and could be clobbered by an interleaved restore —
479
+ // #490/#463 codex review). We thread it explicitly to applyManifestSections
480
+ // instead. Precedence, local mode only:
481
+ // 1. config.comfyuiPath (COMFYUI_PATH / auto-detect) unchanged, wins.
482
+ // 2. saved default workspace (#390).
483
+ // 3. the LIVE connected server's own install root from /system_stats argv
484
+ // (#463) a panel-connected local session with no COMFYUI_PATH still has
485
+ // a real FS target, so models/pip aren't skipped as "no local filesystem".
486
+ // The actual on-disk model DESTINATION is always re-derived live-first by the
487
+ // downloader (resolveModelsDir), so this base only governs the local-vs-remote
488
+ // classification + pip's interpreter, never where a model lands.
489
+ const localBase = await resolveLocalManifestBase();
490
+ return applyManifestSections(manifest, localBase);
491
+ }
492
+ /**
493
+ * The effective LOCAL ComfyUI base for an apply_manifest call. Never mutates
494
+ * global config. Returns undefined in remote/cloud mode or when no local install
495
+ * can be found (COMFYUI_PATH unset, no saved default, no reachable live server).
496
+ */
497
+ async function resolveLocalManifestBase() {
498
+ if (config.comfyuiPath)
499
+ return config.comfyuiPath;
500
+ if (isRemoteMode())
501
+ return undefined;
502
+ const saved = adoptableLocalWorkspace();
503
+ if (saved)
504
+ return saved;
505
+ // #463: a live LOCAL ComfyUI is connected but COMFYUI_PATH/default are unset.
506
+ // Adopt its own install root (from /system_stats argv) only when it exists and
507
+ // looks like a ComfyUI install.
508
+ const liveBase = await resolveLiveComfyUIBase();
509
+ if (liveBase &&
510
+ existsSync(liveBase) &&
511
+ (existsSync(join(liveBase, "models")) ||
512
+ existsSync(join(liveBase, "custom_nodes")))) {
513
+ logger.info("apply_manifest: targeting the live connected ComfyUI root for this call (COMFYUI_PATH unset)", { path: liveBase });
514
+ return liveBase;
454
515
  }
516
+ return undefined;
455
517
  }
456
- async function applyManifestSections(manifest) {
518
+ async function applyManifestSections(manifest, localBase) {
457
519
  const results = [];
458
520
  // Per-section mode handling. A LOCAL filesystem is usable only when we are NOT
459
- // in remote (or cloud) mode AND COMFYUI_PATH is set (possibly a call-scoped
460
- // adopted workspace, see applyManifest); otherwise we are targeting a
461
- // remote/cloud ComfyUI over HTTP. Keying off isRemoteMode() (rather than mere
462
- // comfyuiPath presence) matters because a remote target can coexist with an
463
- // unrelated COMFYUI_PATH on this machine in that case we must still route
464
- // pip/model handling remotely instead of touching the local install/disk.
521
+ // in remote (or cloud) mode AND a local base was resolved (COMFYUI_PATH, saved
522
+ // default, or the live connected server's own root — see resolveLocalManifestBase,
523
+ // threaded here as `localBase` WITHOUT any global config mutation). Otherwise we
524
+ // are targeting a remote/cloud ComfyUI over HTTP. Keying off isRemoteMode()
525
+ // (rather than mere base presence) matters because a remote target can coexist
526
+ // with an unrelated COMFYUI_PATH on this machine in that case we must still
527
+ // route pip/model handling remotely instead of touching the local install/disk.
465
528
  // custom_nodes and models can still be handled remotely through ComfyUI-Manager's
466
529
  // HTTP API, but pip/apt have no remote equivalent.
467
- const comfyuiPath = config.comfyuiPath;
530
+ const comfyuiPath = localBase;
468
531
  const hasLocalFs = !isRemoteMode() && Boolean(comfyuiPath);
469
532
  for (const pkg of manifest.apt) {
470
533
  results.push(report("apt", pkg, "skipped", hasLocalFs
@@ -484,33 +547,85 @@ async function applyManifestSections(manifest) {
484
547
  results.push(report("pip", pkg, "failed", err instanceof Error ? err.message : String(err)));
485
548
  }
486
549
  }
487
- const installedNodes = await installedNodesOrEmpty();
550
+ // #489: bound the whole custom-node phase by a wall-clock budget. Each install
551
+ // drives the shared ComfyUI-Manager queue, which can legitimately run for
552
+ // minutes on a big pack; blocking until every one drains overruns the MCP
553
+ // tools/call timeout (300s) and the caller sees a FALSE failure while the
554
+ // Manager keeps installing. So we mirror the model-download grace pattern:
555
+ // install sequentially, but RACE each install against the remaining budget. If
556
+ // the budget wins, the install keeps running SERVER-SIDE (we stop awaiting it,
557
+ // swallowing its late result) and is reported "pending" — never failed — and
558
+ // every not-yet-started node is reported "pending" too. The caller polls the
559
+ // Manager queue / re-runs apply_manifest to finish. A node that SETTLES within
560
+ // budget is verified and reported applied/failed exactly as before.
561
+ const nodeDeadline = Date.now() + manifestNodeBudgetMs();
562
+ const pendingBudgetMessage = (started) => started
563
+ ? "Still installing on the ComfyUI-Manager queue when the apply_manifest time " +
564
+ "budget elapsed. This is NOT a failure — the install continues server-side. " +
565
+ "Poll the Manager queue for completion; do not re-issue this node."
566
+ : "Not started: the apply_manifest time budget elapsed while ComfyUI-Manager " +
567
+ "was still installing earlier packs. This is NOT a failure — poll the " +
568
+ "Manager queue for completion, then re-run apply_manifest to continue.";
569
+ let nodeBudgetSpent = false;
570
+ // Even the INITIAL installed-list probe is budget-bounded — a hung Manager here
571
+ // must not blow the tools/call timeout before we can report anything.
572
+ const initialList = await raceDeadline(installedNodesOrEmpty(), nodeDeadline);
573
+ const installedNodes = initialList === BUDGET_TIMEOUT ? [] : initialList;
574
+ if (initialList === BUDGET_TIMEOUT)
575
+ nodeBudgetSpent = true;
488
576
  for (const id of manifest.custom_nodes) {
489
577
  if (nodeAlreadyInstalled(id, installedNodes)) {
490
578
  results.push(report("custom_node", id, "skipped", "Custom node is already installed."));
491
579
  continue;
492
580
  }
493
- try {
494
- const res = await installCustomNode({ id });
495
- // ComfyUI-Manager marks a git-URL task "done" (queue drained) even when it
496
- // cloned NOTHING — e.g. a repo not in its registry resolves to nothing, no
497
- // dir is created, but the queue still empties cleanly. So a successful
498
- // installCustomNode() call is NOT proof of install. Re-query the installed
499
- // list (it reflects on-disk custom_nodes via Manager's
500
- // /v2/customnode/installed, so a freshly-cloned node shows up even before a
501
- // reboot) and confirm the node is actually present before reporting success.
502
- const verified = await installedNodesOrEmpty();
503
- if (nodeAlreadyInstalled(id, verified)) {
504
- installedNodes.length = 0;
505
- installedNodes.push(...verified);
506
- results.push(report("custom_node", id, "applied", res.message));
507
- }
508
- else {
509
- results.push(report("custom_node", id, "failed", `ComfyUI-Manager reported the install as queued/done, but the node is not present afterward — the source likely resolved to nothing (a git URL that isn't in the Manager registry won't clone). Install it directly (git clone into custom_nodes) or use a registry id. ${res.message}`));
510
- }
581
+ if (nodeBudgetSpent || Date.now() >= nodeDeadline) {
582
+ nodeBudgetSpent = true;
583
+ results.push(report("custom_node", id, "pending", pendingBudgetMessage(false)));
584
+ continue;
511
585
  }
512
- catch (err) {
513
- results.push(report("custom_node", id, "failed", err instanceof Error ? err.message : String(err)));
586
+ // Never REJECTS: fold success/failure into a tagged value so the un-awaited
587
+ // promise (when the deadline wins) can't surface as an unhandled rejection.
588
+ // Thread the call-scoped local base (no global config mutation) so the
589
+ // git-clone / ref-checkout fallback works for an adopted saved-default/live
590
+ // workspace when COMFYUI_PATH is unset (#463).
591
+ const installOutcome = installCustomNode({ id, comfyuiPath: localBase })
592
+ .then((res) => ({ kind: "settled", res }))
593
+ .catch((err) => ({ kind: "error", err }));
594
+ const outcome = await raceDeadline(installOutcome, nodeDeadline);
595
+ if (outcome === BUDGET_TIMEOUT) {
596
+ // Budget spent mid-install: leave it running server-side (installOutcome
597
+ // already has a .catch, so its eventual settle is safely ignored) and stop
598
+ // blocking on the remaining nodes.
599
+ nodeBudgetSpent = true;
600
+ results.push(report("custom_node", id, "pending", pendingBudgetMessage(true)));
601
+ continue;
602
+ }
603
+ if (outcome.kind === "error") {
604
+ results.push(report("custom_node", id, "failed", outcome.err instanceof Error ? outcome.err.message : String(outcome.err)));
605
+ continue;
606
+ }
607
+ // ComfyUI-Manager marks a git-URL task "done" (queue drained) even when it
608
+ // cloned NOTHING — e.g. a repo not in its registry resolves to nothing, no
609
+ // dir is created, but the queue still empties cleanly. So a successful
610
+ // installCustomNode() call is NOT proof of install. Re-query the installed
611
+ // list (it reflects on-disk custom_nodes via Manager's
612
+ // /v2/customnode/installed, so a freshly-cloned node shows up even before a
613
+ // reboot) and confirm the node is actually present before reporting success.
614
+ // Budget-bounded too: if the confirm can't complete in time we report pending
615
+ // (conservative — the install itself already settled) rather than overrun.
616
+ const verified = await raceDeadline(installedNodesOrEmpty(), nodeDeadline);
617
+ if (verified === BUDGET_TIMEOUT) {
618
+ nodeBudgetSpent = true;
619
+ results.push(report("custom_node", id, "pending", pendingBudgetMessage(true)));
620
+ continue;
621
+ }
622
+ if (nodeAlreadyInstalled(id, verified)) {
623
+ installedNodes.length = 0;
624
+ installedNodes.push(...verified);
625
+ results.push(report("custom_node", id, "applied", outcome.res.message));
626
+ }
627
+ else {
628
+ results.push(report("custom_node", id, "failed", `ComfyUI-Manager reported the install as queued/done, but the node is not present afterward — the source likely resolved to nothing (a git URL that isn't in the Manager registry won't clone). Install it directly (git clone into custom_nodes) or use a registry id. ${outcome.res.message}`));
514
629
  }
515
630
  }
516
631
  // #362: enqueue ALL local model downloads to the background job registry FIRST
@@ -548,7 +663,7 @@ async function applyManifestSections(manifest) {
548
663
  results.push(report("model", item, "applied", res.message));
549
664
  continue;
550
665
  }
551
- const target = await resolveLocalModelPath(comfyuiPath, model);
666
+ const target = await resolveLocalModelPath(model);
552
667
  const existing = await findExistingModel(target);
553
668
  if (existing) {
554
669
  results.push(report("model", item, "skipped", `Model already exists at ${existing}.`));
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/services/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/services/manifest.ts"],"names":[],"mappings":"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"}