comfyui-mcp 0.50.2 → 0.50.4

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.
@@ -1,9 +1,9 @@
1
1
  import { Client } from "@stable-canvas/comfyui-client";
2
2
  import { config, getComfyUIApiHost, getComfyUIBasePath, getComfyUIBaseUrl, isCloudMode, isRemoteMode, } from "../config.js";
3
3
  import { logger } from "../utils/logger.js";
4
- import { ComfyUIError, ConnectionError, WorkflowExecutionError } from "../utils/errors.js";
4
+ import { ComfyUIError, ConnectionError, ValidationError, WorkflowExecutionError, } from "../utils/errors.js";
5
5
  import { comfyuiFetch } from "./fetch.js";
6
- import { fetchComfyJson, looksLikeHtmlParsedAsJson, redactErrorMessage, rethrowWithJsonDiagnosis, } from "./json-guard.js";
6
+ import { fetchComfyJson, looksLikeHtmlParsedAsJson, readComfyJson, redactErrorMessage, rethrowWithJsonDiagnosis, } from "./json-guard.js";
7
7
  import * as cloudClient from "./cloud-client.js";
8
8
  // Functions that fundamentally require a local ComfyUI process (WebSocket-bound
9
9
  // session, local `client.fetchApi` paths, etc.) throw via this guard when the
@@ -710,11 +710,21 @@ export async function uploadImageHttp(filename, data, mimeType = "image/png") {
710
710
  if (isCloudMode())
711
711
  return cloudClient.uploadImageHttp(filename, data, mimeType);
712
712
  const client = getClient();
713
+ // #946 — a `filename` carrying a path ("assets/clip.mp4") is a SUBFOLDER
714
+ // request, and ComfyUI's /upload/image takes that as its own form field, not
715
+ // as a slash inside the multipart filename. Sending the whole path as the
716
+ // filename put it somewhere between the transport and ComfyUI's handler and
717
+ // came back as a bare `Unexpected non-whitespace character after JSON at
718
+ // position 4` — no upload, no usable error. Split it and use the field the
719
+ // API actually has, which is also what the caller was asking for.
720
+ const { subfolder, name } = splitUploadTarget(filename);
713
721
  const formData = new FormData();
714
722
  const blob = new Blob([data], { type: mimeType });
715
- formData.append("image", blob, filename);
723
+ formData.append("image", blob, name);
716
724
  formData.append("type", "input");
717
725
  formData.append("overwrite", "true");
726
+ if (subfolder)
727
+ formData.append("subfolder", subfolder);
718
728
  const res = await client.fetchApi("/upload/image", {
719
729
  method: "POST",
720
730
  body: formData,
@@ -723,6 +733,44 @@ export async function uploadImageHttp(filename, data, mimeType = "image/png") {
723
733
  const text = await res.text().catch(() => "");
724
734
  throw new Error(`ComfyUI /upload/image returned ${res.status}: ${text}`);
725
735
  }
726
- return res.json();
736
+ // Never let a parser message stand in for a diagnosis: a proxy or a
737
+ // still-starting server answering 200 with HTML used to surface as a raw
738
+ // SyntaxError with no mention of what was requested (#946, and the same class
739
+ // as #918/#952).
740
+ return readComfyJson(res, {
741
+ url: "/upload/image",
742
+ expectShape: (v) => !!v && typeof v === "object" && typeof v.name === "string",
743
+ shapeHint: 'the upload result ({ name, subfolder, type })',
744
+ });
745
+ }
746
+ /**
747
+ * Split an upload target into ComfyUI's two fields (#946).
748
+ *
749
+ * `filename` is the caller's whole intent — "clip.mp4" or "assets/clip.mp4" —
750
+ * while ComfyUI's /upload/image wants a bare filename plus a separate
751
+ * `subfolder`. Backslashes count as separators too: a caller on Windows
752
+ * naturally writes "assets\clip.mp4".
753
+ *
754
+ * Traversal is REFUSED rather than sanitised. Silently rewriting "../../x.png"
755
+ * into something safe would upload to a place the caller did not name and then
756
+ * report the name they asked for — a wrong answer dressed as a right one. The
757
+ * caller gets told instead.
758
+ */
759
+ export function splitUploadTarget(filename) {
760
+ // A TRAILING separator has to be caught before the empty segments are filtered
761
+ // out: "assets/" would otherwise leave ["assets"], and the directory would be
762
+ // adopted as the filename — an upload to a name the caller never wrote.
763
+ const endsInSeparator = /[/\\]\s*$/.test(filename);
764
+ const parts = filename.split(/[/\\]+/).filter((p) => p !== "" && p !== ".");
765
+ const name = endsInSeparator ? "" : (parts.pop() ?? "");
766
+ if (name === "" || name === "..") {
767
+ throw new ValidationError(`"${filename}" does not name a file to upload — it ends in a path separator or a "..". ` +
768
+ `Pass a filename, optionally prefixed with a subfolder (e.g. "assets/clip.mp4").`);
769
+ }
770
+ if (parts.some((p) => p === "..")) {
771
+ throw new ValidationError(`"${filename}" walks outside ComfyUI's input directory with "..". ` +
772
+ `A subfolder prefix may only go downwards (e.g. "assets/clip.mp4").`);
773
+ }
774
+ return { subfolder: parts.join("/"), name };
727
775
  }
728
776
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/comfyui/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ // #935 — a supplied-but-unapplied filter answered with a plausible result set.
2
+ //
3
+ // `panel_civitai_search` already guards ONE parameter. #374 fixed `creator`
4
+ // being silently dropped: the tool echoed `creator:null` with zero results and
5
+ // no explanation, so "filter never applied" and "this creator has no content"
6
+ // were indistinguishable. The guard added there warns on divergence.
7
+ //
8
+ // It covers `creator` and nothing else. `modelSort`, `baseModels` and `period`
9
+ // could be supplied, ignored, and answered with a full, ordinary-looking list —
10
+ // which is what a reporter saw: download counts in no order at all
11
+ // (48, 53, 53, 64, 1468) for a "Most Downloaded" sort. An agent asked for
12
+ // "most-downloaded Flux LoRAs" presents that confidently, and nothing in the
13
+ // reply says the sort never happened.
14
+ //
15
+ // The panel's own CivitAI client documents that an unrecognised `baseModels`
16
+ // value "silently returns nothing", so an EMPTY result here is ambiguous in
17
+ // exactly the way #374 existed to remove. That ambiguity is the part worth
18
+ // closing permanently, independently of wherever the filters actually stop
19
+ // taking effect — which is panel-side and not fixed here.
20
+ /** Compare loosely: the panel may echo a scalar where an array was sent, or
21
+ * differ only in case/whitespace. Only a REAL divergence should warn — a
22
+ * false alarm on every search would train the reader to skip the warning,
23
+ * which is how a guard stops working. */
24
+ function sameValue(want, got) {
25
+ if (want === got)
26
+ return true;
27
+ const norm = (v) => Array.isArray(v)
28
+ ? v.map((x) => String(x).trim().toLowerCase()).sort().join("|")
29
+ : String(v ?? "").trim().toLowerCase();
30
+ return norm(want) === norm(got);
31
+ }
32
+ /**
33
+ * The warning for filters the panel did not apply, or "" when there is nothing
34
+ * to say.
35
+ *
36
+ * Deliberately conservative about what it CLAIMS. The panel echoes back an
37
+ * `filters`/`applied_filters` object on newer builds; on an older one it echoes
38
+ * nothing, and absence is NOT evidence the filters were dropped. So:
39
+ *
40
+ * - echoed and equal → silent. Nothing happened worth reporting.
41
+ * - echoed and different → name each one, with asked-vs-applied.
42
+ * - not echoed at all → say the application could not be VERIFIED, and
43
+ * say plainly that this is not the same as knowing
44
+ * it failed. A reader who is told "unverified"
45
+ * re-checks; one told "failed" goes and fixes
46
+ * something that may not be broken.
47
+ */
48
+ export function describeUnappliedFilters(filters, reply) {
49
+ const supplied = filters && typeof filters === "object" && !Array.isArray(filters)
50
+ ? filters
51
+ : undefined;
52
+ const asked = Object.entries(supplied ?? {}).filter(([, v]) => v !== undefined && v !== null && !(Array.isArray(v) && v.length === 0));
53
+ if (asked.length === 0)
54
+ return "";
55
+ if (!reply || typeof reply !== "object")
56
+ return "";
57
+ const r = reply;
58
+ const echoed = (r.applied_filters ?? r.filters);
59
+ if (!echoed || typeof echoed !== "object") {
60
+ return (`This panel build did not echo back which filters it applied, so whether ` +
61
+ `${asked.map(([k]) => `\`${k}\``).join(", ")} took effect is UNVERIFIED — which is not the same as ` +
62
+ `knowing they were ignored. Judge the results before trusting the ordering or the narrowing: if a ` +
63
+ `sort was requested, check that the list is actually in that order. An unrecognised \`baseModels\` ` +
64
+ `value makes CivitAI return nothing at all, so an empty result here is not evidence that no such ` +
65
+ `model exists.`);
66
+ }
67
+ const dropped = asked.filter(([k, v]) => !sameValue(v, echoed[k]));
68
+ if (dropped.length === 0)
69
+ return "";
70
+ const lines = dropped
71
+ .map(([k, v]) => {
72
+ const got = echoed[k];
73
+ const gotStr = got === undefined || got === null
74
+ ? "not applied"
75
+ : JSON.stringify(got);
76
+ return ` - ${k}: asked ${JSON.stringify(v)}, applied ${gotStr}`;
77
+ })
78
+ .join("\n");
79
+ return (`${dropped.length} of the ${asked.length} filter(s) you supplied were NOT applied by the CivitAI ` +
80
+ `browser:\n${lines}\n` +
81
+ `The results below were produced WITHOUT them, so do not describe them as sorted or narrowed the way ` +
82
+ `you asked. Re-run with values the browser accepts (an out-of-enum sort/period is rejected outright, ` +
83
+ `and an unrecognised baseModels silently returns nothing), or read the list on its own terms.`);
84
+ }
85
+ //# sourceMappingURL=civitai-filter-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"civitai-filter-guard.js","sourceRoot":"","sources":["../../src/orchestrator/civitai-filter-guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { QueueMonitor } from "../services/queue-monitor.js";
2
+ // #948 — a correct instruction delivered to the wrong place is a wrong instruction.
3
+ //
4
+ // A user saw `Not logged in, please run /login` in the PANEL CHAT and reported
5
+ // that `/login` "doesn't exist as a command". They were right: `/login` is typed
6
+ // at the `pi` CLI's own prompt. It is not a panel command, not a ComfyUI command,
7
+ // and not a shell command — and the message named none of that.
8
+ //
9
+ // In a chat box a leading `/` reads as "type this here". That is the whole defect:
10
+ // the remedy was accurate and unusable at the same time, and it points the reader
11
+ // at the one place it cannot work.
12
+ //
13
+ // It also misleads ACROSS providers. A user on the Claude or Codex chip has no
14
+ // `/login` at all (`claude setup-token`, `codex login`), so a passed-through
15
+ // string naming it is not merely unhelpful there — it is false.
16
+ //
17
+ // Two rules follow, and both are about the reader's location rather than the
18
+ // text's accuracy:
19
+ // 1. Never let a bare `/command` reach chat. Say where its prompt is.
20
+ // 2. When we wrap a provider's auth failure, name the tool, the place, and the
21
+ // follow-up — not just the keystrokes.
22
+ /** The CLI whose prompt a backend's slash commands belong to, when it has one. */
23
+ const SLASH_CLI_BY_BACKEND = {
24
+ pi: "pi",
25
+ grok: "grok",
26
+ };
27
+ /**
28
+ * Rewrite bare `/command` mentions so they cannot read as "type this here".
29
+ *
30
+ * Only touches a slash-command that stands as its own word — `/login`,
31
+ * `/status` — and leaves paths (`/usr/bin/pi`), URLs and dates alone, since
32
+ * those are not instructions and rewriting them would corrupt real values.
33
+ *
34
+ * The first occurrence gets the full "at <cli>'s prompt" qualification; later
35
+ * ones in the same message get a shorter form, because repeating the whole
36
+ * clause reads as noise and noise is what gets skimmed past.
37
+ */
38
+ export function qualifySlashCommands(text, cli) {
39
+ if (!text)
40
+ return text;
41
+ let seen = 0;
42
+ return text.replace(/(^|[\s("'`])\/([a-z][a-z0-9-]{1,24})\b(?!\/)/gi, (match, lead, cmd) => {
43
+ // A path segment (`/foo/bar`) or a URL is not an instruction.
44
+ seen += 1;
45
+ const qualified = seen === 1
46
+ ? `\`${cli}\`, then type \`/${cmd}\` at its prompt`
47
+ : `\`/${cmd}\` (at the \`${cli}\` prompt)`;
48
+ return `${lead}${qualified}`;
49
+ });
50
+ }
51
+ /** True when a CLI's failure text is about missing/expired credentials. */
52
+ export function looksLikeAuthFailure(text) {
53
+ return /sign.?in|log.?in|logged.?out|auth|credential|unauthoriz|api.?key|no provider/i.test(text);
54
+ }
55
+ /**
56
+ * OUR wrapper for a provider's not-authenticated failure.
57
+ *
58
+ * Names the tool, WHERE to run it, and the follow-up — a raw CLI string assumes
59
+ * the reader is already standing in that CLI, which from a panel chat is exactly
60
+ * the assumption that fails.
61
+ *
62
+ * `detail` is the CLI's own tail, kept because it often carries the real reason
63
+ * (an expired token vs a missing file) — but passed through `qualifySlashCommands`
64
+ * first, so the child's phrasing can never smuggle a bare `/login` into chat.
65
+ */
66
+ export function providerAuthRemedy(backend, detail) {
67
+ const cli = SLASH_CLI_BY_BACKEND[backend];
68
+ const tail = detail?.trim()
69
+ ? ` (${cli ? qualifySlashCommands(detail.trim(), cli) : detail.trim()})`
70
+ : "";
71
+ switch (backend) {
72
+ case "pi":
73
+ return (`pi has no usable provider credentials. Fix it in a TERMINAL, not here: either set a provider ` +
74
+ `API key (ANTHROPIC_API_KEY / OPENAI_API_KEY / …), or run \`pi\` once and type \`/login\` at its ` +
75
+ `prompt — that writes ~/.pi/agent/auth.json. Then Disconnect → Connect and send your message ` +
76
+ `again.${tail}`);
77
+ case "codex":
78
+ return (`Codex is not logged in. In a TERMINAL run \`codex login\` (ChatGPT sign-in) or set CODEX_API_KEY, ` +
79
+ `then Disconnect → Connect.${tail}`);
80
+ case "claude":
81
+ return (`Claude has no usable credentials. In a TERMINAL run \`claude setup-token\`, or set ANTHROPIC_API_KEY, ` +
82
+ `then Disconnect → Connect.${tail}`);
83
+ case "gemini":
84
+ return (`Gemini is not authenticated. In a TERMINAL run \`gemini\` once and complete its sign-in, or set ` +
85
+ `GEMINI_API_KEY, then Disconnect → Connect.${tail}`);
86
+ default:
87
+ return (`${backend} has no usable credentials. Set the provider's API key in the API Keys card, or complete ` +
88
+ `its CLI sign-in in a TERMINAL, then Disconnect → Connect.${tail}`);
89
+ }
90
+ }
91
+ // ---------------------------------------------------------------------------
92
+ // #889 — a run-error notification must not assert who queued the run.
93
+ // ---------------------------------------------------------------------------
94
+ /**
95
+ * The ComfyUI prompt id named in a run-error string, when there is one.
96
+ *
97
+ * Best-effort by design: the id travels inside prose ("Render status for prompt
98
+ * 9d70fd9d-… could not be confirmed"), so a miss is normal and simply yields the
99
+ * `unknown` attribution rather than a wrong one. Matches a bare uuid, which is
100
+ * what ComfyUI mints.
101
+ */
102
+ export function promptIdOf(text) {
103
+ const m = /\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/i.exec(text ?? "");
104
+ return m?.[0];
105
+ }
106
+ /**
107
+ * The run-error notification, phrased by what we can actually establish.
108
+ *
109
+ * The three wordings differ in the ONE thing that was wrong before — the claim
110
+ * about authorship — and in how hard they push. An agent told to STOP and to
111
+ * relate a failure to its own work will relate it, so the imperative only
112
+ * belongs on a run we can show is the agent's.
113
+ */
114
+ export function describeRunError(error, attribution) {
115
+ const details = `(panel_get_errors has the full node-level details)`;
116
+ switch (attribution) {
117
+ case "mine":
118
+ return (`[panel event] ⚠️ The workflow run you queued ERRORED on the user's canvas: ${error}. ` +
119
+ `STOP — do not carry on as if it succeeded. Diagnose it ${details} and fix it.`);
120
+ case "not-mine":
121
+ return (`[panel event] A workflow run ERRORED on the user's canvas: ${error}. ` +
122
+ `You did NOT queue this run — this session has queued none — so do not treat it as your own ` +
123
+ `failure and do not look for a connection to what you were doing. Tell the user briefly. ` +
124
+ `Only investigate ${details} if they ask, or if it is obviously about a graph you just edited.`);
125
+ default:
126
+ return (`[panel event] ⚠️ A workflow run ERRORED on the user's canvas: ${error}. ` +
127
+ `Whether it is one you queued could NOT be determined, so do not assume either way. ` +
128
+ `If you were waiting on a render, treat this as it and diagnose it ${details}; if you were not, ` +
129
+ `it is the user's own run — tell them briefly and carry on.`);
130
+ }
131
+ }
132
+ /**
133
+ * The run-error notice for a raw error string: extract the prompt id, ask the
134
+ * QueueMonitor whose run it was, and phrase it accordingly.
135
+ *
136
+ * Kept as one named step so the composition is testable. Left inline in
137
+ * PanelAgent it was reachable only through a full agent harness, and a mutation
138
+ * that hardcoded the attribution back to "mine" — the exact #889 regression —
139
+ * broke no test at all.
140
+ */
141
+ export function runErrorNotice(error) {
142
+ return describeRunError(error, QueueMonitor.attributeRun(promptIdOf(error)));
143
+ }
144
+ //# sourceMappingURL=cli-remedy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-remedy.js","sourceRoot":"","sources":["../../src/orchestrator/cli-remedy.ts"],"names":[],"mappings":"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"}
@@ -3171,14 +3171,39 @@ export async function runPanelOrchestrator() {
3171
3171
  }
3172
3172
  // Record this tab's trusted per-workflow COMMAND STAMP (#570 P0c — a
3173
3173
  // ROUTING fence kept under #884: a late command issued for another
3174
- // workflow must not mutate this one). Absent/untrusted → cleared: the
3175
- // graph-mutation fence then fails closed for this tab.
3174
+ // workflow must not mutate this one).
3175
+ //
3176
+ // #689/#688/#607/#702 — an untrusted identity RETAINS the previous stamp
3177
+ // instead of deleting it. Deleting looks like the conservative choice and
3178
+ // is in fact the strictly worse one, because the two outcomes are not
3179
+ // symmetric:
3180
+ //
3181
+ // • The panel authorizes a fenced command IFF stamp === the LIVE active
3182
+ // workflow uuid. So a RETAINED stamp can only ever authorize a command
3183
+ // that names the canvas actually mounted right now — if the workflow
3184
+ // changed, it mismatches and is refused exactly as before. Retaining
3185
+ // therefore permits no write that a correct stamp would not permit.
3186
+ // • A DELETED stamp makes UiBridge send frames with no `workflow_uuid`
3187
+ // at all (`else delete frame.workflow_uuid`), and the panel counts an
3188
+ // unstamped command as a mismatch too (#718, deliberately fail-closed).
3189
+ // So deleting does not relax the fence — it refuses HARDER, and it
3190
+ // refuses everything the fence covers, including `workflow_list`.
3191
+ //
3192
+ // The asymmetry is that a stale stamp is RECOVERABLE (the next hello that
3193
+ // does resolve an identity replaces it) while an absent one is not: the
3194
+ // panel's re-advertise repair is capped at MISMATCH_REHELLO_MAX_PER_IDENTITY
3195
+ // (3) per identity, so once those attempts are spent against an orchestrator
3196
+ // that still cannot derive an identity, nothing retries and every command is
3197
+ // refused permanently. A reconnect hello that lands before the canvas
3198
+ // identity is readable carries no uuid, which is enough to erase the stamp
3199
+ // and wedge the tab for the rest of the session.
3200
+ //
3201
+ // Untrusted identity therefore means "no NEW evidence", not "the previous
3202
+ // evidence is now false". Keep what we last proved and let the fence judge
3203
+ // it on equality, which is the only test that decides authorization.
3176
3204
  if (newIdentity) {
3177
3205
  tabCommandWorkflowUuid.set(panelTab, newIdentity.uuid);
3178
3206
  }
3179
- else {
3180
- tabCommandWorkflowUuid.delete(panelTab);
3181
- }
3182
3207
  // Blind content mode rides the hello (issue #90) so the FIRST agent spawn
3183
3208
  // already carries the right tool-server env. A CHANGE against a live
3184
3209
  // agent also respawns it (codex-review F2: the set_content_mode frame is