comfyui-mcp 0.11.1 → 0.13.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/CHANGELOG.md +105 -2
- package/README.md +15 -5
- package/dist/comfyui/client.js +20 -1
- package/dist/comfyui/client.js.map +1 -1
- package/dist/config.js +9 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +35 -11
- package/dist/index.js.map +1 -1
- package/dist/services/generate-audio.js +106 -0
- package/dist/services/generate-audio.js.map +1 -0
- package/dist/services/process-control.js +13 -1
- package/dist/services/process-control.js.map +1 -1
- package/dist/services/ui-bridge.js +162 -74
- package/dist/services/ui-bridge.js.map +1 -1
- package/dist/services/workflow-composer.js +147 -0
- package/dist/services/workflow-composer.js.map +1 -1
- package/dist/tools/generate-audio.js +114 -0
- package/dist/tools/generate-audio.js.map +1 -0
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/install-comfyui.js +6 -1
- package/dist/tools/install-comfyui.js.map +1 -1
- package/dist/tools/panel.js +118 -14
- package/dist/tools/panel.js.map +1 -1
- package/dist/utils/errors.js +6 -0
- package/dist/utils/errors.js.map +1 -1
- package/package.json +2 -2
- package/plugin/.mcp.json +7 -0
- package/scripts/gen-tool-docs.ts +9 -3
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,99 @@ All notable changes to this project are documented here. This project adheres to
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## [0.13.0] - 2026-06-15
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **`generate_audio` tool — audio generation from text prompts.** Supports ACE Step 1.5 (music with lyrics/structure/ key/language) and Stable Audio 3 (music, instruments, SFX). Builds the appropriate workflow graph, auto-selects local models (`diffusion_models`, `vae`, `text_encoders`, `checkpoints`), and enqueues via the existing pipeline. Two new `create_workflow` templates: `ace_step_15` and `stable_audio_3`. Requires a ComfyUI build with built-in audio nodes (`EmptyLatentAudio`, `VAEDecodeAudio`, `SaveAudioMP3`, etc.) — included in ComfyUI ≥0.11.1. Now covered by a `generate-audio` smoke-test suite (graph construction + model auto-resolution + validation for both families) and the generated tool docs (89/89 tools documented).
|
|
14
|
+
|
|
15
|
+
- **Plugin bundles the Civitai MCP — headless pairing.** `plugin/.mcp.json`
|
|
16
|
+
now declares the official [Civitai MCP](https://mcp.civitai.com/mcp) remote
|
|
17
|
+
server (streamable HTTP) alongside comfyui, so `/plugin install comfy`
|
|
18
|
+
auto-wires `mcp__civitai__*` with no `claude mcp add` and no API key for
|
|
19
|
+
browsing — the `Authorization` header defaults to an empty Bearer
|
|
20
|
+
(`Bearer ${CIVITAI_API_TOKEN:-}`), which Civitai accepts for its read tools
|
|
21
|
+
(verified: `tools/list` + `search_models` both work unauthenticated). Set
|
|
22
|
+
`CIVITAI_API_TOKEN` to unlock gated downloads and account context — the same
|
|
23
|
+
variable comfyui-mcp already uses for `download_civitai_model`.
|
|
24
|
+
|
|
25
|
+
- **`requireLocalComfyUI()` guard in client.** New assertion that blocks tools
|
|
26
|
+
needing local ComfyUI filesystem access when using `--comfyui-url` with a
|
|
27
|
+
non-loopback host and when `COMFYUI_PATH` is unset.
|
|
28
|
+
|
|
29
|
+
- **`RemoteModeError` error class.** Dedicated error type for operations that
|
|
30
|
+
are incompatible with remote ComfyUI targets.
|
|
31
|
+
|
|
32
|
+
- **Remote mode guard for install/start/stop/restart tools.** `install_comfyui`,
|
|
33
|
+
`start_comfyui`, `stop_comfyui`, and `restart_comfyui` now throw a clear error
|
|
34
|
+
when `--comfyui-url` points at a remote (non-loopback) host.
|
|
35
|
+
|
|
36
|
+
_The `generate_audio` tool and the remote-mode guards / Windows test fixes in
|
|
37
|
+
this release were contributed by [@x-yahya997](https://github.com/x-yahya997)
|
|
38
|
+
(`x-yahya997/comfyui-mcp@c2ff7a9`, `@27e7f02`) — thank you._
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
|
|
42
|
+
- **Warn when COMFYUI_URL and COMFYUI_PATH conflict.** Config now prints a
|
|
43
|
+
warning to stderr when both variables are set simultaneously.
|
|
44
|
+
|
|
45
|
+
- **process-control tests pass on Windows.** Port-detection mocks now handle
|
|
46
|
+
both `netstat` (Windows) and `lsof` (Unix) commands, and the config mock
|
|
47
|
+
exports `isRemoteMode`.
|
|
48
|
+
|
|
49
|
+
## [0.12.0] - 2026-06-13
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- **Panel messages now push into Claude Code for real.** The server now
|
|
54
|
+
declares the experimental `claude/channel` capability and sends
|
|
55
|
+
`notifications/claude/channel` with the host's expected
|
|
56
|
+
`{ content, meta }` shape — previously the capability was missing and
|
|
57
|
+
the params were a flat custom object, so Claude Code silently dropped
|
|
58
|
+
every panel message and only `panel_inbox` polling worked.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- **`civitai` plugin skill (16 skills total).** Pairs the official
|
|
63
|
+
[Civitai MCP](https://mcp.civitai.com/mcp) with comfyui-mcp instead of
|
|
64
|
+
proxying it: Claude discovers models on Civitai, hands the returned
|
|
65
|
+
model-version id to `download_civitai_model`, and installs/wires/generates
|
|
66
|
+
locally — falling back to HuggingFace search when the Civitai MCP isn't
|
|
67
|
+
connected. The `comfy-researcher` agent now prefers Civitai discovery for
|
|
68
|
+
model (not node-pack) requests when those tools are present. Docs gained a
|
|
69
|
+
"Pairs with the official Civitai MCP" section.
|
|
70
|
+
- **Multi-tab panel bridge.** Each ComfyUI browser tab now holds its own
|
|
71
|
+
identified bridge connection — the panel sends a `hello` frame with a
|
|
72
|
+
per-tab session id and the open workflow's title, `panel_status` lists
|
|
73
|
+
every connected tab, and all graph tools accept an optional `tab_id`
|
|
74
|
+
(full id or 8-char prefix). Routing default when omitted: the only
|
|
75
|
+
connected tab → the tab the user most recently typed in → an error
|
|
76
|
+
listing the tabs. `panel_say` broadcasts unless targeted; inbox entries
|
|
77
|
+
and channel notifications carry which tab/workflow spoke. Previously a
|
|
78
|
+
second tab silently stole the single connection.
|
|
79
|
+
- **`panel_clear` tool** — remove every node from the open graph in one
|
|
80
|
+
step; the whole wipe is a single Ctrl+Z undo (panel pack executes it
|
|
81
|
+
inside one `beforeChange`/`afterChange` pair).
|
|
82
|
+
- **Six more panel tools — full control of the open ComfyUI tab:**
|
|
83
|
+
`panel_move_node`, `panel_canvas` (fit / center-on-node / pan / zoom),
|
|
84
|
+
`panel_run` (queue the open workflow with live widget values),
|
|
85
|
+
`panel_get_errors` (last execution error + node validation errors),
|
|
86
|
+
`panel_save_workflow` (Ctrl+S or save-as/duplicate), and
|
|
87
|
+
`panel_get_subgraph` (drill into a subgraph node). `panel_get_graph` now
|
|
88
|
+
reports which graph the user is viewing and summarizes subgraph nodes
|
|
89
|
+
shallowly (boundary slots + inner count). Panel user messages carry the
|
|
90
|
+
opened subgraph in channel-event meta and inbox entries.
|
|
91
|
+
- **Panel v0.3 (in progress, [comfyui-mcp-panel](https://github.com/artokun/comfyui-mcp-panel)):**
|
|
92
|
+
native ComfyUI design-system restyle (PrimeVue semantic tokens, theme-
|
|
93
|
+
tracking), activity cards for every agent graph edit, empty-state
|
|
94
|
+
onboarding, "Claude is working…" typing indicator. Polished registry
|
|
95
|
+
release **coming soon**.
|
|
96
|
+
|
|
97
|
+
[0.13.0]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.13.0
|
|
98
|
+
[0.12.0]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.12.0
|
|
99
|
+
|
|
100
|
+
## [0.11.1] - 2026-06-12
|
|
101
|
+
|
|
9
102
|
### Added
|
|
10
103
|
|
|
11
104
|
- **`model-registry` plugin skill** — one curated table of download URLs +
|
|
@@ -29,6 +122,10 @@ All notable changes to this project are documented here. This project adheres to
|
|
|
29
122
|
[`/plugin`](https://comfyui-mcp.artokun.io/docs/plugin) documenting the
|
|
30
123
|
full skill/command/agent/hook surface.
|
|
31
124
|
|
|
125
|
+
## [0.11.0] - 2026-06-12
|
|
126
|
+
|
|
127
|
+
### Added
|
|
128
|
+
|
|
32
129
|
- **Channels mode (`--channels`) — your own agent session drives the ComfyUI
|
|
33
130
|
sidebar panel. No LLM API keys.** The server hosts a loopback WebSocket
|
|
34
131
|
bridge (`COMFYUI_MCP_BRIDGE_PORT`, default 9101) that the
|
|
@@ -42,7 +139,6 @@ All notable changes to this project are documented here. This project adheres to
|
|
|
42
139
|
events on hosts that surface them. Bridge design (rid-correlated
|
|
43
140
|
request/reply, loopback-only, last-writer-wins) ported from the author's
|
|
44
141
|
node-lab project. New dependency: `ws`.
|
|
45
|
-
|
|
46
142
|
- **Live graph edits for the agent panel** (superseded same-day by channels
|
|
47
143
|
mode above, retained as the legacy API-key path). The experimental
|
|
48
144
|
`/api/chat` backend declares six client-side `graph_*` tools that the
|
|
@@ -52,6 +148,8 @@ All notable changes to this project are documented here. This project adheres to
|
|
|
52
148
|
step 4, built on v1 LiteGraph shims instead of waiting for
|
|
53
149
|
`@comfyorg/extension-api` v2.
|
|
54
150
|
|
|
151
|
+
## [0.10.1] - 2026-06-12
|
|
152
|
+
|
|
55
153
|
### Fixed
|
|
56
154
|
|
|
57
155
|
- **Long jobs no longer killed at 10 minutes.** The job watcher's completion
|
|
@@ -73,6 +171,8 @@ All notable changes to this project are documented here. This project adheres to
|
|
|
73
171
|
unaffected. Idea from
|
|
74
172
|
[josephoibrahim/comfy-cozy](https://github.com/josephoibrahim/comfy-cozy).
|
|
75
173
|
|
|
174
|
+
## [0.10.0] - 2026-06-11
|
|
175
|
+
|
|
76
176
|
### Added
|
|
77
177
|
|
|
78
178
|
- **`lock_workflow` + `verify_workflow_lock`** — provenance sidecars for
|
|
@@ -88,7 +188,6 @@ All notable changes to this project are documented here. This project adheres to
|
|
|
88
188
|
bumps). Local install required for v1 (SHA-256 needs file bytes;
|
|
89
189
|
commits come from `custom_nodes/*/.git/HEAD`). Idea from
|
|
90
190
|
[josephoibrahim/comfy-cozy](https://github.com/josephoibrahim/comfy-cozy).
|
|
91
|
-
|
|
92
191
|
- **Resumable model downloads.** Big-model fetches (10–40 GB checkpoints over
|
|
93
192
|
flaky connections to HuggingFace / CivitAI / S3) used to start from byte 0
|
|
94
193
|
every retry. The download cache now writes to a deterministic
|
|
@@ -453,6 +552,10 @@ subprocess fallback where the API can't do the job.
|
|
|
453
552
|
|
|
454
553
|
Earlier releases predate this changelog.
|
|
455
554
|
|
|
555
|
+
[0.11.1]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.11.1
|
|
556
|
+
[0.11.0]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.11.0
|
|
557
|
+
[0.10.1]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.10.1
|
|
558
|
+
[0.10.0]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.10.0
|
|
456
559
|
[0.9.5]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.9.5
|
|
457
560
|
[0.9.4]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.9.4
|
|
458
561
|
[0.9.3]: https://github.com/artokun/comfyui-mcp/releases/tag/v0.9.3
|
package/README.md
CHANGED
|
@@ -12,10 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
Works on **macOS**, **Linux**, and **Windows**. Auto-detects your ComfyUI installation and port.
|
|
14
14
|
|
|
15
|
-
**
|
|
15
|
+
**89 MCP tools** | **16 AI skills** (Flux · WAN · LTX video · Qwen · Z-Image · model registry · Civitai · node authoring) | **11 slash commands** | **4 autonomous agents** | **4 hooks**
|
|
16
16
|
|
|
17
17
|
The plugin ships **expert skills that grow with every release** — model-specific generation guides with curated download URLs, workflow recipes, troubleshooting, and custom-node authoring — so Claude knows the right sampler, CFG, resolution, and model files for each architecture without trial and error.
|
|
18
18
|
|
|
19
|
+
> ### 🚧 Coming soon: the [ComfyUI MCP Panel](https://github.com/artokun/comfyui-mcp-panel) on ComfyUI-Manager & the Comfy Registry
|
|
20
|
+
> Claude in your ComfyUI sidebar — live graph edits, activity cards, multi-tab, zero API keys.
|
|
21
|
+
> v0.3 is in final testing. [Read more →](https://comfyui-mcp.artokun.io/docs/panel)
|
|
22
|
+
|
|
19
23
|
📖 **Full documentation: [comfyui-mcp.artokun.io/docs](https://comfyui-mcp.artokun.io/docs)**
|
|
20
24
|
|
|
21
25
|
---
|
|
@@ -87,7 +91,7 @@ This package also ships as a **Claude Code plugin**, providing slash commands, s
|
|
|
87
91
|
|
|
88
92
|
### Built-in skills
|
|
89
93
|
|
|
90
|
-
|
|
94
|
+
16 skills total — model-family guides (Flux, WAN, LTX, Qwen, Z-Image), the **model-registry** (curated download URLs), the **civitai** pairing skill, node authoring, and the core four below. Full list on the [plugin docs page](https://comfyui-mcp.artokun.io/docs/plugin).
|
|
91
95
|
|
|
92
96
|
| Skill | Description |
|
|
93
97
|
|-------|-------------|
|
|
@@ -122,7 +126,7 @@ This package also ships as a **Claude Code plugin**, providing slash commands, s
|
|
|
122
126
|
|
|
123
127
|
## MCP Tools
|
|
124
128
|
|
|
125
|
-
|
|
129
|
+
47 tools across workflow execution, generation, iteration, composition, models, and more:
|
|
126
130
|
|
|
127
131
|
### Image Generation (high-level)
|
|
128
132
|
|
|
@@ -132,6 +136,12 @@ This package also ships as a **Claude Code plugin**, providing slash commands, s
|
|
|
132
136
|
| `generate_with_controlnet` | Generate conditioned by a ControlNet image (pose/depth/canny/normal) + prompt |
|
|
133
137
|
| `generate_with_ip_adapter` | Generate guided by a reference image's style/subject via IP-Adapter (needs ComfyUI_IPAdapter_plus) |
|
|
134
138
|
|
|
139
|
+
### Audio Generation (high-level)
|
|
140
|
+
|
|
141
|
+
| Tool | Description |
|
|
142
|
+
|------|-------------|
|
|
143
|
+
| `generate_audio` | Generate audio from a text prompt — supports ACE Step 1.5 (music with lyrics/structure) and Stable Audio 3 (music, instruments, SFX); auto-selects local models |
|
|
144
|
+
|
|
135
145
|
### Assets & Iteration
|
|
136
146
|
|
|
137
147
|
| Tool | Description |
|
|
@@ -169,7 +179,7 @@ This package also ships as a **Claude Code plugin**, providing slash commands, s
|
|
|
169
179
|
|
|
170
180
|
| Tool | Description |
|
|
171
181
|
|------|-------------|
|
|
172
|
-
| `create_workflow` | Generate a workflow from templates: `txt2img`, `img2img`, `upscale`, `inpaint` |
|
|
182
|
+
| `create_workflow` | Generate a workflow from templates: `txt2img`, `img2img`, `upscale`, `inpaint`, `controlnet`, `ip_adapter`, `ace_step_15`, `stable_audio_3` |
|
|
173
183
|
| `modify_workflow` | Apply operations: `set_input`, `add_node`, `remove_node`, `connect`, `insert_between` |
|
|
174
184
|
| `get_node_info` | Query available node types from ComfyUI's `/object_info` endpoint |
|
|
175
185
|
|
|
@@ -201,7 +211,7 @@ This package also ships as a **Claude Code plugin**, providing slash commands, s
|
|
|
201
211
|
|------|-------------|
|
|
202
212
|
| `search_models` | Search HuggingFace for compatible models (checkpoints, LoRAs, VAEs, etc.) |
|
|
203
213
|
| `download_model` | Download a model from a URL to the correct ComfyUI subdirectory |
|
|
204
|
-
| `list_local_models` | List installed models by type: checkpoints, loras, vae, upscale_models, controlnet, embeddings, clip, unet |
|
|
214
|
+
| `list_local_models` | List installed models by type: checkpoints, loras, vae, upscale_models, controlnet, embeddings, clip, unet, diffusion_models, text_encoders |
|
|
205
215
|
|
|
206
216
|
### Memory Management
|
|
207
217
|
|
package/dist/comfyui/client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Client } from "@stable-canvas/comfyui-client";
|
|
2
|
-
import { config, getComfyUIApiHost, getComfyUIProtocol, isCloudMode, } from "../config.js";
|
|
2
|
+
import { config, getComfyUIApiHost, getComfyUIProtocol, isCloudMode, isRemoteMode, } from "../config.js";
|
|
3
3
|
import { logger } from "../utils/logger.js";
|
|
4
4
|
import { ComfyUIError, ConnectionError } from "../utils/errors.js";
|
|
5
5
|
import * as cloudClient from "./cloud-client.js";
|
|
@@ -14,6 +14,25 @@ function requireLocalMode(op) {
|
|
|
14
14
|
`Unset COMFYUI_API_KEY to target a local or remote ComfyUI instance.`, "CLOUD_UNSUPPORTED");
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Assert that we are in pure local mode (not cloud, not remote) and that
|
|
19
|
+
* `config.comfyuiPath` is available. Unlike `requireLocalMode` which only
|
|
20
|
+
* blocks cloud mode, this also throws when `--comfyui-url` points at a
|
|
21
|
+
* non-loopback host (remote mode). Tools that spawn OS processes or read/write
|
|
22
|
+
* the local ComfyUI filesystem MUST call this guard.
|
|
23
|
+
*/
|
|
24
|
+
function requireLocalComfyUI(op) {
|
|
25
|
+
requireLocalMode(op);
|
|
26
|
+
if (isRemoteMode()) {
|
|
27
|
+
throw new ComfyUIError(`This operation (${op}) requires a local ComfyUI installation and is not available ` +
|
|
28
|
+
`when targeting a remote instance via --comfyui-url. Unset --comfyui-url or ` +
|
|
29
|
+
`point it at a local address to use this tool.`, "REMOTE_UNSUPPORTED");
|
|
30
|
+
}
|
|
31
|
+
if (!config.comfyuiPath) {
|
|
32
|
+
throw new ComfyUIError(`This operation (${op}) requires a local ComfyUI installation but COMFYUI_PATH ` +
|
|
33
|
+
`is not set. Set the COMFYUI_PATH environment variable to the ComfyUI root directory.`, "NO_LOCAL_PATH");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
17
36
|
let clientInstance = null;
|
|
18
37
|
export function getClient() {
|
|
19
38
|
requireLocalMode("getClient");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAC;AAGjD,gFAAgF;AAChF,8EAA8E;AAC9E,4EAA4E;AAC5E,iEAAiE;AACjE,yCAAyC;AACzC,SAAS,gBAAgB,CAAC,EAAU;IAClC,IAAI,WAAW,EAAE,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CACpB,6CAA6C,EAAE,8CAA8C;YAC3F,qEAAqE,EACvE,mBAAmB,CACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,EAAU;IACrC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrB,IAAI,YAAY,EAAE,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CACpB,mBAAmB,EAAE,+DAA+D;YAClF,6EAA6E;YAC7E,+CAA+C,EACjD,oBAAoB,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,YAAY,CACpB,mBAAmB,EAAE,2DAA2D;YAC9E,sFAAsF,EACxF,eAAe,CAChB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,IAAI,cAAc,GAAkB,IAAI,CAAC;AAEzC,MAAM,UAAU,SAAS;IACvB,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc,GAAG,IAAI,MAAM,CAAC;YAC1B,QAAQ,EAAE,iBAAiB,EAAE;YAC7B,GAAG,EAAE,MAAM,CAAC,UAAU;YACtB,QAAQ,EAAE,aAAa;YACvB,qCAAqC;SACtC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,IAAI,EAAE,iBAAiB,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,eAAe,CACvB,mCAAmC,iBAAiB,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACtG,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,kDAAkD;IAClD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,wCAAwC;IACxC,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC9D,WAAW,EAAE,CAAC;IAEd,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;QACnE,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAClE,WAAW,EAAE,CAAC;QACd,IAAI,CAAC;YACH,OAAO,MAAM,aAAa,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,eAAe,CACvB,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;IAC5C,OAAO,KAA+B,CAAC;AACzC,CAAC;AAED,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,sEAAsE;AACtE,6EAA6E;AAC7E,IAAI,eAAe,GAAsB,IAAI,CAAC;AAC9C,IAAI,kBAAkB,GAA+B,IAAI,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,aAAa,EAAE,CAAC;IACtD,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAC5C,IAAI,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAElD,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,WAAW,EAAE,CAA0B,CAAC;QACnE,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,CAAC;QACH,OAAO,MAAM,kBAAkB,CAAC;IAClC,CAAC;YAAS,CAAC;QACT,kBAAkB,GAAG,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,eAAe,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAA6B,CAAC;IACjE,OAAO;QACL,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,CAAiC;QAC3F,aAAa,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,aAAa,IAAI,EAAE,CAAiC;KAC5F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAiB;IAC/C,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAiC,EACjC,SAAmC;IAEnC,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,wEAAwE;IACxE,4EAA4E;IAC5E,iFAAiF;IACjF,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,GAAG,kBAAkB,EAAE,MAAM,iBAAiB,EAAE,SAAS,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,aAAa;gBACxB,UAAU,EAAE,SAAS;aACtB,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,eAAe,CACvB,4BAA4B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAClF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA2C,CAAC;QAC1E,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe;KACnD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAU;IAC9C,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,UAAU,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,aAAa,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,aAAa,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;IACjD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;QACD,cAAc,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC;IACvD,OAAO,MAAM,CAAC,WAAW,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAE9B,oEAAoE;IACpE,oDAAoD;IACpD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAaD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAiB;IAEjB,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC,IAAI,EAA2C,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAAgB,EAChB,OAAoC,QAAQ,EAC5C,SAAS,GAAG,EAAE;IAEd,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,SAAS,QAAQ,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC;IACnE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,IAAY,EACZ,QAAQ,GAAG,WAAW;IAEtB,IAAI,WAAW,EAAE;QAAE,OAAO,WAAW,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,EAAgE,CAAC;AAClF,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -97,8 +97,15 @@ function isLoopbackHost(host) {
|
|
|
97
97
|
* COMFYUI_PATH env var still wins.
|
|
98
98
|
*/
|
|
99
99
|
function resolveComfyUIPath(envPath, opts) {
|
|
100
|
-
if (envPath)
|
|
100
|
+
if (envPath) {
|
|
101
|
+
if (opts.remoteUrl) {
|
|
102
|
+
console.error(`[comfyui-mcp] WARNING: Both COMFYUI_URL (remote ComfyUI at ${opts.remoteHost})` +
|
|
103
|
+
` and COMFYUI_PATH (${envPath}) are set.\n` +
|
|
104
|
+
` Filesystem operations will use ${envPath} while API calls go to ${opts.remoteHost}.\n` +
|
|
105
|
+
` Unset COMFYUI_PATH if you only intended to target the remote instance.`);
|
|
106
|
+
}
|
|
101
107
|
return envPath;
|
|
108
|
+
}
|
|
102
109
|
if (opts.remoteUrl || opts.cloud) {
|
|
103
110
|
return undefined;
|
|
104
111
|
}
|
|
@@ -196,6 +203,7 @@ const parsedConfig = configSchema.parse({
|
|
|
196
203
|
comfyuiPath: resolveComfyUIPath(process.env.COMFYUI_PATH, {
|
|
197
204
|
remoteUrl: remoteUrlActive,
|
|
198
205
|
cloud: cloudActive,
|
|
206
|
+
remoteHost: urlOverride?.host ? `${urlOverride.host}:${urlOverride.port}` : undefined,
|
|
199
207
|
}),
|
|
200
208
|
comfyuiApiKey: cloudApiKey,
|
|
201
209
|
comfyuiCloudUrl: process.env.COMFYUI_CLOUD_URL,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -23,20 +23,29 @@ function enableChannels(server) {
|
|
|
23
23
|
bridge.onPanelMessage = (event) => {
|
|
24
24
|
if (event.type !== "user_message" || typeof event.text !== "string")
|
|
25
25
|
return;
|
|
26
|
-
enqueuePanelMessage(event.text
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
//
|
|
26
|
+
enqueuePanelMessage(event.text, {
|
|
27
|
+
tab_id: event.tab_id,
|
|
28
|
+
title: event.title,
|
|
29
|
+
subgraph: event.context?.subgraph,
|
|
30
|
+
});
|
|
31
|
+
// Echo into the originating tab so the user sees their message land.
|
|
32
|
+
bridge.push({ type: "echo", text: event.text }, event.tab_id);
|
|
33
|
+
// Push into the agent session as a channel event. Requires the
|
|
34
|
+
// `claude/channel` experimental capability declared at construction;
|
|
35
|
+
// the host injects { content, meta } as a <channel> block in the
|
|
36
|
+
// prompt. panel_inbox remains the pull fallback for other hosts.
|
|
32
37
|
void server.server
|
|
33
38
|
.notification({
|
|
34
39
|
method: "notifications/claude/channel",
|
|
35
40
|
params: {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
content: event.text,
|
|
42
|
+
meta: {
|
|
43
|
+
source: "comfyui-panel",
|
|
44
|
+
kind: "user_message",
|
|
45
|
+
...(event.tab_id ? { tab_id: event.tab_id } : {}),
|
|
46
|
+
...(event.title ? { workflow: event.title } : {}),
|
|
47
|
+
...(event.context?.subgraph ? { subgraph: event.context.subgraph } : {}),
|
|
48
|
+
},
|
|
40
49
|
},
|
|
41
50
|
})
|
|
42
51
|
.catch((err) => {
|
|
@@ -59,7 +68,22 @@ async function createConfiguredServer(channels = false) {
|
|
|
59
68
|
// expose resources or prompts today; advertising them is spec-correct
|
|
60
69
|
// when paired with a list handler that returns the empty set.
|
|
61
70
|
// Reported by @ductiletoaster in #29.
|
|
62
|
-
capabilities: {
|
|
71
|
+
capabilities: {
|
|
72
|
+
tools: {},
|
|
73
|
+
resources: {},
|
|
74
|
+
prompts: {},
|
|
75
|
+
// Channels mode: declaring the experimental `claude/channel`
|
|
76
|
+
// capability is what makes Claude Code surface our
|
|
77
|
+
// `notifications/claude/channel` pushes (panel user messages) as
|
|
78
|
+
// <channel> events in the agent's prompt. Without it the host
|
|
79
|
+
// silently drops them.
|
|
80
|
+
...(channels ? { experimental: { "claude/channel": {} } } : {}),
|
|
81
|
+
},
|
|
82
|
+
...(channels
|
|
83
|
+
? {
|
|
84
|
+
instructions: 'Messages the user types into the ComfyUI sidebar panel arrive as <channel source="comfyui-panel" kind="user_message"> events (with the tab_id and workflow title in meta). Act on them and reply with the panel_say tool — that is the only way your words reach the panel. panel_inbox is the pull fallback on hosts without channel support.',
|
|
85
|
+
}
|
|
86
|
+
: {}),
|
|
63
87
|
});
|
|
64
88
|
await registerAllTools(server);
|
|
65
89
|
server.server.setRequestHandler(ListResourcesRequestSchema, async () => ({
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,kCAAkC,GACnC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAiB;IACvC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QAC5E,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { createWorkflow } from "./workflow-composer.js";
|
|
2
|
+
import { DefaultsManager } from "./defaults-manager.js";
|
|
3
|
+
import { ValidationError } from "../utils/errors.js";
|
|
4
|
+
const DEFAULTABLE_KEYS = [
|
|
5
|
+
"seed",
|
|
6
|
+
"steps",
|
|
7
|
+
"cfg",
|
|
8
|
+
"sampler",
|
|
9
|
+
"scheduler",
|
|
10
|
+
"filename_prefix",
|
|
11
|
+
"unet",
|
|
12
|
+
"vae",
|
|
13
|
+
"clip_a",
|
|
14
|
+
"clip_b",
|
|
15
|
+
"lyrics",
|
|
16
|
+
"language",
|
|
17
|
+
"musical_key",
|
|
18
|
+
"shift",
|
|
19
|
+
"guidance_scale",
|
|
20
|
+
"checkpoint",
|
|
21
|
+
"clip",
|
|
22
|
+
"negative_prompt",
|
|
23
|
+
];
|
|
24
|
+
export async function generateAudio(args, deps) {
|
|
25
|
+
if (!args.prompt) {
|
|
26
|
+
throw new ValidationError("prompt is required for audio generation");
|
|
27
|
+
}
|
|
28
|
+
if (!args.duration || args.duration <= 0) {
|
|
29
|
+
throw new ValidationError("duration must be a positive number (in seconds)");
|
|
30
|
+
}
|
|
31
|
+
const argsRecord = args;
|
|
32
|
+
const seed = {};
|
|
33
|
+
for (const key of DEFAULTABLE_KEYS) {
|
|
34
|
+
const v = argsRecord[key];
|
|
35
|
+
if (v !== undefined)
|
|
36
|
+
seed[key] = v;
|
|
37
|
+
}
|
|
38
|
+
const resolved = DefaultsManager.apply(seed);
|
|
39
|
+
let checkpoint = resolved.checkpoint;
|
|
40
|
+
let unet = resolved.unet;
|
|
41
|
+
let vae = resolved.vae;
|
|
42
|
+
let clip = resolved.clip;
|
|
43
|
+
let clipA = resolved.clip_a;
|
|
44
|
+
let clipB = resolved.clip_b;
|
|
45
|
+
if (args.model_family === "ace_step_1.5") {
|
|
46
|
+
if (!unet)
|
|
47
|
+
unet = await deps.resolveFirstModel("diffusion_models");
|
|
48
|
+
if (!vae)
|
|
49
|
+
vae = await deps.resolveFirstModel("vae");
|
|
50
|
+
if (!clipA)
|
|
51
|
+
clipA = await deps.resolveFirstModel("text_encoders");
|
|
52
|
+
if (!unet) {
|
|
53
|
+
throw new ValidationError("No UNet model specified or found locally for ACE Step 1.5. " +
|
|
54
|
+
"Pass `unet` or download one via download_model.");
|
|
55
|
+
}
|
|
56
|
+
const workflow = createWorkflow("ace_step_15", {
|
|
57
|
+
unet,
|
|
58
|
+
vae: vae ?? "ace_1.5_vae.safetensors",
|
|
59
|
+
clip_a: clipA ?? "qwen_0.6b_ace15.safetensors",
|
|
60
|
+
clip_b: clipB ?? "qwen_4b_ace15.safetensors",
|
|
61
|
+
prompt: args.prompt,
|
|
62
|
+
lyrics: resolved.lyrics,
|
|
63
|
+
duration: args.duration,
|
|
64
|
+
seed: resolved.seed,
|
|
65
|
+
steps: resolved.steps,
|
|
66
|
+
cfg: resolved.cfg,
|
|
67
|
+
sampler_name: resolved.sampler,
|
|
68
|
+
scheduler: resolved.scheduler,
|
|
69
|
+
shift: resolved.shift,
|
|
70
|
+
language: resolved.language,
|
|
71
|
+
musical_key: resolved.musical_key,
|
|
72
|
+
guidance_scale: resolved.guidance_scale,
|
|
73
|
+
filename_prefix: resolved.filename_prefix,
|
|
74
|
+
});
|
|
75
|
+
const { prompt_id, queue_remaining } = await deps.enqueue(workflow);
|
|
76
|
+
return { prompt_id, queue_remaining, model_family: "ace_step_1.5" };
|
|
77
|
+
}
|
|
78
|
+
// Stable Audio 3
|
|
79
|
+
if (!checkpoint) {
|
|
80
|
+
const models = await deps.resolveFirstModel("checkpoints");
|
|
81
|
+
if (models)
|
|
82
|
+
checkpoint = models;
|
|
83
|
+
}
|
|
84
|
+
if (!clip)
|
|
85
|
+
clip = await deps.resolveFirstModel("text_encoders");
|
|
86
|
+
if (!checkpoint) {
|
|
87
|
+
throw new ValidationError("No checkpoint specified or found locally for Stable Audio 3. " +
|
|
88
|
+
"Pass `checkpoint` or download one via download_model.");
|
|
89
|
+
}
|
|
90
|
+
const workflow = createWorkflow("stable_audio_3", {
|
|
91
|
+
checkpoint,
|
|
92
|
+
clip: clip ?? "t5gemma_b_b_ul2.safetensors",
|
|
93
|
+
prompt: args.prompt,
|
|
94
|
+
negative_prompt: resolved.negative_prompt,
|
|
95
|
+
duration: args.duration,
|
|
96
|
+
seed: resolved.seed,
|
|
97
|
+
steps: resolved.steps,
|
|
98
|
+
cfg: resolved.cfg,
|
|
99
|
+
sampler_name: resolved.sampler,
|
|
100
|
+
scheduler: resolved.scheduler,
|
|
101
|
+
filename_prefix: resolved.filename_prefix,
|
|
102
|
+
});
|
|
103
|
+
const { prompt_id, queue_remaining } = await deps.enqueue(workflow);
|
|
104
|
+
return { prompt_id, queue_remaining, model_family: "stable_audio_3" };
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=generate-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-audio.js","sourceRoot":"","sources":["../../src/services/generate-audio.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { execSync, spawn } from "node:child_process";
|
|
2
2
|
import { platform } from "node:os";
|
|
3
3
|
import { getSystemStats, resetClient, resetObjectInfoCache } from "../comfyui/client.js";
|
|
4
|
-
import { config, getComfyUIApiHost, getComfyUIProtocol } from "../config.js";
|
|
4
|
+
import { config, getComfyUIApiHost, getComfyUIProtocol, isRemoteMode } from "../config.js";
|
|
5
5
|
import { ProcessControlError } from "../utils/errors.js";
|
|
6
6
|
import { logger } from "../utils/logger.js";
|
|
7
7
|
// ---------------------------------------------------------------------------
|
|
@@ -454,6 +454,10 @@ async function gatherProcessInfo() {
|
|
|
454
454
|
// Public API
|
|
455
455
|
// ---------------------------------------------------------------------------
|
|
456
456
|
export async function stopComfyUI() {
|
|
457
|
+
if (isRemoteMode()) {
|
|
458
|
+
throw new ProcessControlError("stop_comfyui operates on the local machine's ComfyUI process and is not " +
|
|
459
|
+
"available when targeting a remote instance via --comfyui-url.");
|
|
460
|
+
}
|
|
457
461
|
logger.info("Stopping ComfyUI...");
|
|
458
462
|
detachSupervisor();
|
|
459
463
|
// Gather info before we kill it
|
|
@@ -519,6 +523,10 @@ export async function stopComfyUI() {
|
|
|
519
523
|
};
|
|
520
524
|
}
|
|
521
525
|
export async function startComfyUI() {
|
|
526
|
+
if (isRemoteMode()) {
|
|
527
|
+
throw new ProcessControlError("start_comfyui launches ComfyUI on the local machine and is not " +
|
|
528
|
+
"available when targeting a remote instance via --comfyui-url.");
|
|
529
|
+
}
|
|
522
530
|
const port = config.resolvedPort;
|
|
523
531
|
// Check if already running
|
|
524
532
|
const existingPid = findPidByPort(port);
|
|
@@ -603,6 +611,10 @@ export async function startComfyUI() {
|
|
|
603
611
|
};
|
|
604
612
|
}
|
|
605
613
|
export async function restartComfyUI() {
|
|
614
|
+
if (isRemoteMode()) {
|
|
615
|
+
throw new ProcessControlError("restart_comfyUI operates on the local machine's ComfyUI process and is not " +
|
|
616
|
+
"available when targeting a remote instance via --comfyui-url.");
|
|
617
|
+
}
|
|
606
618
|
logger.info("Restarting ComfyUI...");
|
|
607
619
|
// Stop
|
|
608
620
|
const stopResult = await stopComfyUI();
|