comfyui-mcp 0.51.49 → 0.51.50
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.
|
@@ -3,6 +3,7 @@ import { existsSync } from "node:fs";
|
|
|
3
3
|
import { lstat, mkdir, readFile, realpath, stat } from "node:fs/promises";
|
|
4
4
|
import { platform } from "node:os";
|
|
5
5
|
import { basename, dirname, extname, isAbsolute, join, relative, resolve, sep, } from "node:path";
|
|
6
|
+
import { fileURLToPath } from "node:url";
|
|
6
7
|
import { parse as parseYaml } from "yaml";
|
|
7
8
|
import { z } from "zod";
|
|
8
9
|
import { config, isRemoteMode } from "../config.js";
|
|
@@ -87,6 +88,97 @@ export const manifestSchema = z
|
|
|
87
88
|
.default([]),
|
|
88
89
|
})
|
|
89
90
|
.strict();
|
|
91
|
+
// ---------------------------------------------------------------------------
|
|
92
|
+
// #1568 — bundled pack manifests, resolved by name rather than by a path that expires
|
|
93
|
+
//
|
|
94
|
+
// `list_packs` hands out an absolute `manifest_path` built from the running package root.
|
|
95
|
+
// Under npx that root is `…/_npx/<hash>/node_modules/comfyui-mcp`, and the next respawn
|
|
96
|
+
// gets a different <hash> — so a path captured earlier stats ENOENT while the pack is
|
|
97
|
+
// still sitting there under its name.
|
|
98
|
+
//
|
|
99
|
+
// The lookup was never the broken part. `packsDir()` already derives from the current
|
|
100
|
+
// root; what goes stale is the string we publish and invite the caller to hand back.
|
|
101
|
+
// ---------------------------------------------------------------------------
|
|
102
|
+
/** A single safe path segment — a pack directory name with no traversal or separators.
|
|
103
|
+
* Mirrors skills-access.ts's SAFE_NAME, which guards the same directory. */
|
|
104
|
+
const SAFE_PACK_NAME = /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
|
|
105
|
+
/** The bundled packs directory of the CURRENTLY RUNNING build. */
|
|
106
|
+
function bundledPacksDir() {
|
|
107
|
+
return join(fileURLToPath(new URL("../../", import.meta.url)), "packs");
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The manifest file of a bundled pack, or null when there is no such pack.
|
|
111
|
+
*
|
|
112
|
+
* Name-guarded and existence-checked: the name reaches the filesystem, so traversal must
|
|
113
|
+
* not. Returns the `.yaml` or `.yml` form, whichever the pack actually ships.
|
|
114
|
+
*/
|
|
115
|
+
export function resolvePackManifestFile(packName) {
|
|
116
|
+
const name = String(packName ?? "").trim();
|
|
117
|
+
if (!SAFE_PACK_NAME.test(name))
|
|
118
|
+
return null;
|
|
119
|
+
const root = bundledPacksDir();
|
|
120
|
+
const packDir = join(root, name);
|
|
121
|
+
// Belt and braces over the name test: never leave the packs directory.
|
|
122
|
+
if (!packDir.startsWith(root))
|
|
123
|
+
return null;
|
|
124
|
+
for (const file of ["manifest.yaml", "manifest.yml"]) {
|
|
125
|
+
const candidate = join(packDir, file);
|
|
126
|
+
if (existsSync(candidate))
|
|
127
|
+
return candidate;
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Which bundled pack a MISSING path was almost certainly naming, or null.
|
|
133
|
+
*
|
|
134
|
+
* This deliberately does NOT substitute the file. An earlier version of this returned the
|
|
135
|
+
* live path and applied it, and review was right to attack that: `apply_manifest` installs
|
|
136
|
+
* custom nodes and downloads model weights, so running a file the caller did not name is a
|
|
137
|
+
* much worse failure than the ENOENT it replaces — and the recogniser authenticated only
|
|
138
|
+
* the last four segments, so a user's own `~/dev/comfyui-mcp/packs/<name>/manifest.yaml`
|
|
139
|
+
* would have been retargeted at a bundled pack that merely shares a directory name.
|
|
140
|
+
*
|
|
141
|
+
* So it answers a question instead: "is there a bundled pack this dead path was pointing
|
|
142
|
+
* at?" The caller turns that into an actionable refusal naming `pack:<name>`, which is one
|
|
143
|
+
* call away and leaves the choice with the user. `pack:` is the actual fix for #1568; this
|
|
144
|
+
* only stops the failure being a bare ENOENT that reads like a missing pack.
|
|
145
|
+
*
|
|
146
|
+
* Still requires `node_modules` in the path, because the reported failure is an INSTALLED
|
|
147
|
+
* copy under an npx cache — that keeps a source checkout out of it entirely.
|
|
148
|
+
*/
|
|
149
|
+
export function bundledPackNamedByStalePath(candidate) {
|
|
150
|
+
const raw = String(candidate ?? "");
|
|
151
|
+
if (!raw.trim())
|
|
152
|
+
return null;
|
|
153
|
+
// Only a path that resolves to nothing is a candidate. This is not a security boundary —
|
|
154
|
+
// nothing is substituted on the strength of it — so an ambiguous stat (a permission
|
|
155
|
+
// error, a dangling symlink) costing us a suggestion is the harmless direction.
|
|
156
|
+
if (existsSync(raw))
|
|
157
|
+
return null;
|
|
158
|
+
const parts = raw.replace(/\\/g, "/").split("/").filter(Boolean);
|
|
159
|
+
if (parts.length < 5)
|
|
160
|
+
return null;
|
|
161
|
+
const file = parts[parts.length - 1];
|
|
162
|
+
const name = parts[parts.length - 2];
|
|
163
|
+
const packs = parts[parts.length - 3];
|
|
164
|
+
const owner = parts[parts.length - 4];
|
|
165
|
+
const container = parts[parts.length - 5];
|
|
166
|
+
if (file !== "manifest.yaml" && file !== "manifest.yml")
|
|
167
|
+
return null;
|
|
168
|
+
if (packs !== "packs")
|
|
169
|
+
return null;
|
|
170
|
+
if (owner !== "comfyui-mcp")
|
|
171
|
+
return null;
|
|
172
|
+
// An INSTALLED copy, which is what an npx cache holds. A working checkout at
|
|
173
|
+
// `~/dev/comfyui-mcp/packs/…` is not this, and its missing file is its own business.
|
|
174
|
+
if (container !== "node_modules")
|
|
175
|
+
return null;
|
|
176
|
+
if (!SAFE_PACK_NAME.test(name))
|
|
177
|
+
return null;
|
|
178
|
+
// …and only if this build actually ships it, so the hint never names a pack that is not
|
|
179
|
+
// there to apply.
|
|
180
|
+
return resolvePackManifestFile(name) ? name : null;
|
|
181
|
+
}
|
|
90
182
|
function parseManifestText(path, text) {
|
|
91
183
|
const ext = extname(path).toLowerCase();
|
|
92
184
|
if (ext === ".json")
|
|
@@ -108,12 +200,52 @@ export async function loadManifestFile(path) {
|
|
|
108
200
|
async function resolveManifest(opts) {
|
|
109
201
|
const hasInline = opts.manifest !== undefined;
|
|
110
202
|
const hasPath = opts.path !== undefined && opts.path.trim().length > 0;
|
|
111
|
-
|
|
112
|
-
|
|
203
|
+
const hasPack = opts.pack !== undefined && opts.pack.trim().length > 0;
|
|
204
|
+
const given = [hasInline, hasPath, hasPack].filter(Boolean).length;
|
|
205
|
+
if (given !== 1) {
|
|
206
|
+
throw new ValidationError("Provide exactly one of `manifest`, `path`, or `pack` to apply_manifest.");
|
|
113
207
|
}
|
|
114
208
|
if (hasInline)
|
|
115
209
|
return manifestSchema.parse(opts.manifest);
|
|
116
|
-
|
|
210
|
+
// #1568 — a NAME, resolved against the running package root. This is the durable form: a
|
|
211
|
+
// pack name cannot expire the way a path captured under an npx cache hash does.
|
|
212
|
+
if (hasPack) {
|
|
213
|
+
const name = opts.pack.trim();
|
|
214
|
+
const file = resolvePackManifestFile(name);
|
|
215
|
+
if (!file) {
|
|
216
|
+
throw new ValidationError(`No bundled pack named "${name}" ships a manifest in this build. ` +
|
|
217
|
+
`List the available packs with list_packs (action:"list") and use the \`name\` it reports.`);
|
|
218
|
+
}
|
|
219
|
+
return loadManifestFile(file);
|
|
220
|
+
}
|
|
221
|
+
// The path is opened EXACTLY as given. Trimming was only ever meant to decide whether an
|
|
222
|
+
// input was present; trimming what gets opened would silently retarget a legitimate
|
|
223
|
+
// POSIX path with leading or trailing whitespace (review).
|
|
224
|
+
const requested = opts.path;
|
|
225
|
+
// #1568 — the reported failure: a path handed out by an EARLIER npx process, whose cache
|
|
226
|
+
// directory no longer exists. Turn the bare ENOENT into the one-call remedy rather than
|
|
227
|
+
// applying a file nobody named.
|
|
228
|
+
// ATTEMPT THE OPEN FIRST, and only then explain (review, round 2). Deciding "this is a
|
|
229
|
+
// stale npx path" before trying it replaced the loader's real error — an ordinary npm
|
|
230
|
+
// install under node_modules, or a permission failure, would both have been relabelled,
|
|
231
|
+
// hiding the actual ENOENT/EACCES and pointing at a pack the caller never asked for.
|
|
232
|
+
//
|
|
233
|
+
// So the real error is what surfaces, and the remedy is appended to it.
|
|
234
|
+
try {
|
|
235
|
+
return await loadManifestFile(requested);
|
|
236
|
+
}
|
|
237
|
+
catch (err) {
|
|
238
|
+
const stalePack = bundledPackNamedByStalePath(requested);
|
|
239
|
+
if (!stalePack)
|
|
240
|
+
throw err;
|
|
241
|
+
const cause = err instanceof Error ? err.message : String(err);
|
|
242
|
+
throw new ValidationError(`${cause}\n\nThat path points inside an installed comfyui-mcp package directory. If it came ` +
|
|
243
|
+
`from an earlier npx run, that directory is replaced on each respawn, which is why a ` +
|
|
244
|
+
`manifest_path captured earlier stops resolving (#1568). This build does ship a pack ` +
|
|
245
|
+
`called "${stalePack}" — if that is the one you meant, re-run with pack: "${stalePack}" ` +
|
|
246
|
+
`instead of a path: it resolves against the running build and cannot go stale. ` +
|
|
247
|
+
`(Nothing was installed.)`);
|
|
248
|
+
}
|
|
117
249
|
}
|
|
118
250
|
function commandExists(cmd) {
|
|
119
251
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/services/manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/services/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/manifest.js
CHANGED
|
@@ -9,7 +9,11 @@ export function registerManifestTools(server) {
|
|
|
9
9
|
path: z
|
|
10
10
|
.string()
|
|
11
11
|
.optional()
|
|
12
|
-
.describe("Path to a .json, .yaml, or .yml manifest file. Provide exactly one of `manifest` or `
|
|
12
|
+
.describe("Path to a .json, .yaml, or .yml manifest file. Provide exactly one of `manifest`, `path`, or `pack`."),
|
|
13
|
+
pack: z
|
|
14
|
+
.string()
|
|
15
|
+
.optional()
|
|
16
|
+
.describe("A bundled installer pack by NAME, as reported by list_packs (action:\"list\"). PREFER THIS over `path` for a bundled pack: the name is resolved against the running build at apply time, while a manifest_path captured earlier points into an npx cache directory that a later respawn no longer has (#1568). Provide exactly one of `manifest`, `path`, or `pack`."),
|
|
13
17
|
}, async (args) => {
|
|
14
18
|
try {
|
|
15
19
|
const result = await applyManifest(args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/tools/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,ylBAAylB,EACzlB;QACE,QAAQ,EAAE,cAAc;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,sEAAsE,CACvE;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/tools/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,qBAAqB,CAAC,MAAiB;IACrD,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,ylBAAylB,EACzlB;QACE,QAAQ,EAAE,cAAc;aACrB,QAAQ,EAAE;aACV,QAAQ,CACP,sEAAsE,CACvE;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sGAAsG,CACvG;QACH,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sWAAsW,CACvW;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "comfyui-mcp",
|
|
3
|
-
"version": "0.51.
|
|
3
|
+
"version": "0.51.50",
|
|
4
4
|
"mcpName": "io.github.artokun/comfyui-mcp",
|
|
5
5
|
"description": "Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
|
|
6
6
|
"homepage": "https://comfyui-mcp.artokun.io/docs",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"dev": "tsx src/index.ts",
|
|
28
28
|
"dev:agent-poc": "tsx src/experimental/run.ts",
|
|
29
29
|
"start": "node dist/index.js",
|
|
30
|
-
"test": "vitest run --passWithNoTests && npm run i18n:check && npm run check:docs-links",
|
|
30
|
+
"test": "vitest run --passWithNoTests && npm run i18n:check && npm run check:docs-links && npm run check:docs-locale",
|
|
31
31
|
"smoke": "npm run build && node scripts/smoke-install.mjs",
|
|
32
32
|
"test:watch": "vitest",
|
|
33
33
|
"test:integration": "cross-env COMFYUI_INTEGRATION=true vitest run",
|
|
@@ -59,7 +59,8 @@
|
|
|
59
59
|
"prepare": "tsc",
|
|
60
60
|
"i18n:build": "node scripts/i18n-build-en.mjs",
|
|
61
61
|
"i18n:check": "node scripts/i18n-check.mjs",
|
|
62
|
-
"check:docs-links": "node scripts/check-docs-links.mjs"
|
|
62
|
+
"check:docs-links": "node scripts/check-docs-links.mjs",
|
|
63
|
+
"check:docs-locale": "node scripts/check-docs-locale.mjs"
|
|
63
64
|
},
|
|
64
65
|
"dependencies": {
|
|
65
66
|
"@comfyorg/sdk": "^0.1.5",
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Structural comparison of a localized docs page against its English source.
|
|
4
|
+
*
|
|
5
|
+
* node scripts/check-docs-locale.mjs ko
|
|
6
|
+
* node scripts/check-docs-locale.mjs # every locale directory under docs/
|
|
7
|
+
*
|
|
8
|
+
* Why this exists alongside the reviewing agent: an agent judges MEANING, which is the part
|
|
9
|
+
* a script cannot do — and it is also the part that fails softly. What fails HARD is
|
|
10
|
+
* structure. A translated shell command, a dropped code fence, a relative link that no longer
|
|
11
|
+
* resolves from inside `ko/` — those break for every reader, and they are exactly what a
|
|
12
|
+
* deterministic check catches every time and a reviewer catches most of the time.
|
|
13
|
+
*
|
|
14
|
+
* The rules below are ordered by how badly they hurt a reader who hits them:
|
|
15
|
+
*
|
|
16
|
+
* 1. a code block whose contents changed — they will run it and it will fail
|
|
17
|
+
* 2. a link that cannot resolve — a dead end mid-task
|
|
18
|
+
* 3. missing or untranslated frontmatter — the search snippet, and the page title
|
|
19
|
+
* 4. a lost or added heading — the page no longer matches its English counterpart
|
|
20
|
+
*/
|
|
21
|
+
import fs from 'node:fs';
|
|
22
|
+
import path from 'node:path';
|
|
23
|
+
|
|
24
|
+
const ROOT = path.resolve(import.meta.dirname, '..');
|
|
25
|
+
const DOCS = path.join(ROOT, 'docs');
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Fenced code blocks, contents only.
|
|
29
|
+
*
|
|
30
|
+
* The leading `[ \t]*` is load-bearing. Most fences in these docs are INDENTED inside an MDX
|
|
31
|
+
* component (`<Step>`, `<Tab>`, `<Card>`), and anchoring the fence to column 0 saw 0 of 1
|
|
32
|
+
* blocks in quickstart, 3 of 6 in installation and 1 of 4 in panel — the rule that matters
|
|
33
|
+
* most, silently checking about half of what it claimed to. A mutation inside a component's
|
|
34
|
+
* code block sailed straight through.
|
|
35
|
+
*/
|
|
36
|
+
const fences = (src) => {
|
|
37
|
+
const out = [];
|
|
38
|
+
const re = /^[ \t]*```[^\n]*\n([\s\S]*?)^[ \t]*```/gm;
|
|
39
|
+
let m;
|
|
40
|
+
while ((m = re.exec(src)) !== null) out.push(m[1]);
|
|
41
|
+
return out;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const headings = (src) => (src.match(/^#{1,6} /gm) || []).map((h) => h.trim());
|
|
45
|
+
|
|
46
|
+
/** MDX component opens, e.g. <Steps>, <Step title="…">, <Note> — names only. */
|
|
47
|
+
const components = (src) =>
|
|
48
|
+
(src.match(/<([A-Z][A-Za-z0-9]*)\b/g) || []).map((c) => c.slice(1)).sort();
|
|
49
|
+
|
|
50
|
+
const frontmatter = (src) => {
|
|
51
|
+
const m = src.match(/^---\n([\s\S]*?)\n---/);
|
|
52
|
+
if (!m) return null;
|
|
53
|
+
const out = {};
|
|
54
|
+
for (const line of m[1].split('\n')) {
|
|
55
|
+
const kv = line.match(/^(\w+):\s*(.*)$/);
|
|
56
|
+
if (kv) out[kv[1]] = kv[2].replace(/^["']|["']$/g, '');
|
|
57
|
+
}
|
|
58
|
+
return out;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const links = (src) =>
|
|
62
|
+
[...src.matchAll(/\[[^\]]*\]\(([^)\s]+)\)/g)].map((m) => m[1]).filter((h) => !/^https?:|^mailto:/.test(h));
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The anchor a heading generates. Mintlify lowercases, strips punctuation, and joins words
|
|
66
|
+
* with hyphens; non-Latin scripts pass through unchanged.
|
|
67
|
+
*
|
|
68
|
+
* This exists because translating a heading SILENTLY changes its anchor. `## Setup` is
|
|
69
|
+
* `#setup`; translate it to `## 설정` and every `#setup` link — in this page and in every
|
|
70
|
+
* other page that deep-links to it — resolves to nothing. The reviewing agents found two
|
|
71
|
+
* instances of this in five pages, which is a high enough rate that it needs a machine check
|
|
72
|
+
* before eleven more locales are generated.
|
|
73
|
+
*/
|
|
74
|
+
const slugify = (heading) =>
|
|
75
|
+
heading
|
|
76
|
+
.replace(/^#{1,6}\s+/, '')
|
|
77
|
+
.trim()
|
|
78
|
+
.toLowerCase()
|
|
79
|
+
.replace(/[^\p{L}\p{N}\s-]/gu, '')
|
|
80
|
+
// Each space becomes its own hyphen — runs are NOT collapsed. "readiness & onboarding"
|
|
81
|
+
// loses the ampersand and keeps both surrounding spaces, so Mintlify emits
|
|
82
|
+
// `readiness--onboarding` with two hyphens. Collapsing here reported two correct,
|
|
83
|
+
// English-inherited links as broken.
|
|
84
|
+
.replace(/\s/g, '-');
|
|
85
|
+
|
|
86
|
+
const anchors = (src) => new Set((src.match(/^#{1,6} .+$/gm) || []).map(slugify));
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
const localeDirs = process.argv.slice(2).filter((a) => !a.startsWith('-'));
|
|
90
|
+
const locales = localeDirs.length
|
|
91
|
+
? localeDirs
|
|
92
|
+
: fs
|
|
93
|
+
.readdirSync(DOCS, { withFileTypes: true })
|
|
94
|
+
.filter((e) => e.isDirectory() && /^[a-z]{2}(-[A-Za-z]+)?$/.test(e.name))
|
|
95
|
+
.map((e) => e.name);
|
|
96
|
+
|
|
97
|
+
let failures = 0;
|
|
98
|
+
const fail = (loc, page, msg) => {
|
|
99
|
+
failures++;
|
|
100
|
+
console.error(` ✗ ${loc}/${page}: ${msg}`);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
for (const loc of locales) {
|
|
104
|
+
const dir = path.join(DOCS, loc);
|
|
105
|
+
if (!fs.existsSync(dir)) {
|
|
106
|
+
console.log(` · ${loc} absent`);
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
const pages = fs.readdirSync(dir).filter((f) => /\.mdx?$/.test(f));
|
|
110
|
+
const localized = new Set(pages.map((f) => f.replace(/\.mdx?$/, '')));
|
|
111
|
+
let checked = 0;
|
|
112
|
+
|
|
113
|
+
for (const file of pages) {
|
|
114
|
+
const slug = file.replace(/\.mdx?$/, '');
|
|
115
|
+
const srcPath = fs.existsSync(path.join(DOCS, `${slug}.mdx`))
|
|
116
|
+
? path.join(DOCS, `${slug}.mdx`)
|
|
117
|
+
: path.join(DOCS, `${slug}.md`);
|
|
118
|
+
if (!fs.existsSync(srcPath)) {
|
|
119
|
+
fail(loc, slug, `no English source at docs/${slug}.mdx — an orphan translation`);
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
checked++;
|
|
123
|
+
// Normalise line endings before ANY comparison. On Windows the English pages come out of
|
|
124
|
+
// git as CRLF while a freshly written translation is LF, so a byte comparison reports
|
|
125
|
+
// every single code block as "modified" — which is exactly what this check did on its
|
|
126
|
+
// first run, against three files whose code was in fact identical. Git normalises on
|
|
127
|
+
// commit; the difference is never real content.
|
|
128
|
+
const eol = (s) => s.replace(/\r\n/g, '\n');
|
|
129
|
+
const en = eol(fs.readFileSync(srcPath, 'utf8'));
|
|
130
|
+
const tr = eol(fs.readFileSync(path.join(dir, file), 'utf8'));
|
|
131
|
+
|
|
132
|
+
// 1. Code blocks: same count, byte-identical contents.
|
|
133
|
+
const ef = fences(en);
|
|
134
|
+
const tf = fences(tr);
|
|
135
|
+
if (ef.length !== tf.length) {
|
|
136
|
+
fail(loc, slug, `${ef.length} code block(s) in English, ${tf.length} here`);
|
|
137
|
+
} else {
|
|
138
|
+
for (let i = 0; i < ef.length; i++) {
|
|
139
|
+
if (ef[i] !== tf[i]) {
|
|
140
|
+
fail(loc, slug, `code block #${i + 1} was modified — a reader runs this verbatim`);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// 2. Links resolve, none are relative (they break from inside the locale directory), and
|
|
147
|
+
// every anchor exists in the page it points at.
|
|
148
|
+
const ownAnchors = anchors(tr);
|
|
149
|
+
for (const href of links(tr)) {
|
|
150
|
+
const [rawTarget, frag] = href.split('#');
|
|
151
|
+
|
|
152
|
+
// Same-page anchor: must match a heading in THIS file, post-translation.
|
|
153
|
+
if (!rawTarget) {
|
|
154
|
+
if (frag && !ownAnchors.has(frag.toLowerCase())) {
|
|
155
|
+
fail(loc, slug, `anchor "#${frag}" matches no heading here — a translated heading changes its slug`);
|
|
156
|
+
}
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
if (/^\.\.?\//.test(href)) {
|
|
160
|
+
fail(loc, slug, `relative link "${href}" — use an absolute /docs/... path from a locale directory`);
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
const target = rawTarget.replace(/^\/docs\//, '').replace(/^\//, '').replace(/\/$/, '');
|
|
164
|
+
if (!target) continue;
|
|
165
|
+
const isLocal = target.startsWith(`${loc}/`);
|
|
166
|
+
const bare = isLocal ? target.slice(loc.length + 1) : target;
|
|
167
|
+
const exists = isLocal
|
|
168
|
+
? localized.has(bare)
|
|
169
|
+
: fs.existsSync(path.join(DOCS, `${bare}.mdx`)) ||
|
|
170
|
+
fs.existsSync(path.join(DOCS, `${bare}.md`)) ||
|
|
171
|
+
fs.existsSync(path.join(DOCS, bare));
|
|
172
|
+
if (!exists) {
|
|
173
|
+
fail(loc, slug, `link "${href}" resolves to nothing`);
|
|
174
|
+
continue;
|
|
175
|
+
}
|
|
176
|
+
// Cross-page anchor: check it against the headings of the page actually linked to,
|
|
177
|
+
// which for a localized target means the TRANSLATED headings.
|
|
178
|
+
if (frag) {
|
|
179
|
+
const targetFile = isLocal
|
|
180
|
+
? path.join(dir, `${bare}.mdx`)
|
|
181
|
+
: fs.existsSync(path.join(DOCS, `${bare}.mdx`))
|
|
182
|
+
? path.join(DOCS, `${bare}.mdx`)
|
|
183
|
+
: path.join(DOCS, `${bare}.md`);
|
|
184
|
+
if (fs.existsSync(targetFile)) {
|
|
185
|
+
const targetAnchors = anchors(eol(fs.readFileSync(targetFile, 'utf8')));
|
|
186
|
+
if (!targetAnchors.has(frag.toLowerCase())) {
|
|
187
|
+
fail(loc, slug, `anchor "#${frag}" does not exist in ${isLocal ? `${loc}/` : ''}${bare}`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// 3. Frontmatter present, and actually translated.
|
|
194
|
+
const ef2 = frontmatter(en);
|
|
195
|
+
const tf2 = frontmatter(tr);
|
|
196
|
+
if (!tf2) {
|
|
197
|
+
fail(loc, slug, 'no frontmatter');
|
|
198
|
+
} else {
|
|
199
|
+
// "Present, and not byte-identical to English" is the rule that works for EVERY locale.
|
|
200
|
+
// An earlier version also demanded non-Latin characters, which is correct for ko/ja/ru/ar
|
|
201
|
+
// and simply wrong for fr/es/pt-BR/tr — a French title is Latin script and still
|
|
202
|
+
// translated. A rule that fires on four of eleven correct locales is worse than no rule.
|
|
203
|
+
// `description` is always prose, so an identical one means it was never translated —
|
|
204
|
+
// and it is the search snippet, which is the whole SEO point. `title` is often a bare
|
|
205
|
+
// product name ("ComfyUI MCP", "Docker", "RunPod") where leaving it identical is
|
|
206
|
+
// correct, so it only has to be PRESENT.
|
|
207
|
+
if (ef2?.title && !tf2.title) fail(loc, slug, 'frontmatter title missing');
|
|
208
|
+
if (ef2?.description) {
|
|
209
|
+
if (!tf2.description) fail(loc, slug, 'frontmatter description missing');
|
|
210
|
+
else if (tf2.description === ef2.description)
|
|
211
|
+
fail(loc, slug, 'frontmatter description is still English — this is the search snippet');
|
|
212
|
+
}
|
|
213
|
+
if (ef2?.icon && tf2.icon !== ef2.icon) fail(loc, slug, `icon changed (${ef2.icon} → ${tf2.icon})`);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// 4. Shape: heading count and component set.
|
|
217
|
+
const eh = headings(en).length;
|
|
218
|
+
const th = headings(tr).length;
|
|
219
|
+
if (eh !== th) fail(loc, slug, `${eh} heading(s) in English, ${th} here`);
|
|
220
|
+
const ec = components(en).join(',');
|
|
221
|
+
const tc = components(tr).join(',');
|
|
222
|
+
if (ec !== tc) fail(loc, slug, `MDX components differ — English [${ec}] vs [${tc}]`);
|
|
223
|
+
}
|
|
224
|
+
console.log(` ${failures ? '·' : '✓'} ${loc} — ${checked} page(s) compared`);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
if (failures) {
|
|
228
|
+
console.error(`\n${failures} structural problem(s).`);
|
|
229
|
+
process.exit(1);
|
|
230
|
+
}
|
|
231
|
+
console.log('\nlocalized docs OK');
|
package/scripts/gen-tool-docs.ts
CHANGED
|
@@ -666,10 +666,27 @@ async function main() {
|
|
|
666
666
|
// was only half the fix: the generator still wrote all 16 of them and then threw
|
|
667
667
|
// on a malformed navigation.tabs, leaving exactly the partial-regeneration debris
|
|
668
668
|
// the buffering was introduced to prevent.
|
|
669
|
-
|
|
669
|
+
type LangEntry = { language?: string; default?: boolean; tabs?: unknown };
|
|
670
|
+
let docsJson:
|
|
671
|
+
| { navigation?: { tabs?: unknown; languages?: LangEntry[] } }
|
|
672
|
+
| undefined;
|
|
673
|
+
/**
|
|
674
|
+
* Where the English tabs live. Once docs.json is localized, `navigation.tabs` moves under
|
|
675
|
+
* `navigation.languages[<default>].tabs` — the Tool Reference is English-only and belongs to
|
|
676
|
+
* that entry, not to a translated one. Returning the holder rather than the array keeps the
|
|
677
|
+
* splice below writing through to the real object in both shapes.
|
|
678
|
+
*/
|
|
679
|
+
const tabsHolder = (): { tabs?: unknown } | undefined => {
|
|
680
|
+
const nav = docsJson?.navigation;
|
|
681
|
+
if (!nav) return undefined;
|
|
682
|
+
if (Array.isArray(nav.languages)) {
|
|
683
|
+
return nav.languages.find((l) => l.default) ?? nav.languages[0];
|
|
684
|
+
}
|
|
685
|
+
return nav;
|
|
686
|
+
};
|
|
670
687
|
if (existsSync(docsJsonPath)) {
|
|
671
688
|
docsJson = JSON.parse(readFileSync(docsJsonPath, "utf-8"));
|
|
672
|
-
const tabsValue =
|
|
689
|
+
const tabsValue = tabsHolder()?.tabs;
|
|
673
690
|
if (docsJson!.navigation && !Array.isArray(tabsValue)) {
|
|
674
691
|
throw new Error(
|
|
675
692
|
"docs.json navigation.tabs is not an array — aborting so we don't corrupt the config.",
|
|
@@ -699,7 +716,9 @@ async function main() {
|
|
|
699
716
|
// Splice the generated "Tools" tab into docs.json (preserve everything else).
|
|
700
717
|
if (docsJson) {
|
|
701
718
|
// Shape already validated above, before any page was written.
|
|
702
|
-
const
|
|
719
|
+
const holder = tabsHolder();
|
|
720
|
+
const tabs: Array<{ tab: string; groups?: unknown[] }> =
|
|
721
|
+
(holder?.tabs as Array<{ tab: string; groups?: unknown[] }>) ?? [];
|
|
703
722
|
const toolsTab = {
|
|
704
723
|
tab: "Tool Reference",
|
|
705
724
|
groups: [{ group: "Tools", pages: navPages }],
|
|
@@ -707,7 +726,10 @@ async function main() {
|
|
|
707
726
|
const idx = tabs.findIndex((t) => t.tab === "Tool Reference");
|
|
708
727
|
if (idx >= 0) tabs[idx] = toolsTab;
|
|
709
728
|
else tabs.push(toolsTab);
|
|
710
|
-
|
|
729
|
+
// Write back through the holder so the localized shape updates the default language's
|
|
730
|
+
// tabs in place, rather than resurrecting a top-level navigation.tabs beside them.
|
|
731
|
+
if (holder) holder.tabs = tabs;
|
|
732
|
+
else docsJson.navigation = { ...docsJson.navigation, tabs };
|
|
711
733
|
// Write atomically (temp + rename) so a crash mid-write can't leave a
|
|
712
734
|
// half-written docs.json.
|
|
713
735
|
const tmp = `${docsJsonPath}.tmp`;
|