@leeguoo/yapi-mcp 0.3.9 → 0.3.10

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/README.md CHANGED
@@ -77,6 +77,8 @@ CLI 使用示例(走同一份 `~/.yapi/config.toml`):
77
77
  npx -y @leeguoo/yapi-mcp yapi -V
78
78
  npx -y @leeguoo/yapi-mcp yapi -h
79
79
  npx -y @leeguoo/yapi-mcp yapi login
80
+ npx -y @leeguoo/yapi-mcp yapi whoami
81
+ npx -y @leeguoo/yapi-mcp yapi search --q keyword
80
82
  npx -y @leeguoo/yapi-mcp yapi --path /api/interface/get --query id=123
81
83
  ```
82
84
 
@@ -105,6 +107,8 @@ npx -y @leeguoo/yapi-mcp yapi docs-sync
105
107
  - 管理绑定:`yapi docs-sync bind list|get|add|update|remove`
106
108
  - 可用 `--dry-run` 只做转换不更新
107
109
  - 默认只同步内容变更的文件,如需全量更新使用 `--force`
110
+ - Mermaid 预渲染依赖 `mmdc`(安装时会尝试拉取,失败不影响同步)
111
+ - `pandoc` 需手动安装(用于完整 Markdown 渲染)
108
112
  - 如需跳过 Mermaid 渲染,使用 `--no-mermaid`
109
113
 
110
114
  ### 手动方式:使用 npx(无需安装)
@@ -2,6 +2,7 @@ export type MarkdownRenderOptions = {
2
2
  noMermaid?: boolean;
3
3
  logMermaid?: boolean;
4
4
  logger?: (message: string) => void;
5
+ onMermaidError?: (error: unknown) => void;
5
6
  };
6
7
  export declare function isPandocAvailable(): boolean;
7
8
  export declare function isMmdcAvailable(): boolean;
@@ -17,9 +17,10 @@ const path_1 = __importDefault(require("path"));
17
17
  const markdown_it_1 = __importDefault(require("markdown-it"));
18
18
  let cachedPandocAvailable = null;
19
19
  let cachedMmdcAvailable = null;
20
+ let cachedMmdcCommand = null;
20
21
  let cachedMarkdownIt = null;
21
22
  function stripAnsi(input) {
22
- return input.replace(/\u001b\[[0-9;]*m/g, "");
23
+ return input.replace(/\x1b\[[0-9;]*m/g, "");
23
24
  }
24
25
  function formatMermaidError(error) {
25
26
  if (!error || typeof error !== "object")
@@ -32,7 +33,10 @@ function formatMermaidError(error) {
32
33
  const extra = [err.stderr, err.stdout].find((value) => typeof value === "string" || Buffer.isBuffer(value));
33
34
  if (extra) {
34
35
  const text = stripAnsi(typeof extra === "string" ? extra : Buffer.from(extra).toString("utf8"));
35
- const line = text.split(/\r?\n/).map((item) => item.trim()).find(Boolean);
36
+ const line = text
37
+ .split(/\r?\n/)
38
+ .map((item) => item.trim())
39
+ .find(Boolean);
36
40
  if (line && !parts.join(" ").includes(line)) {
37
41
  parts.push(line);
38
42
  }
@@ -54,11 +58,23 @@ function isPandocAvailable() {
54
58
  }
55
59
  return cachedPandocAvailable;
56
60
  }
61
+ function resolveMmdcCommand() {
62
+ if (cachedMmdcCommand)
63
+ return cachedMmdcCommand;
64
+ const binName = process.platform === "win32" ? "mmdc.cmd" : "mmdc";
65
+ const localBin = path_1.default.resolve(__dirname, "..", "..", "node_modules", ".bin", binName);
66
+ if (fs_1.default.existsSync(localBin)) {
67
+ cachedMmdcCommand = localBin;
68
+ return cachedMmdcCommand;
69
+ }
70
+ cachedMmdcCommand = binName;
71
+ return cachedMmdcCommand;
72
+ }
57
73
  function isMmdcAvailable() {
58
74
  if (cachedMmdcAvailable !== null)
59
75
  return cachedMmdcAvailable;
60
76
  try {
61
- (0, child_process_1.execFileSync)("mmdc", ["--version"], { stdio: "ignore" });
77
+ (0, child_process_1.execFileSync)(resolveMmdcCommand(), ["--version"], { stdio: "ignore" });
62
78
  cachedMmdcAvailable = true;
63
79
  }
64
80
  catch {
@@ -88,7 +104,10 @@ function renderMermaidWithMmdc(source) {
88
104
  const outputPath = path_1.default.join(tmpDir, "diagram.svg");
89
105
  try {
90
106
  fs_1.default.writeFileSync(inputPath, source, "utf8");
91
- (0, child_process_1.execFileSync)("mmdc", ["-i", inputPath, "-o", outputPath, "-b", "transparent"], { stdio: "pipe" });
107
+ const mmdcCommand = resolveMmdcCommand();
108
+ (0, child_process_1.execFileSync)(mmdcCommand, ["-i", inputPath, "-o", outputPath, "-b", "transparent"], {
109
+ stdio: "pipe",
110
+ });
92
111
  const svg = fs_1.default.readFileSync(outputPath, "utf8");
93
112
  return stripSvgProlog(svg);
94
113
  }
@@ -114,7 +133,9 @@ function normalizeMermaidLabels(source) {
114
133
  function renderMermaidToSvg(source) {
115
134
  ensureMmdc();
116
135
  const normalized = normalizeMermaidLabels(source);
117
- const attempts = [{ text: source, normalized: false }];
136
+ const attempts = [
137
+ { text: source, normalized: false },
138
+ ];
118
139
  if (normalized !== source)
119
140
  attempts.push({ text: normalized, normalized: true });
120
141
  let lastError;
@@ -133,7 +154,9 @@ function renderMermaidToSvg(source) {
133
154
  const suffix = normalizedTried ? " (auto label normalization attempted)" : "";
134
155
  throw new Error(`${lastError.message}${suffix}`);
135
156
  }
136
- throw new Error(normalizedTried ? "Failed to render mermaid diagram after label normalization." : "Failed to render mermaid diagram.");
157
+ throw new Error(normalizedTried
158
+ ? "Failed to render mermaid diagram after label normalization."
159
+ : "Failed to render mermaid diagram.");
137
160
  }
138
161
  function preprocessMarkdown(markdown, options = {}) {
139
162
  if (options.noMermaid)
@@ -166,6 +189,9 @@ function preprocessMarkdown(markdown, options = {}) {
166
189
  const message = formatMermaidError(error);
167
190
  logger(`Mermaid 块 #${index} 渲染失败,保持代码块原样。原因: ${message}`);
168
191
  }
192
+ if (options.onMermaidError) {
193
+ options.onMermaidError(error);
194
+ }
169
195
  return match;
170
196
  }
171
197
  });
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/docs/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/docs/markdown.ts"],"names":[],"mappings":"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"}