comfyui-mcp 0.51.41 → 0.51.43

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,6 +1,7 @@
1
1
  import { getComfyUIAuthHeaders } from "../config.js";
2
2
  import { describeFetchFailure, isBareFetchFailure } from "../utils/errors.js";
3
3
  import { sameOrigin } from "../utils/origin.js";
4
+ import { readPublishedPanelOrigins } from "../services/panel-origin-channel.js";
4
5
  /** The request target, for the diagnostic. Never throws on an odd input. */
5
6
  export function targetOf(input) {
6
7
  try {
@@ -33,6 +34,24 @@ function methodOf(input, init) {
33
34
  * answer to "which ComfyUI is this tab actually on".
34
35
  */
35
36
  let connectedPanelOrigins = null;
37
+ /**
38
+ * #1415 — WHERE THESE CALLS ACTUALLY RUN.
39
+ *
40
+ * Injection covers the orchestrator process, and almost nothing that fails this
41
+ * way lives there: every headless comfyui tool runs in the SPAWNED stdio child,
42
+ * which never loads orchestrator/index.js and has no bridge to inject from. So
43
+ * the comparison #952 built was silently skipped in exactly the sessions it was
44
+ * written for — the reporter's panel worked, `list_packs (action:"list_templates")`
45
+ * failed against a dead COMFYUI_URL, and the error made no comparison at all.
46
+ *
47
+ * The child reads the set the orchestrator publishes into the progress dir it
48
+ * already shares with it (services/panel-origin-channel.ts). Still a leaf
49
+ * dependency — a file read, not the bridge. An INJECTED source always wins: where
50
+ * the bridge is in the same process it is both fresher and authoritative.
51
+ */
52
+ function panelOrigins() {
53
+ return connectedPanelOrigins ? connectedPanelOrigins() : readPublishedPanelOrigins();
54
+ }
36
55
  /** Install the panel-origin source. Pass null to clear (tests, shutdown). */
37
56
  export function setConnectedPanelOrigins(fn) {
38
57
  connectedPanelOrigins = fn;
@@ -60,14 +79,15 @@ function originOf(target) {
60
79
  * the reader chasing the explanation the old text volunteered.
61
80
  * The panel reaches it from the browser; this process does not
62
81
  * (a firewall, a container boundary, a bound interface).
63
- * - UNKNOWN → no panel connected, no origin source installed, or the
64
- * handshake carried no usable Origin. Say nothing about drift;
65
- * an absent comparison is not a negative result.
82
+ * - UNKNOWN → no panel connected, no origin source installed AND nothing
83
+ * published on the channel, or the handshake carried no usable
84
+ * Origin. Say nothing about drift; an absent comparison is not
85
+ * a negative result.
66
86
  */
67
87
  export function describeTargetDrift(target) {
68
88
  const origins = (() => {
69
89
  try {
70
- return connectedPanelOrigins?.() ?? [];
90
+ return panelOrigins();
71
91
  }
72
92
  catch {
73
93
  return []; // a broken source must never replace the real network error
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/comfyui/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../src/comfyui/fetch.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ import { TurnOriginTracker, makeScopeRepinHandler, makeScopeTargetResolver, } fr
34
34
  import { listSessions, loadTranscript } from "./history.js";
35
35
  import { uploadImageHttp, resetClient } from "../comfyui/client.js";
36
36
  import { setConnectedPanelOrigins } from "../comfyui/fetch.js";
37
+ import { publishConnectedPanelOrigins } from "../services/panel-origin-channel.js";
37
38
  import { logger } from "../utils/logger.js";
38
39
  import { assembleVocabularyHash, describeVocabularySkew } from "../tools/vocabulary.js";
39
40
  import { buildPanelToolDefs } from "./panel-tools.js";
@@ -5121,6 +5122,15 @@ export async function runPanelOrchestrator() {
5121
5122
  // no saved state
5122
5123
  }
5123
5124
  const pollDownloads = () => {
5125
+ // #1415 — the OTHER half of the #952 drift comparison installed above. That
5126
+ // source only serves THIS process, and the tools that fail with `fetch
5127
+ // failed` run in the spawned comfyui children, which have no bridge. Publish
5128
+ // the current set into the progress dir they already share so a child's
5129
+ // failure can make the same comparison. Level-triggered on this tick (not on
5130
+ // connect/disconnect events) so a tab that goes away blanks it within 700ms —
5131
+ // the child must never quote a panel that has since disconnected. Writes only
5132
+ // when the set changed.
5133
+ publishConnectedPanelOrigins(progressDir, bridge.connectedServerOrigins());
5124
5134
  let files = [];
5125
5135
  try {
5126
5136
  files = readdirSync(progressDir).filter((f) => f.endsWith(".json"));