comfyui-mcp 0.52.93 → 0.52.95

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.
@@ -97,8 +97,10 @@ function sameValue(a, b) {
97
97
  * the schema wants it nested under `source`. A doc that describes the payload and
98
98
  * a schema that wants it wrapped is a defect in the pair, not in the caller.
99
99
  *
100
- * Only ever ADDS the wrapper. An item that already carries `source` is returned
101
- * untouched, so the canonical shape cannot be reinterpreted by this function.
100
+ * Adds the wrapper for the flat form. An item that already carries `source`
101
+ * keeps that canonical source; an equivalent flat alias is checked and folded
102
+ * only when it names the same ref, so the canonical shape cannot be replaced by
103
+ * a conflicting outer value.
102
104
  *
103
105
  * An item carrying NEITHER shape is refused here rather than passed on. The
104
106
  * handler's first act on an item is `"path" in src`, which throws a TypeError on
@@ -110,15 +112,30 @@ export function normalizeShowMediaItem(item, index) {
110
112
  const at = `panel_show_media items[${index}]`;
111
113
  const out = { ...rest };
112
114
  if (source !== undefined) {
113
- // The canonical shape wins outright, but a flat ref sitting BESIDE it means
114
- // the item names two different media and says which only by nesting depth.
115
- if (filename !== undefined || path !== undefined) {
116
- return {
117
- ok: false,
118
- error: `${at} carries \`source\` AND a top-level ${filename !== undefined ? "`filename`" : "`path`"}. ` +
119
- `The flat form is an accepted alias for \`source\`, so this item names its media twice. ` +
120
- `Nothing was displayed. Send the ref in ONE place.`,
121
- };
115
+ const nested = source;
116
+ const nestedIsPath = "path" in nested;
117
+ const flatFilename = typeof filename === "string" && filename.length > 0 ? filename : undefined;
118
+ const flatPath = typeof path === "string" && path.length > 0 ? path : undefined;
119
+ // The Panel's producer keeps the whole flat alias row in its payload and
120
+ // fills unused members with empty strings. Those placeholders are not a
121
+ // second source and must not reach the schema's `min(1)` gate. A populated
122
+ // alias beside `source` is also safe when it is the exact same ref: some
123
+ // producers send both representations while moving between the two
124
+ // documented shapes. Different members still name two media sources and
125
+ // remain a refusal.
126
+ if (flatFilename !== undefined || flatPath !== undefined) {
127
+ const equivalent = nestedIsPath
128
+ ? flatPath !== undefined && nested.path === flatPath && flatFilename === undefined
129
+ : flatFilename !== undefined && nested.filename === flatFilename && flatPath === undefined;
130
+ if (!equivalent) {
131
+ const flatName = flatFilename !== undefined ? "`filename`" : "`path`";
132
+ return {
133
+ ok: false,
134
+ error: `${at} carries \`source\` AND a top-level ${flatName}. ` +
135
+ `The flat form is an accepted alias for \`source\`, so this item names its media twice. ` +
136
+ `Nothing was displayed. Send the ref in ONE place.`,
137
+ };
138
+ }
122
139
  }
123
140
  // The ref's MODIFIERS — subfolder/type/stage — can arrive flat while the ref
124
141
  // itself is nested. Before this alias existed zod stripped them from the item
@@ -128,7 +145,7 @@ export function normalizeShowMediaItem(item, index) {
128
145
  // and is ignored gets a refusal for an oversized file they thought they had
129
146
  // handled. Fold each into `source` where it is absent, and refuse rather
130
147
  // than overwrite where the two disagree.
131
- const merged = { ...source };
148
+ const merged = { ...nested };
132
149
  for (const [key, value] of [
133
150
  ["subfolder", subfolder],
134
151
  ["type", type],
@@ -148,32 +165,39 @@ export function normalizeShowMediaItem(item, index) {
148
165
  }
149
166
  out.source = merged;
150
167
  }
151
- else if (path !== undefined && filename !== undefined) {
152
- return {
153
- ok: false,
154
- error: `${at} carries both flat \`filename\` and \`path\`. ` +
155
- `Those are two different members of the media-source union, so the item does not say which media to display. ` +
156
- `Nothing was displayed. Send exactly one of them.`,
157
- };
158
- }
159
- else if (path !== undefined) {
160
- // The disk-path member of the same union, flattened the same way.
161
- out.source = stage === undefined ? { path } : { path, stage };
162
- }
163
- else if (filename !== undefined) {
164
- out.source = {
165
- filename,
166
- ...(subfolder === undefined ? {} : { subfolder }),
167
- ...(type === undefined ? {} : { type }),
168
- ...(stage === undefined ? {} : { stage }),
169
- };
170
- }
171
168
  else {
172
- return {
173
- ok: false,
174
- error: `${at} has no media to show: it needs \`source\` — or, equivalently, a top-level \`filename\` ` +
175
- `(a ComfyUI output ref: {filename, subfolder?, type?}) or \`path\` (an absolute disk path).`,
176
- };
169
+ // Empty flat alias members are Panel producer placeholders, not media refs.
170
+ // Treat them as absent here, then keep the existing one-source union and
171
+ // the explicit no-media refusal below.
172
+ const flatFilename = typeof filename === "string" && filename.length > 0 ? filename : undefined;
173
+ const flatPath = typeof path === "string" && path.length > 0 ? path : undefined;
174
+ if (flatPath !== undefined && flatFilename !== undefined) {
175
+ return {
176
+ ok: false,
177
+ error: `${at} carries both flat \`filename\` and \`path\`. ` +
178
+ `Those are two different members of the media-source union, so the item does not say which media to display. ` +
179
+ `Nothing was displayed. Send exactly one of them.`,
180
+ };
181
+ }
182
+ if (flatPath !== undefined) {
183
+ // The disk-path member of the same union, flattened the same way.
184
+ out.source = stage === undefined ? { path: flatPath } : { path: flatPath, stage };
185
+ }
186
+ else if (flatFilename !== undefined) {
187
+ out.source = {
188
+ filename: flatFilename,
189
+ ...(subfolder === undefined ? {} : { subfolder }),
190
+ ...(type === undefined ? {} : { type }),
191
+ ...(stage === undefined ? {} : { stage }),
192
+ };
193
+ }
194
+ else {
195
+ return {
196
+ ok: false,
197
+ error: `${at} has no media to show: it needs \`source\` — or, equivalently, a top-level \`filename\` ` +
198
+ `(a ComfyUI output ref: {filename, subfolder?, type?}) or \`path\` (an absolute disk path).`,
199
+ };
200
+ }
177
201
  }
178
202
  // `caption` is and remains canonical (it has been the key since v0.19.0 — the
179
203
  // report's claim that the tool "requires label" is the one row of its table
@@ -1 +1 @@
1
- {"version":3,"file":"panel-arg-aliases.js","sourceRoot":"","sources":["../../src/orchestrator/panel-arg-aliases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"panel-arg-aliases.js","sourceRoot":"","sources":["../../src/orchestrator/panel-arg-aliases.ts"],"names":[],"mappings":"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"}
@@ -17455,10 +17455,14 @@ CHECKED FOR YOU: the graph read this message prescribes was just run, and it ` +
17455
17455
  // description already tells callers to send. Wrapped into `source`
17456
17456
  // by normalizeShowMediaItem before anything reads it, so the rest of
17457
17457
  // this handler still sees exactly one shape.
17458
- filename: z.string().min(1).optional().describe("ComfyUI output ref, flat: accepted in place of source.{filename}."),
17458
+ // Empty strings are emitted as unused placeholders by the Panel's
17459
+ // producer when it sends the documented nested source shape. The
17460
+ // normalizer rejects an empty flat-only ref but can ignore that
17461
+ // placeholder when a valid nested source is present.
17462
+ filename: z.string().optional().describe("ComfyUI output ref, flat: accepted in place of source.{filename}."),
17459
17463
  subfolder: z.string().optional().describe("Goes with a flat filename."),
17460
17464
  type: z.string().optional().describe("Goes with a flat filename (e.g. 'output', 'temp')."),
17461
- path: z.string().min(1).optional().describe("Absolute disk path, flat: accepted in place of source.{path}."),
17465
+ path: z.string().optional().describe("Absolute disk path, flat: accepted in place of source.{path}."),
17462
17466
  stage: z.boolean().optional().describe("Goes with a flat path — see source.stage."),
17463
17467
  caption: z.string().optional(),
17464
17468
  // #1968 — accepted because a caller who guessed it once will guess