comfyui-mcp 0.44.0 → 0.45.0
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/config.js +3 -1
- package/dist/config.js.map +1 -1
- package/dist/orchestrator/ai-proposer.js +5 -0
- package/dist/orchestrator/ai-proposer.js.map +1 -1
- package/dist/orchestrator/antigravity-backend.js +394 -52
- package/dist/orchestrator/antigravity-backend.js.map +1 -1
- package/dist/orchestrator/claude-backend.js +13 -0
- package/dist/orchestrator/claude-backend.js.map +1 -1
- package/dist/orchestrator/codex-backend.js +12 -1
- package/dist/orchestrator/codex-backend.js.map +1 -1
- package/dist/orchestrator/gemini-backend.js +8 -1
- package/dist/orchestrator/gemini-backend.js.map +1 -1
- package/dist/orchestrator/grok-backend.js +4 -1
- package/dist/orchestrator/grok-backend.js.map +1 -1
- package/dist/orchestrator/index.js +53 -10
- package/dist/orchestrator/index.js.map +1 -1
- package/dist/orchestrator/panel-agent.js +21 -5
- package/dist/orchestrator/panel-agent.js.map +1 -1
- package/dist/orchestrator/panel-console-http.js +1 -0
- package/dist/orchestrator/panel-console-http.js.map +1 -1
- package/dist/orchestrator/panel-tools.js +140 -9
- package/dist/orchestrator/panel-tools.js.map +1 -1
- package/dist/services/ai-toolkit.js +260 -3
- package/dist/services/ai-toolkit.js.map +1 -1
- package/dist/services/missing-models.js +295 -0
- package/dist/services/missing-models.js.map +1 -0
- package/dist/services/openai-provider-registry.js +20 -1
- package/dist/services/openai-provider-registry.js.map +1 -1
- package/dist/services/panel-secrets.js +58 -7
- package/dist/services/panel-secrets.js.map +1 -1
- package/dist/services/runpod-client.js +157 -9
- package/dist/services/runpod-client.js.map +1 -1
- package/dist/services/runpod-ssh.js +594 -0
- package/dist/services/runpod-ssh.js.map +1 -0
- package/dist/services/runpod-watch.js +53 -12
- package/dist/services/runpod-watch.js.map +1 -1
- package/dist/services/trainer-bootstrap.js +142 -0
- package/dist/services/trainer-bootstrap.js.map +1 -0
- package/dist/services/training-config.js +4 -1
- package/dist/services/training-config.js.map +1 -1
- package/dist/services/training-jobs.js +1332 -253
- package/dist/services/training-jobs.js.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/missing-models.js +151 -0
- package/dist/tools/missing-models.js.map +1 -0
- package/dist/tools/runpod.js +7 -0
- package/dist/tools/runpod.js.map +1 -1
- package/dist/tools/train.js +138 -5
- package/dist/tools/train.js.map +1 -1
- package/docker/trainer/Dockerfile +4 -2
- package/package.json +1 -1
- package/scripts/gen-tool-docs.ts +36 -4
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
// Missing-model resolution: figure out which model files a workflow wants but
|
|
2
|
+
// this ComfyUI doesn't have, then find installable candidates for them.
|
|
3
|
+
//
|
|
4
|
+
// WHY THIS EXISTS: `extract_workflow_dependencies` / `install_workflow_dependencies`
|
|
5
|
+
// resolve the custom NODE PACKS a workflow needs — they never touch the missing
|
|
6
|
+
// MODEL side of the same problem. So "open this Template and make it runnable"
|
|
7
|
+
// took two manual hops: the agent had to infer which checkpoint/VAE/LoRA was
|
|
8
|
+
// missing, then find it itself. Reported in the help channel (seanmcmagic).
|
|
9
|
+
//
|
|
10
|
+
// DETECTION: we do NOT hardcode widget names. ComfyUI publishes every model
|
|
11
|
+
// selector as a COMBO whose options are the server's ACTUAL filenames:
|
|
12
|
+
//
|
|
13
|
+
// CheckpointLoaderSimple.input.required.ckpt_name = [["a.safetensors", …], {…}]
|
|
14
|
+
//
|
|
15
|
+
// So a workflow value that is a model-looking filename and is NOT in its combo's
|
|
16
|
+
// option list is missing — which covers every model type, including ones from
|
|
17
|
+
// custom packs we've never heard of, with no per-node mapping to maintain.
|
|
18
|
+
//
|
|
19
|
+
// SIZE IS NOT VRAM: weights are the floor, not the ceiling (activations, latents
|
|
20
|
+
// and context sit on top), so `fitVerdict` deliberately reserves headroom rather
|
|
21
|
+
// than pretending file size == requirement.
|
|
22
|
+
/** Weight-file extensions. Used to tell a model value from an ordinary enum. */
|
|
23
|
+
const MODEL_EXTS = new Set([".safetensors", ".ckpt", ".pt", ".pth", ".bin", ".gguf", ".sft", ".onnx"]);
|
|
24
|
+
/** Widget name → models/ subdirectory. Only used to say WHERE a download should
|
|
25
|
+
* land; detection never depends on it, so an unknown widget degrades to
|
|
26
|
+
* `undefined` rather than dropping the missing model. */
|
|
27
|
+
const DIR_BY_WIDGET = {
|
|
28
|
+
ckpt_name: "checkpoints",
|
|
29
|
+
lora_name: "loras",
|
|
30
|
+
vae_name: "vae",
|
|
31
|
+
control_net_name: "controlnet",
|
|
32
|
+
controlnet_name: "controlnet",
|
|
33
|
+
unet_name: "diffusion_models",
|
|
34
|
+
model_name: "upscale_models",
|
|
35
|
+
clip_name: "text_encoders",
|
|
36
|
+
clip_name1: "text_encoders",
|
|
37
|
+
clip_name2: "text_encoders",
|
|
38
|
+
style_model_name: "style_models",
|
|
39
|
+
embedding_name: "embeddings",
|
|
40
|
+
gligen_name: "gligen",
|
|
41
|
+
hypernetwork_name: "hypernetworks",
|
|
42
|
+
ipadapter_file: "ipadapter",
|
|
43
|
+
};
|
|
44
|
+
/** Strip directory + extension, lowercase — the comparable identity of a model. */
|
|
45
|
+
export function fileStem(name) {
|
|
46
|
+
const base = name.split(/[/\\]/).pop() ?? name;
|
|
47
|
+
return base.replace(/\.[^.]+$/, "").toLowerCase();
|
|
48
|
+
}
|
|
49
|
+
function hasModelExt(name) {
|
|
50
|
+
const base = name.split(/[/\\]/).pop() ?? name;
|
|
51
|
+
const dot = base.lastIndexOf(".");
|
|
52
|
+
if (dot < 0)
|
|
53
|
+
return false;
|
|
54
|
+
return MODEL_EXTS.has(base.slice(dot).toLowerCase());
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Read the precision / quantisation out of a weight filename.
|
|
58
|
+
*
|
|
59
|
+
* This is what makes a fuzzy match set useful instead of opaque: the same model
|
|
60
|
+
* ships as fp16 / fp8 / several GGUF quants at wildly different sizes, and on a
|
|
61
|
+
* constrained GPU the quantised one is the whole answer.
|
|
62
|
+
*
|
|
63
|
+
* GGUF is checked FIRST: a name can contain both "gguf" and a dtype-looking
|
|
64
|
+
* token, and the container is what decides whether it loads at all.
|
|
65
|
+
*/
|
|
66
|
+
export function classifyPrecision(filename) {
|
|
67
|
+
const n = filename.toLowerCase();
|
|
68
|
+
if (/\.gguf$|[-_.]gguf\b/.test(n)) {
|
|
69
|
+
// Q4_K_M, Q6_K, Q8_0, IQ3_XXS …
|
|
70
|
+
const m = n.match(/\b(iq|q)(\d+)(_[a-z0-9]+)*\b/);
|
|
71
|
+
return {
|
|
72
|
+
precision: "gguf",
|
|
73
|
+
quant: m ? m[0].toUpperCase() : undefined,
|
|
74
|
+
requiresPack: "ComfyUI-GGUF",
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
if (/\bnf4\b/.test(n))
|
|
78
|
+
return { precision: "nf4" };
|
|
79
|
+
// fp8_e4m3fn / fp8_e5m2 / float8
|
|
80
|
+
if (/\bfp8\b|\bfloat8\b|e4m3|e5m2/.test(n))
|
|
81
|
+
return { precision: "fp8" };
|
|
82
|
+
if (/\bbf16\b|\bbfloat16\b/.test(n))
|
|
83
|
+
return { precision: "bf16" };
|
|
84
|
+
if (/\bfp16\b|\bfloat16\b|\bhalf\b/.test(n))
|
|
85
|
+
return { precision: "fp16" };
|
|
86
|
+
if (/\bfp32\b|\bfloat32\b|\bfull\b/.test(n))
|
|
87
|
+
return { precision: "fp32" };
|
|
88
|
+
return { precision: "unknown" };
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Can this file plausibly run on a card with `vramBytes` of VRAM?
|
|
92
|
+
*
|
|
93
|
+
* Weights are the floor, not the ceiling — activations/latents/context also live
|
|
94
|
+
* in VRAM — so we reserve headroom instead of claiming a 15.9 GB file "fits" a
|
|
95
|
+
* 16 GB card. Anything above 80% of VRAM is reported as `tight`, not `fits`.
|
|
96
|
+
*/
|
|
97
|
+
export function fitVerdict(sizeBytes, vramBytes) {
|
|
98
|
+
if (!sizeBytes || !vramBytes || sizeBytes <= 0 || vramBytes <= 0)
|
|
99
|
+
return "unknown";
|
|
100
|
+
const ratio = sizeBytes / vramBytes;
|
|
101
|
+
if (ratio > 1)
|
|
102
|
+
return "too_big";
|
|
103
|
+
if (ratio > 0.8)
|
|
104
|
+
return "tight";
|
|
105
|
+
return "fits";
|
|
106
|
+
}
|
|
107
|
+
/** How well does `candidate` answer the request for `wanted`? */
|
|
108
|
+
export function matchQuality(wanted, candidate) {
|
|
109
|
+
const w = (wanted.split(/[/\\]/).pop() ?? wanted).toLowerCase();
|
|
110
|
+
const c = (candidate.split(/[/\\]/).pop() ?? candidate).toLowerCase();
|
|
111
|
+
if (w === c)
|
|
112
|
+
return "exact";
|
|
113
|
+
if (fileStem(wanted) === fileStem(candidate))
|
|
114
|
+
return "stem";
|
|
115
|
+
return "fuzzy";
|
|
116
|
+
}
|
|
117
|
+
const MATCH_RANK = { exact: 0, stem: 1, fuzzy: 2 };
|
|
118
|
+
const FIT_RANK = { fits: 0, tight: 1, unknown: 2, too_big: 3 };
|
|
119
|
+
/**
|
|
120
|
+
* Order candidates the way a human would pick: closest name first, then what
|
|
121
|
+
* actually fits the card, then larger (higher-quality) files before smaller.
|
|
122
|
+
* Stable — equal candidates keep their input order.
|
|
123
|
+
*/
|
|
124
|
+
export function rankCandidates(wanted, candidates) {
|
|
125
|
+
return candidates
|
|
126
|
+
.map((c, i) => ({ ...c, match: matchQuality(wanted, c.filename), _i: i }))
|
|
127
|
+
.sort((a, b) => {
|
|
128
|
+
const m = MATCH_RANK[a.match] - MATCH_RANK[b.match];
|
|
129
|
+
if (m !== 0)
|
|
130
|
+
return m;
|
|
131
|
+
const f = FIT_RANK[a.fit ?? "unknown"] - FIT_RANK[b.fit ?? "unknown"];
|
|
132
|
+
if (f !== 0)
|
|
133
|
+
return f;
|
|
134
|
+
const s = (b.size_bytes ?? 0) - (a.size_bytes ?? 0);
|
|
135
|
+
if (s !== 0)
|
|
136
|
+
return s;
|
|
137
|
+
return a._i - b._i;
|
|
138
|
+
})
|
|
139
|
+
.map(({ _i, ...rest }) => rest);
|
|
140
|
+
}
|
|
141
|
+
/** The combo option list for an input spec, or null when it isn't a combo. */
|
|
142
|
+
function comboOptions(spec) {
|
|
143
|
+
if (!Array.isArray(spec) || spec.length === 0)
|
|
144
|
+
return null;
|
|
145
|
+
const first = spec[0];
|
|
146
|
+
if (!Array.isArray(first))
|
|
147
|
+
return null;
|
|
148
|
+
return first.filter((o) => typeof o === "string");
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Find every model a workflow references that this server does not have.
|
|
152
|
+
*
|
|
153
|
+
* A value counts as a missing model when its input is a COMBO (so the server
|
|
154
|
+
* published the set it actually has) and the value is a model-looking filename
|
|
155
|
+
* absent from that set. Connections (`[nodeId, slot]` arrays) and non-model
|
|
156
|
+
* enums are ignored.
|
|
157
|
+
*
|
|
158
|
+
* `directory` is a best-effort hint for where a download should land; it is
|
|
159
|
+
* never required, so an unrecognised widget still reports its missing model.
|
|
160
|
+
*/
|
|
161
|
+
export function findMissingModels(workflow, objectInfo) {
|
|
162
|
+
const missing = [];
|
|
163
|
+
const seen = new Set();
|
|
164
|
+
for (const [nodeId, rawNode] of Object.entries(workflow)) {
|
|
165
|
+
if (!rawNode || typeof rawNode !== "object")
|
|
166
|
+
continue;
|
|
167
|
+
const node = rawNode;
|
|
168
|
+
const classType = node.class_type;
|
|
169
|
+
if (!classType || !node.inputs)
|
|
170
|
+
continue;
|
|
171
|
+
const def = objectInfo[classType];
|
|
172
|
+
if (!def?.input)
|
|
173
|
+
continue;
|
|
174
|
+
const specs = { ...(def.input.required ?? {}), ...(def.input.optional ?? {}) };
|
|
175
|
+
for (const [widget, value] of Object.entries(node.inputs)) {
|
|
176
|
+
// A wired connection, not a widget value.
|
|
177
|
+
if (Array.isArray(value))
|
|
178
|
+
continue;
|
|
179
|
+
if (typeof value !== "string" || value.length === 0)
|
|
180
|
+
continue;
|
|
181
|
+
const options = comboOptions(specs[widget]);
|
|
182
|
+
if (!options)
|
|
183
|
+
continue; // not a combo → not a model selector
|
|
184
|
+
if (options.includes(value))
|
|
185
|
+
continue; // present on this server
|
|
186
|
+
// Only claim "missing MODEL" when it looks like a weight file — otherwise
|
|
187
|
+
// it's an ordinary enum drift and not ours to fix.
|
|
188
|
+
if (!hasModelExt(value) && !options.some(hasModelExt))
|
|
189
|
+
continue;
|
|
190
|
+
const key = `${value.toLowerCase()}|${widget}`;
|
|
191
|
+
if (seen.has(key))
|
|
192
|
+
continue;
|
|
193
|
+
seen.add(key);
|
|
194
|
+
missing.push({
|
|
195
|
+
node_id: nodeId,
|
|
196
|
+
node_type: classType,
|
|
197
|
+
widget,
|
|
198
|
+
name: value,
|
|
199
|
+
directory: DIR_BY_WIDGET[widget],
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return missing;
|
|
204
|
+
}
|
|
205
|
+
/** models/ subdir → CivitAI `types` filter, so a LoRA hunt can't return checkpoints. */
|
|
206
|
+
const CIVITAI_TYPE_BY_DIR = {
|
|
207
|
+
checkpoints: ["Checkpoint"],
|
|
208
|
+
loras: ["LORA", "LoCon"],
|
|
209
|
+
vae: ["VAE"],
|
|
210
|
+
controlnet: ["Controlnet"],
|
|
211
|
+
embeddings: ["TextualInversion"],
|
|
212
|
+
upscale_models: ["Upscaler"],
|
|
213
|
+
};
|
|
214
|
+
const MB = 1024 * 1024;
|
|
215
|
+
/**
|
|
216
|
+
* Find installable candidates for ONE missing model, annotated with precision,
|
|
217
|
+
* size and whether it fits this GPU, best first.
|
|
218
|
+
*
|
|
219
|
+
* Deliberately does NOT auto-pick: the same filename ships across quants and
|
|
220
|
+
* base models, so we return a ranked, annotated list and let the caller decide.
|
|
221
|
+
* Network failures degrade to fewer candidates rather than failing the lookup —
|
|
222
|
+
* a partial answer beats none when one provider is down.
|
|
223
|
+
*/
|
|
224
|
+
export async function resolveCandidates(missing, deps, opts = {}) {
|
|
225
|
+
const limit = opts.limit ?? 8;
|
|
226
|
+
const query = fileStem(missing.name);
|
|
227
|
+
const vram = await deps.vramBytes().catch(() => undefined);
|
|
228
|
+
const out = [];
|
|
229
|
+
const civitaiTypes = missing.directory ? CIVITAI_TYPE_BY_DIR[missing.directory] : undefined;
|
|
230
|
+
const hits = await deps.searchCivitai(query, civitaiTypes).catch(() => []);
|
|
231
|
+
for (const h of hits) {
|
|
232
|
+
const size = typeof h.size_mb === "number" ? Math.round(h.size_mb * MB) : undefined;
|
|
233
|
+
const p = classifyPrecision(h.name);
|
|
234
|
+
out.push({
|
|
235
|
+
filename: h.name,
|
|
236
|
+
source: "civitai",
|
|
237
|
+
civitai_model_id: h.model_id,
|
|
238
|
+
civitai_version_id: h.version_id,
|
|
239
|
+
size_bytes: size,
|
|
240
|
+
precision: p.precision,
|
|
241
|
+
quant: p.quant,
|
|
242
|
+
requires_pack: p.requiresPack,
|
|
243
|
+
base_model: h.base_model,
|
|
244
|
+
fit: fitVerdict(size, vram),
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
// Expand generously: the QUANTISED repo (e.g. city96/FLUX.1-dev-gguf) is
|
|
248
|
+
// routinely ranked below the official one, and on a constrained GPU it is the
|
|
249
|
+
// only candidate that actually helps — slicing too tightly drops exactly the
|
|
250
|
+
// answer the user needs.
|
|
251
|
+
const repos = await deps.searchHf(query).catch(() => []);
|
|
252
|
+
for (const repo of repos.slice(0, 6)) {
|
|
253
|
+
const files = await deps.hfRepoFiles(repo.id).catch(() => []);
|
|
254
|
+
for (const f of files) {
|
|
255
|
+
const p = classifyPrecision(f.filename);
|
|
256
|
+
out.push({
|
|
257
|
+
filename: f.filename,
|
|
258
|
+
source: "huggingface",
|
|
259
|
+
url: `https://huggingface.co/${repo.id}/resolve/main/${f.filename}`,
|
|
260
|
+
size_bytes: f.size_bytes,
|
|
261
|
+
precision: p.precision,
|
|
262
|
+
quant: p.quant,
|
|
263
|
+
requires_pack: p.requiresPack,
|
|
264
|
+
fit: fitVerdict(f.size_bytes, vram),
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
return rankCandidates(missing.name, dedupeCandidates(out)).slice(0, limit);
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Collapse the same file offered by several repos/providers into one row.
|
|
272
|
+
*
|
|
273
|
+
* Popular weights are mirrored widely, so an un-deduped list wastes most of its
|
|
274
|
+
* slots showing `flux1-dev.safetensors` three times instead of the fp8 and GGUF
|
|
275
|
+
* variants that are the actual reason to look. Keyed on filename + precision +
|
|
276
|
+
* quant so genuinely different builds stay distinct; the entry that knows its
|
|
277
|
+
* size wins, since size drives the fit verdict.
|
|
278
|
+
*/
|
|
279
|
+
export function dedupeCandidates(candidates) {
|
|
280
|
+
const best = new Map();
|
|
281
|
+
for (const c of candidates) {
|
|
282
|
+
const key = `${(c.filename.split(/[/\\]/).pop() ?? c.filename).toLowerCase()}|${c.precision}|${c.quant ?? ""}`;
|
|
283
|
+
const prev = best.get(key);
|
|
284
|
+
if (!prev) {
|
|
285
|
+
best.set(key, c);
|
|
286
|
+
continue;
|
|
287
|
+
}
|
|
288
|
+
const prevKnows = typeof prev.size_bytes === "number" && prev.size_bytes > 0;
|
|
289
|
+
const nextKnows = typeof c.size_bytes === "number" && c.size_bytes > 0;
|
|
290
|
+
if (!prevKnows && nextKnows)
|
|
291
|
+
best.set(key, c);
|
|
292
|
+
}
|
|
293
|
+
return [...best.values()];
|
|
294
|
+
}
|
|
295
|
+
//# sourceMappingURL=missing-models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing-models.js","sourceRoot":"","sources":["../../src/services/missing-models.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export const OPENAI_KEY_PROVIDERS = [
|
|
|
31
31
|
{
|
|
32
32
|
id: "glm",
|
|
33
33
|
slotLabel: "GLM / Zhipu",
|
|
34
|
-
slotHelp: "GLM
|
|
34
|
+
slotHelp: "Z.AI Coding Plan (GLM / Zhipu)",
|
|
35
35
|
envKeys: ["GLM_API_KEY", "ZHIPU_API_KEY", "ZHIPUAI_API_KEY", "ZAI_API_KEY"],
|
|
36
36
|
modelEnv: "COMFYUI_MCP_GLM_MODEL",
|
|
37
37
|
defaultModel: process.env.COMFYUI_MCP_GLM_MODEL?.trim() || "glm-4.7",
|
|
@@ -84,4 +84,23 @@ export function simpleKeyProvider(id) {
|
|
|
84
84
|
export function openAiKeyProviderModel(p) {
|
|
85
85
|
return process.env[p.modelEnv] ?? p.defaultModel;
|
|
86
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* One-line "which model am I on, and how do I change it?" hint for the panel's
|
|
89
|
+
* API Keys card.
|
|
90
|
+
*
|
|
91
|
+
* These providers ship a pinned default (glm-4.7, kimi-for-coding, kimi-k3) and
|
|
92
|
+
* a `modelEnv` override, but NOTHING in the UI ever said the override existed —
|
|
93
|
+
* so a user on a newer model (e.g. GLM 5.2) had no way to discover they could
|
|
94
|
+
* point at it without reading the source. Generated from the registry rather
|
|
95
|
+
* than hand-written per provider, so it can never drift from the real default.
|
|
96
|
+
*
|
|
97
|
+
* Reports the ACTIVE model (env override if set, else the default) and names the
|
|
98
|
+
* env var either way, so the card also answers "why am I not on the model I set?".
|
|
99
|
+
*/
|
|
100
|
+
export function providerModelHint(p) {
|
|
101
|
+
const active = openAiKeyProviderModel(p);
|
|
102
|
+
return active === p.defaultModel
|
|
103
|
+
? `Model ${active} (default) — set ${p.modelEnv} to use another.`
|
|
104
|
+
: `Model ${active} (via ${p.modelEnv}; default ${p.defaultModel}).`;
|
|
105
|
+
}
|
|
87
106
|
//# sourceMappingURL=openai-provider-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-provider-registry.js","sourceRoot":"","sources":["../../src/services/openai-provider-registry.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,iFAAiF;AACjF,kFAAkF;AAClF,+EAA+E;AAC/E,iFAAiF;AACjF,0EAA0E;AAC1E,6EAA6E;AAC7E,kBAAkB;AAClB,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,iFAAiF;AACjF,6EAA6E;AAC7E,0DAA0D;AAC1D,EAAE;AACF,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAChF,iFAAiF;AACjF,qEAAqE;AACrE,+EAA+E;AAC/E,gDAAgD;AA6ChD;8EAC8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACvD;QACE,EAAE,EAAE,KAAK;QACT,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"openai-provider-registry.js","sourceRoot":"","sources":["../../src/services/openai-provider-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "n
|
|
|
20
20
|
import { homedir } from "node:os";
|
|
21
21
|
import { dirname, join } from "node:path";
|
|
22
22
|
import { logger } from "../utils/logger.js";
|
|
23
|
-
import { OPENAI_KEY_PROVIDERS } from "./openai-provider-registry.js";
|
|
23
|
+
import { OPENAI_KEY_PROVIDERS, providerModelHint } from "./openai-provider-registry.js";
|
|
24
24
|
// STRICT ALLOWLIST of env keys a panel-collected secret may set on the comfyui
|
|
25
25
|
// MCP child process. The child is a Node subprocess (process.execPath), so an
|
|
26
26
|
// arbitrary key (NODE_OPTIONS, PATH, COMFYUI_PATH, LD_PRELOAD, …) could hijack or
|
|
@@ -198,21 +198,43 @@ export function setEnvSecret(key, value) {
|
|
|
198
198
|
}
|
|
199
199
|
upsertEnvFile(trimmed, value);
|
|
200
200
|
process.env[trimmed] = value; // live in-process effect (env wins over the file)
|
|
201
|
-
|
|
201
|
+
// Only a COMFYUI tool secret should restart the comfyui MCP child + inject the
|
|
202
|
+
// "retry the download that needed this token" nudge (#269): saving an
|
|
203
|
+
// agent-ONLY provider key (OPENROUTER/GLM/KIMI…) previously restarted every
|
|
204
|
+
// agent with that nonsensical download-retry message. Agent-only keys fire
|
|
205
|
+
// just "agentChange" (readiness/model refresh) below.
|
|
206
|
+
if (isAllowedComfyuiSecretKey(trimmed))
|
|
207
|
+
emitter.emit("change");
|
|
202
208
|
if (isAllowedAgentSecretKey(trimmed))
|
|
203
209
|
emitter.emit("agentChange"); // flip provider readiness live
|
|
204
210
|
}
|
|
205
|
-
/** Canonical remover: drop a token from .env + process.env + emit.
|
|
211
|
+
/** Canonical remover: drop a token from .env + process.env + emit. Also PURGES
|
|
212
|
+
* the legacy panel-secrets.json maps (#269): without this a key revoked from
|
|
213
|
+
* .env would RESURRECT on the next boot, because migrateSecretsToEnv() re-adds
|
|
214
|
+
* any key still present in the JSON store that .env no longer provides. */
|
|
206
215
|
export function removeEnvSecret(key) {
|
|
207
216
|
const removed = removeEnvFileKey(key);
|
|
208
217
|
if (process.env[key] !== undefined)
|
|
209
218
|
delete process.env[key];
|
|
210
|
-
|
|
211
|
-
|
|
219
|
+
// Purge the legacy JSON maps so a revoked key can't resurrect via migration.
|
|
220
|
+
const s = read();
|
|
221
|
+
let purgedJson = false;
|
|
222
|
+
for (const map of [s.comfyuiEnv, s.agentEnv]) {
|
|
223
|
+
if (map && Object.prototype.hasOwnProperty.call(map, key)) {
|
|
224
|
+
delete map[key];
|
|
225
|
+
purgedJson = true;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (purgedJson)
|
|
229
|
+
write(s);
|
|
230
|
+
const changed = removed || purgedJson;
|
|
231
|
+
if (changed) {
|
|
232
|
+
if (isAllowedComfyuiSecretKey(key))
|
|
233
|
+
emitter.emit("change"); // comfyui-only restart (#269)
|
|
212
234
|
if (isAllowedAgentSecretKey(key))
|
|
213
235
|
emitter.emit("agentChange");
|
|
214
236
|
}
|
|
215
|
-
return
|
|
237
|
+
return changed;
|
|
216
238
|
}
|
|
217
239
|
/**
|
|
218
240
|
* One-time migration to the canonical .env: any flat token still living in the
|
|
@@ -391,6 +413,32 @@ export function removeAgentSecret(key) {
|
|
|
391
413
|
export function buildComfyuiMcpEnv(base) {
|
|
392
414
|
return { ...base, ...loadComfyuiSecretEnv() };
|
|
393
415
|
}
|
|
416
|
+
// ── Agent-provider spawn env (tool-secret scoping) ───────────────────────────
|
|
417
|
+
// Tool secrets (RunPod/HF/CivitAI/RunComfy/Registry tokens…) live in process.env
|
|
418
|
+
// because config.ts loads ~/.comfyui-mcp/.env at boot and setEnvSecret applies
|
|
419
|
+
// live. That is CORRECT for the comfyui tool child (buildComfyuiMcpEnv), but the
|
|
420
|
+
// agent-provider subprocesses (Codex app-server, Gemini/Grok CLI…) must NEVER
|
|
421
|
+
// inherit them — a tool credential has no business in an LLM vendor's process.
|
|
422
|
+
// buildAgentSpawnEnv is the single spawn-env builder those backends use: a copy
|
|
423
|
+
// of process.env with every TOOL-ONLY secret key stripped.
|
|
424
|
+
/** Secret env keys that are TOOL-only (comfyui allowlist minus agent allowlist)
|
|
425
|
+
* — these must never reach an agent-provider subprocess's env. */
|
|
426
|
+
export const TOOL_ONLY_SECRET_ENV_KEYS = COMFYUI_SECRET_ENV_ALLOWLIST.filter((k) => !AGENT_ALLOWLIST_SET.has(k));
|
|
427
|
+
/**
|
|
428
|
+
* Build the env an AGENT-PROVIDER subprocess (Codex/Gemini/Grok CLI…) spawns
|
|
429
|
+
* with: `base` (default process.env) with all tool-only secret keys removed.
|
|
430
|
+
* `keep` re-admits specific keys when they double as the provider's OWN
|
|
431
|
+
* credential (e.g. GEMINI_API_KEY for the Gemini CLI — same vendor, not a leak).
|
|
432
|
+
*/
|
|
433
|
+
export function buildAgentSpawnEnv(base = process.env, opts = {}) {
|
|
434
|
+
const keep = new Set(opts.keep ?? []);
|
|
435
|
+
const out = { ...base };
|
|
436
|
+
for (const k of TOOL_ONLY_SECRET_ENV_KEYS) {
|
|
437
|
+
if (!keep.has(k))
|
|
438
|
+
delete out[k];
|
|
439
|
+
}
|
|
440
|
+
return out;
|
|
441
|
+
}
|
|
394
442
|
/** UI credential slots. Each slot writes ALL its envKeys (alias fan-out) into its
|
|
395
443
|
* store. `store` decides which allowlist/setter applies. */
|
|
396
444
|
export const CREDENTIAL_SLOTS = [
|
|
@@ -402,7 +450,10 @@ export const CREDENTIAL_SLOTS = [
|
|
|
402
450
|
label: p.slotLabel,
|
|
403
451
|
envKeys: p.envKeys,
|
|
404
452
|
store: "agent",
|
|
405
|
-
|
|
453
|
+
// Append the generated model hint so the card says which model the
|
|
454
|
+
// provider is actually on and how to change it — the override env var
|
|
455
|
+
// existed but was invisible outside the source.
|
|
456
|
+
help: `${p.slotHelp} · ${providerModelHint(p)}`,
|
|
406
457
|
})),
|
|
407
458
|
{ id: "civitai", label: "Civitai", envKeys: ["CIVITAI_API_TOKEN"], store: "comfyui", help: "Model downloads" },
|
|
408
459
|
{ id: "huggingface", label: "HuggingFace", envKeys: ["HF_TOKEN", "HUGGINGFACE_TOKEN"], store: "comfyui", help: "Model downloads" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-secrets.js","sourceRoot":"","sources":["../../src/services/panel-secrets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"panel-secrets.js","sourceRoot":"","sources":["../../src/services/panel-secrets.ts"],"names":[],"mappings":"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"}
|