comfyui-mcp 0.52.179 → 0.52.181
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/dist/orchestrator/panel-tools.js +18 -1
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/services/workflow-filename.js +58 -0
- package/dist/services/workflow-filename.js.map +1 -0
- package/dist/tools/workflow-library.js +8 -6
- package/dist/tools/workflow-library.js.map +1 -1
- package/package.json +1 -1
|
@@ -6395,6 +6395,23 @@ function definitiveNonPromotedNodeType(res) {
|
|
|
6395
6395
|
const unwrapped = type.slice(1, -1).trim();
|
|
6396
6396
|
return unwrapped || null;
|
|
6397
6397
|
}
|
|
6398
|
+
/** Panel `graph_get_subgraph` flattens parentheses in the node type before
|
|
6399
|
+
* embedding it in the definitive ordinary-node refusal (panel#1941), so a live
|
|
6400
|
+
* `Power Lora Loader (rgthree)` is reported as `Power Lora Loader rgthree`.
|
|
6401
|
+
* The scope probe still publishes the real type. Compare after that flatten;
|
|
6402
|
+
* the write fence must keep the unflattened scope type (#2394). */
|
|
6403
|
+
function flattenDefinitiveOrdinaryNodeType(type) {
|
|
6404
|
+
return type.replace(/[()]/g, " ").replace(/\s+/g, " ").trim();
|
|
6405
|
+
}
|
|
6406
|
+
function sameDefinitiveOrdinaryNodeType(fromSubgraphRead, fromScopeProbe) {
|
|
6407
|
+
if (!fromSubgraphRead)
|
|
6408
|
+
return false;
|
|
6409
|
+
if (fromSubgraphRead === fromScopeProbe)
|
|
6410
|
+
return true;
|
|
6411
|
+
const left = flattenDefinitiveOrdinaryNodeType(fromSubgraphRead);
|
|
6412
|
+
const right = flattenDefinitiveOrdinaryNodeType(fromScopeProbe);
|
|
6413
|
+
return left.length > 0 && left === right;
|
|
6414
|
+
}
|
|
6398
6415
|
/** The promoted-write refresh is deliberately narrower than the broad panel
|
|
6399
6416
|
* call retry classifier. Only known transport/reconnect shapes may consume the
|
|
6400
6417
|
* one explicit refresh; application refusals must not be replayed. */
|
|
@@ -7199,7 +7216,7 @@ async function preparePromotedWidgetWrite(ctx, nodeId, widget) {
|
|
|
7199
7216
|
if (!targetScope.nodeIdentity)
|
|
7200
7217
|
return null;
|
|
7201
7218
|
const expectedNodeType = definitiveNonPromotedNodeType(sub);
|
|
7202
|
-
if (expectedNodeType
|
|
7219
|
+
if (!sameDefinitiveOrdinaryNodeType(expectedNodeType, targetScope.nodeType)) {
|
|
7203
7220
|
return promotedWriteRefusal(widget, "the ordinary node type changed between the scope and subgraph reads");
|
|
7204
7221
|
}
|
|
7205
7222
|
if (ctx.tabExpectedNodeTypeFenceCapability?.() !== true) {
|