comfyui-mcp 0.52.139 → 0.52.140
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 +23 -2
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/services/api-nodes.js +22 -0
- package/dist/services/api-nodes.js.map +1 -1
- package/dist/services/model-inventory-disclosure.js +78 -0
- package/dist/services/model-inventory-disclosure.js.map +1 -0
- package/dist/services/model-resolver.js +5 -15
- package/dist/services/model-resolver.js.map +1 -1
- package/dist/services/node-dev.js +41 -1
- package/dist/services/node-dev.js.map +1 -1
- package/package.json +1 -1
- package/scripts/check-changelog.mjs +685 -0
- package/scripts/lib/changelog-refs.mjs +149 -0
- package/scripts/lib/release-subject.mjs +13 -1
- package/scripts/run-checks.mjs +10 -0
|
@@ -34,6 +34,7 @@ import { fileURLToPath } from "node:url";
|
|
|
34
34
|
import { comfyuiFetch } from "../comfyui/fetch.js";
|
|
35
35
|
import { assertPanelNotTargetedUnverifiable } from "../services/panel-pin-guard.js";
|
|
36
36
|
import { findPackOnDisk, nodesInstallCommandArgs, } from "../services/node-management.js";
|
|
37
|
+
import { getModelInventoryDisclosure, } from "../services/model-inventory-disclosure.js";
|
|
37
38
|
import { sanitizePanelUpdateNodeResult } from "../services/manager-update-error.js";
|
|
38
39
|
import { formatQueueStatusPartialNote, getManifestPartialLeftover, } from "../services/manifest-partial.js";
|
|
39
40
|
import { searchPanelNodes } from "../services/manager-node-search.js";
|
|
@@ -4452,6 +4453,25 @@ function withSaveAsNameConflictNote(res) {
|
|
|
4452
4453
|
return res;
|
|
4453
4454
|
return appendToolResultText(res, SAVE_AS_NAME_CONFLICT_NOTE);
|
|
4454
4455
|
}
|
|
4456
|
+
/**
|
|
4457
|
+
* #2414 — a live `/models/<category>` hit does not reconcile the panel's
|
|
4458
|
+
* `/object_info` combo cache. Add the distinction only when both sides are
|
|
4459
|
+
* positively observed; an unavailable listing remains an ordinary refusal.
|
|
4460
|
+
*/
|
|
4461
|
+
async function withModelInventoryDisclosure(res, widget, value, ctx) {
|
|
4462
|
+
if (!res.isError)
|
|
4463
|
+
return res;
|
|
4464
|
+
const probe = ctx.modelInventoryDisclosure ?? getModelInventoryDisclosure;
|
|
4465
|
+
try {
|
|
4466
|
+
const disclosure = await probe(widget, value, textOfToolResult(res));
|
|
4467
|
+
return disclosure ? appendToolResultText(res, disclosure) : res;
|
|
4468
|
+
}
|
|
4469
|
+
catch {
|
|
4470
|
+
// The disclosure is advisory. Preserve the original panel refusal if its
|
|
4471
|
+
// read-only corroboration fails for any reason.
|
|
4472
|
+
return res;
|
|
4473
|
+
}
|
|
4474
|
+
}
|
|
4455
4475
|
// ---- #1695: bound the panel_set_widget previous/new echo --------------------
|
|
4456
4476
|
//
|
|
4457
4477
|
// Code-mode clients (Codex `functions.exec`) batch several panel_set_widget
|
|
@@ -15129,8 +15149,9 @@ export function buildPanelToolDefs() {
|
|
|
15129
15149
|
// inner mapping and set it there (the issue's own workaround), then
|
|
15130
15150
|
// leave the subgraph so the caller's scope is unchanged.
|
|
15131
15151
|
const refusal = parseContradictoryPromotedWidgetRefusal(textOfToolResult(first), args.widget);
|
|
15132
|
-
if (!refusal || String(refusal.nodeId) !== String(args.node_id))
|
|
15133
|
-
return first;
|
|
15152
|
+
if (!refusal || String(refusal.nodeId) !== String(args.node_id)) {
|
|
15153
|
+
return withModelInventoryDisclosure(first, args.widget, value, ctx);
|
|
15154
|
+
}
|
|
15134
15155
|
if (refusal.widget !== args.widget) {
|
|
15135
15156
|
const remapped = await guardedWrite(args.node_id, refusal.widget);
|
|
15136
15157
|
if (!remapped.isError) {
|