frontend-guardian-core 3.12.1 → 3.13.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/bin/fg-core.js +1 -1
- package/bin/fg-lsp.js +1 -1
- package/bin/fg-server.js +2 -2
- package/dist/engine/rule-engine.d.ts +10 -2
- package/dist/engine/rule-engine.d.ts.map +1 -1
- package/dist/engine/rule-engine.js +39 -22
- package/dist/engine/rule-engine.js.map +1 -1
- package/dist/formatters/unified-diff.d.ts +11 -0
- package/dist/formatters/unified-diff.d.ts.map +1 -0
- package/dist/formatters/unified-diff.js +160 -0
- package/dist/formatters/unified-diff.js.map +1 -0
- package/dist/mcp/mcp-server.js +1 -1
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +196 -1
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts +16 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/package.json +1 -1
package/bin/fg-core.js
CHANGED
package/bin/fg-lsp.js
CHANGED
|
@@ -27,7 +27,7 @@ for (let i = 0; i < args.length; i++) {
|
|
|
27
27
|
} else if (arg === "--severity" || arg === "-s") {
|
|
28
28
|
minSeverity = args[++i] ?? "suggestion";
|
|
29
29
|
} else if (arg === "--help" || arg === "-h") {
|
|
30
|
-
console.log(`Frontend Guardian LSP Server v3.
|
|
30
|
+
console.log(`Frontend Guardian LSP Server v3.13.0
|
|
31
31
|
|
|
32
32
|
Usage: fg-lsp [options]
|
|
33
33
|
|
package/bin/fg-server.js
CHANGED
|
@@ -10,7 +10,7 @@ import { DashboardServer } from "../dist/index.js";
|
|
|
10
10
|
|
|
11
11
|
function showHelp() {
|
|
12
12
|
console.log(`
|
|
13
|
-
Frontend Guardian Dashboard Server v3.
|
|
13
|
+
Frontend Guardian Dashboard Server v3.13.0
|
|
14
14
|
|
|
15
15
|
Usage:
|
|
16
16
|
fg-server [options]
|
|
@@ -62,7 +62,7 @@ async function main() {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
console.log(pc.cyan("Frontend Guardian Dashboard Server"));
|
|
65
|
-
console.log(pc.gray(` Version: 3.
|
|
65
|
+
console.log(pc.gray(` Version: 3.13.0`));
|
|
66
66
|
console.log("");
|
|
67
67
|
|
|
68
68
|
const server = new DashboardServer({
|
|
@@ -85,12 +85,14 @@ export declare class RuleEngine {
|
|
|
85
85
|
scan(module: string): Promise<ScanResult>;
|
|
86
86
|
/**
|
|
87
87
|
* v3.3.0: 公共单文件扫描方法(用于 IDE 增量诊断)
|
|
88
|
+
* v3.13.0: 支持传入内存中的 source,用于 MCP 上下文感知扫描
|
|
88
89
|
* 快速扫描单个文件,返回所有匹配的 issues
|
|
89
90
|
* @param filePath 文件绝对路径
|
|
90
91
|
* @param module 模块名(可选,用于规则过滤)
|
|
92
|
+
* @param source 文件内容(可选,传则替代磁盘读取)
|
|
91
93
|
* @returns 扫描发现的 issues
|
|
92
94
|
*/
|
|
93
|
-
scanSingleFile(filePath: string, module?: string): Promise<Issue[]>;
|
|
95
|
+
scanSingleFile(filePath: string, module?: string, source?: string): Promise<Issue[]>;
|
|
94
96
|
/** 扫描单个文件(带智能缓存 + 大文件跳过) */
|
|
95
97
|
private scanFile;
|
|
96
98
|
/** 获取扫描文件列表 */
|
|
@@ -125,15 +127,21 @@ export declare class RuleEngine {
|
|
|
125
127
|
private computeLineOffsets;
|
|
126
128
|
/**
|
|
127
129
|
* 应用所有可修复的问题
|
|
130
|
+
* v3.13.0: 支持 sourceOverrides(内存源码)和 writeFiles(控制是否写盘)
|
|
128
131
|
* @param issues 包含 fix 字段的 Issue 列表
|
|
132
|
+
* @param options 修复选项
|
|
129
133
|
* @returns 修复统计(dryRun 模式下 filesModified 为空,fixedCount 为预览数量)
|
|
130
134
|
*/
|
|
131
|
-
applyFixes(issues: Issue[]
|
|
135
|
+
applyFixes(issues: Issue[], options?: {
|
|
136
|
+
sourceOverrides?: Record<string, string>;
|
|
137
|
+
writeFiles?: boolean;
|
|
138
|
+
}): {
|
|
132
139
|
fixedCount: number;
|
|
133
140
|
filesModified: string[];
|
|
134
141
|
errors: string[];
|
|
135
142
|
previews?: FixPreview[];
|
|
136
143
|
skippedByUser?: number;
|
|
144
|
+
patchedSources?: Record<string, string>;
|
|
137
145
|
};
|
|
138
146
|
/**
|
|
139
147
|
* v2.4.0: 交互式修复 — 向用户展示 diff 并询问是否应用
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/engine/rule-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,KAAK,EACR,UAAU,EACV,KAAK,EAKL,IAAI,EAGJ,UAAU,EACV,QAAQ,EACX,MAAM,YAAY,CAAC;AAMpB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,aAAa;IAC1B,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,cAAc;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU;IACV,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,mDAAmD;IACnD,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,kDAAkD;IAClD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,uDAAuD;IACvD,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,UAAU;IACnB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAgB;IAE/B,gCAAgC;IAChC,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,QAAQ;gBAKJ,OAAO,EAAE,aAAa;IAyBlC,8BAA8B;IAC9B,OAAO,CAAC,eAAe;IAyBvB,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK1B,WAAW;IACX,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI;IAKhC,WAAW;IACX,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKhC,yBAAyB;IACzB,QAAQ,IAAI,IAAI,EAAE;IAIlB,eAAe;IACf,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,EAAE;IAIlH,0BAA0B;IAC1B,OAAO,CAAC,gBAAgB;IASxB,WAAW;IACL,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkG/C
|
|
1
|
+
{"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/engine/rule-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -208,12 +208,14 @@ class RuleEngine {
|
|
|
208
208
|
}
|
|
209
209
|
/**
|
|
210
210
|
* v3.3.0: 公共单文件扫描方法(用于 IDE 增量诊断)
|
|
211
|
+
* v3.13.0: 支持传入内存中的 source,用于 MCP 上下文感知扫描
|
|
211
212
|
* 快速扫描单个文件,返回所有匹配的 issues
|
|
212
213
|
* @param filePath 文件绝对路径
|
|
213
214
|
* @param module 模块名(可选,用于规则过滤)
|
|
215
|
+
* @param source 文件内容(可选,传则替代磁盘读取)
|
|
214
216
|
* @returns 扫描发现的 issues
|
|
215
217
|
*/
|
|
216
|
-
async scanSingleFile(filePath, module) {
|
|
218
|
+
async scanSingleFile(filePath, module, source) {
|
|
217
219
|
const category = module ? this.moduleToCategory(module) : undefined;
|
|
218
220
|
const activeRules = category
|
|
219
221
|
? this.filterRules({
|
|
@@ -225,15 +227,16 @@ class RuleEngine {
|
|
|
225
227
|
: this.getRules();
|
|
226
228
|
if (activeRules.length === 0)
|
|
227
229
|
return [];
|
|
228
|
-
const result = await this.scanFile(filePath, activeRules);
|
|
230
|
+
const result = await this.scanFile(filePath, activeRules, source);
|
|
229
231
|
return result.issues;
|
|
230
232
|
}
|
|
231
233
|
/** 扫描单个文件(带智能缓存 + 大文件跳过) */
|
|
232
|
-
async scanFile(filePath, rules) {
|
|
234
|
+
async scanFile(filePath, rules, source) {
|
|
233
235
|
try {
|
|
234
|
-
|
|
236
|
+
const hasProvidedSource = source !== undefined;
|
|
237
|
+
// v2.4.0: 大文件智能跳过(仅读取磁盘时检查文件大小)
|
|
235
238
|
const threshold = this.options.skipLargeFilesThreshold ?? 512_000;
|
|
236
|
-
if (threshold > 0) {
|
|
239
|
+
if (threshold > 0 && !hasProvidedSource) {
|
|
237
240
|
try {
|
|
238
241
|
const stats = (0, node_fs_1.statSync)(filePath);
|
|
239
242
|
if (stats.size > threshold) {
|
|
@@ -245,19 +248,22 @@ class RuleEngine {
|
|
|
245
248
|
// stat 失败继续尝试读取
|
|
246
249
|
}
|
|
247
250
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
+
if (!hasProvidedSource) {
|
|
252
|
+
source = (0, node_fs_1.readFileSync)(filePath, "utf-8");
|
|
253
|
+
}
|
|
254
|
+
const finalSource = source;
|
|
255
|
+
// Phase 5: 智能缓存命中检查(仅磁盘读取模式启用缓存)
|
|
256
|
+
if (!hasProvidedSource && this.cache?.isCached(filePath, finalSource)) {
|
|
251
257
|
const cached = this.cache.get(filePath);
|
|
252
258
|
if (cached) {
|
|
253
259
|
return { issues: cached };
|
|
254
260
|
}
|
|
255
261
|
}
|
|
256
262
|
const allIssues = [];
|
|
257
|
-
const utils = this.createUtils(filePath,
|
|
263
|
+
const utils = this.createUtils(filePath, finalSource);
|
|
258
264
|
const context = {
|
|
259
265
|
filePath,
|
|
260
|
-
source,
|
|
266
|
+
source: finalSource,
|
|
261
267
|
config: this.config,
|
|
262
268
|
projectMeta: this.projectMeta,
|
|
263
269
|
utils,
|
|
@@ -278,11 +284,13 @@ class RuleEngine {
|
|
|
278
284
|
this.logError(picocolors_1.default.red(` Rule "${rule.id}" failed on ${filePath}:`), err);
|
|
279
285
|
}
|
|
280
286
|
}
|
|
281
|
-
// Phase 5:
|
|
282
|
-
|
|
287
|
+
// Phase 5: 缓存结果(仅磁盘读取模式)
|
|
288
|
+
if (!hasProvidedSource) {
|
|
289
|
+
this.cache?.set(filePath, finalSource, allIssues);
|
|
290
|
+
}
|
|
283
291
|
return { issues: allIssues };
|
|
284
292
|
}
|
|
285
|
-
catch (
|
|
293
|
+
catch (_err) {
|
|
286
294
|
// 文件读取失败,静默跳过
|
|
287
295
|
return { issues: [] };
|
|
288
296
|
}
|
|
@@ -453,8 +461,8 @@ class RuleEngine {
|
|
|
453
461
|
break;
|
|
454
462
|
}
|
|
455
463
|
// 支持目录下的 index 文件
|
|
456
|
-
if (files.includes(pathResolve(resolved,
|
|
457
|
-
resolved = pathResolve(resolved,
|
|
464
|
+
if (files.includes(pathResolve(resolved, `index${ext}`))) {
|
|
465
|
+
resolved = pathResolve(resolved, `index${ext}`);
|
|
458
466
|
found = true;
|
|
459
467
|
break;
|
|
460
468
|
}
|
|
@@ -464,7 +472,7 @@ class RuleEngine {
|
|
|
464
472
|
if (!reverseMap.has(resolved)) {
|
|
465
473
|
reverseMap.set(resolved, new Set());
|
|
466
474
|
}
|
|
467
|
-
reverseMap.get(resolved)
|
|
475
|
+
reverseMap.get(resolved)?.add(file);
|
|
468
476
|
}
|
|
469
477
|
}
|
|
470
478
|
}
|
|
@@ -593,17 +601,22 @@ class RuleEngine {
|
|
|
593
601
|
// ---------------------------------------------------------------------------
|
|
594
602
|
/**
|
|
595
603
|
* 应用所有可修复的问题
|
|
604
|
+
* v3.13.0: 支持 sourceOverrides(内存源码)和 writeFiles(控制是否写盘)
|
|
596
605
|
* @param issues 包含 fix 字段的 Issue 列表
|
|
606
|
+
* @param options 修复选项
|
|
597
607
|
* @returns 修复统计(dryRun 模式下 filesModified 为空,fixedCount 为预览数量)
|
|
598
608
|
*/
|
|
599
|
-
applyFixes(issues) {
|
|
609
|
+
applyFixes(issues, options = {}) {
|
|
600
610
|
const dryRun = this.options.dryRun;
|
|
601
611
|
const interactive = this.options.interactive;
|
|
612
|
+
const writeFiles = options.writeFiles !== false;
|
|
613
|
+
const sourceOverrides = options.sourceOverrides ?? {};
|
|
602
614
|
let fixedCount = 0;
|
|
603
615
|
let skippedByUser = 0;
|
|
604
616
|
const filesModified = [];
|
|
605
617
|
const errors = [];
|
|
606
618
|
const previews = [];
|
|
619
|
+
const patchedSources = {};
|
|
607
620
|
// 按文件分组
|
|
608
621
|
const byFile = new Map();
|
|
609
622
|
for (const issue of issues) {
|
|
@@ -615,14 +628,14 @@ class RuleEngine {
|
|
|
615
628
|
}
|
|
616
629
|
for (const [filePath, fileIssues] of byFile) {
|
|
617
630
|
try {
|
|
618
|
-
let source = (0, node_fs_1.readFileSync)(filePath, "utf-8");
|
|
631
|
+
let source = filePath in sourceOverrides ? sourceOverrides[filePath] : (0, node_fs_1.readFileSync)(filePath, "utf-8");
|
|
619
632
|
const originalSource = source;
|
|
620
633
|
// 按行号倒序排列,从文件末尾开始修复,避免行号偏移
|
|
621
634
|
const sorted = [...fileIssues].sort((a, b) => {
|
|
622
|
-
const lineDiff = (b.fix
|
|
635
|
+
const lineDiff = (b.fix?.start.line || 0) - (a.fix?.start.line || 0);
|
|
623
636
|
if (lineDiff !== 0)
|
|
624
637
|
return lineDiff;
|
|
625
|
-
return (b.fix
|
|
638
|
+
return (b.fix?.start.column || 0) - (a.fix?.start.column || 0);
|
|
626
639
|
});
|
|
627
640
|
for (const issue of sorted) {
|
|
628
641
|
const fix = issue.fix;
|
|
@@ -669,10 +682,11 @@ class RuleEngine {
|
|
|
669
682
|
}
|
|
670
683
|
}
|
|
671
684
|
if (source !== originalSource) {
|
|
672
|
-
if (!dryRun) {
|
|
685
|
+
if (!dryRun && writeFiles) {
|
|
673
686
|
(0, node_fs_1.writeFileSync)(filePath, source, "utf-8");
|
|
674
687
|
}
|
|
675
688
|
filesModified.push(filePath);
|
|
689
|
+
patchedSources[filePath] = source;
|
|
676
690
|
}
|
|
677
691
|
}
|
|
678
692
|
catch (err) {
|
|
@@ -683,6 +697,9 @@ class RuleEngine {
|
|
|
683
697
|
if (dryRun) {
|
|
684
698
|
result.previews = previews;
|
|
685
699
|
}
|
|
700
|
+
if (Object.keys(patchedSources).length > 0) {
|
|
701
|
+
result.patchedSources = patchedSources;
|
|
702
|
+
}
|
|
686
703
|
return result;
|
|
687
704
|
}
|
|
688
705
|
/**
|
|
@@ -723,7 +740,7 @@ class RuleEngine {
|
|
|
723
740
|
}
|
|
724
741
|
}
|
|
725
742
|
/** 同步读取一行输入 */
|
|
726
|
-
readSyncLine(
|
|
743
|
+
readSyncLine(_rl) {
|
|
727
744
|
const { stdin, stdout } = process;
|
|
728
745
|
stdin.setRawMode?.(true);
|
|
729
746
|
stdin.resume();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/engine/rule-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/engine/rule-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v3.13.0: Unified Diff 格式化器
|
|
3
|
+
*
|
|
4
|
+
* 将原始源码与修复后源码转换为标准 unified diff 格式,
|
|
5
|
+
* 供 MCP 客户端直接渲染或应用到编辑器。
|
|
6
|
+
*/
|
|
7
|
+
/** 生成标准 unified diff */
|
|
8
|
+
export declare function createUnifiedDiff(filePath: string, original: string, patched: string, contextLines?: number): string;
|
|
9
|
+
/** 批量生成多个文件的 unified diff */
|
|
10
|
+
export declare function createUnifiedDiffs(originals: Record<string, string>, patched: Record<string, string>, contextLines?: number): Record<string, string>;
|
|
11
|
+
//# sourceMappingURL=unified-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-diff.d.ts","sourceRoot":"","sources":["../../src/formatters/unified-diff.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmJH,wBAAwB;AACxB,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAwB/G;AAED,6BAA6B;AAC7B,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,YAAY,SAAI,GACjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* v3.13.0: Unified Diff 格式化器
|
|
4
|
+
*
|
|
5
|
+
* 将原始源码与修复后源码转换为标准 unified diff 格式,
|
|
6
|
+
* 供 MCP 客户端直接渲染或应用到编辑器。
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.createUnifiedDiff = createUnifiedDiff;
|
|
10
|
+
exports.createUnifiedDiffs = createUnifiedDiffs;
|
|
11
|
+
function computeDiffOps(originalLines, patchedLines) {
|
|
12
|
+
const ops = [];
|
|
13
|
+
let i = 0;
|
|
14
|
+
let j = 0;
|
|
15
|
+
let oldLineNum = 1;
|
|
16
|
+
let newLineNum = 1;
|
|
17
|
+
while (i < originalLines.length || j < patchedLines.length) {
|
|
18
|
+
if (i < originalLines.length && j < patchedLines.length && originalLines[i] === patchedLines[j]) {
|
|
19
|
+
ops.push({ type: "=", text: originalLines[i], oldLine: oldLineNum, newLine: newLineNum });
|
|
20
|
+
i++;
|
|
21
|
+
j++;
|
|
22
|
+
oldLineNum++;
|
|
23
|
+
newLineNum++;
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
// 查找下一个匹配行
|
|
27
|
+
let nextMatchInPatched = -1;
|
|
28
|
+
for (let k = j; k < patchedLines.length; k++) {
|
|
29
|
+
if (k < patchedLines.length && patchedLines[k] === originalLines[i]) {
|
|
30
|
+
nextMatchInPatched = k;
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
let nextMatchInOriginal = -1;
|
|
35
|
+
for (let k = i; k < originalLines.length; k++) {
|
|
36
|
+
if (originalLines[k] === patchedLines[j]) {
|
|
37
|
+
nextMatchInOriginal = k;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const distanceToMatchPatched = nextMatchInPatched === -1 ? Number.POSITIVE_INFINITY : nextMatchInPatched - j;
|
|
42
|
+
const distanceToMatchOriginal = nextMatchInOriginal === -1 ? Number.POSITIVE_INFINITY : nextMatchInOriginal - i;
|
|
43
|
+
if (distanceToMatchPatched <= distanceToMatchOriginal && nextMatchInPatched !== -1) {
|
|
44
|
+
// patched 中 j..nextMatchInPatched-1 是新增行
|
|
45
|
+
for (let k = j; k < nextMatchInPatched; k++) {
|
|
46
|
+
ops.push({ type: "+", text: patchedLines[k], newLine: newLineNum });
|
|
47
|
+
newLineNum++;
|
|
48
|
+
}
|
|
49
|
+
j = nextMatchInPatched;
|
|
50
|
+
}
|
|
51
|
+
else if (nextMatchInOriginal !== -1) {
|
|
52
|
+
// original 中 i..nextMatchInOriginal-1 是删除行
|
|
53
|
+
for (let k = i; k < nextMatchInOriginal; k++) {
|
|
54
|
+
ops.push({ type: "-", text: originalLines[k], oldLine: oldLineNum });
|
|
55
|
+
oldLineNum++;
|
|
56
|
+
}
|
|
57
|
+
i = nextMatchInOriginal;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// 都不匹配:删除原行并新增补丁行
|
|
61
|
+
if (i < originalLines.length) {
|
|
62
|
+
ops.push({ type: "-", text: originalLines[i], oldLine: oldLineNum });
|
|
63
|
+
i++;
|
|
64
|
+
oldLineNum++;
|
|
65
|
+
}
|
|
66
|
+
if (j < patchedLines.length) {
|
|
67
|
+
ops.push({ type: "+", text: patchedLines[j], newLine: newLineNum });
|
|
68
|
+
j++;
|
|
69
|
+
newLineNum++;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return ops;
|
|
74
|
+
}
|
|
75
|
+
function buildHunks(ops, contextLines) {
|
|
76
|
+
const hunks = [];
|
|
77
|
+
let i = 0;
|
|
78
|
+
while (i < ops.length) {
|
|
79
|
+
// 跳过不变行
|
|
80
|
+
if (ops[i].type === "=") {
|
|
81
|
+
i++;
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
// 找到变更区域起止
|
|
85
|
+
const changeStart = i;
|
|
86
|
+
let changeEnd = i;
|
|
87
|
+
while (changeEnd + 1 < ops.length && ops[changeEnd + 1].type !== "=") {
|
|
88
|
+
changeEnd++;
|
|
89
|
+
}
|
|
90
|
+
// 向前/向后扩展上下文
|
|
91
|
+
const hunkStart = Math.max(0, changeStart - contextLines);
|
|
92
|
+
let hunkEnd = Math.min(ops.length - 1, changeEnd + contextLines);
|
|
93
|
+
// 如果后面紧跟着更多变更,合并到同一 hunk
|
|
94
|
+
let lookahead = hunkEnd;
|
|
95
|
+
while (lookahead + 1 < ops.length) {
|
|
96
|
+
const nextChangeStart = lookahead + 1;
|
|
97
|
+
if (ops[nextChangeStart].type === "=") {
|
|
98
|
+
lookahead++;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const gap = nextChangeStart - hunkEnd - 1;
|
|
102
|
+
if (gap > contextLines * 2)
|
|
103
|
+
break;
|
|
104
|
+
let nextChangeEnd = nextChangeStart;
|
|
105
|
+
while (nextChangeEnd + 1 < ops.length && ops[nextChangeEnd + 1].type !== "=") {
|
|
106
|
+
nextChangeEnd++;
|
|
107
|
+
}
|
|
108
|
+
hunkEnd = Math.min(ops.length - 1, nextChangeEnd + contextLines);
|
|
109
|
+
lookahead = hunkEnd;
|
|
110
|
+
}
|
|
111
|
+
const hunkOps = ops.slice(hunkStart, hunkEnd + 1);
|
|
112
|
+
const oldStart = hunkOps.find((o) => o.oldLine !== undefined)?.oldLine ?? 1;
|
|
113
|
+
const newStart = hunkOps.find((o) => o.newLine !== undefined)?.newLine ?? 1;
|
|
114
|
+
const oldLength = hunkOps.filter((o) => o.type === "=" || o.type === "-").length;
|
|
115
|
+
const newLength = hunkOps.filter((o) => o.type === "=" || o.type === "+").length;
|
|
116
|
+
hunks.push({
|
|
117
|
+
oldStart,
|
|
118
|
+
oldLength,
|
|
119
|
+
newStart,
|
|
120
|
+
newLength,
|
|
121
|
+
lines: hunkOps.map((o) => ({ type: o.type, text: o.text })),
|
|
122
|
+
});
|
|
123
|
+
i = hunkEnd + 1;
|
|
124
|
+
}
|
|
125
|
+
return hunks;
|
|
126
|
+
}
|
|
127
|
+
/** 生成标准 unified diff */
|
|
128
|
+
function createUnifiedDiff(filePath, original, patched, contextLines = 3) {
|
|
129
|
+
if (original === patched)
|
|
130
|
+
return "";
|
|
131
|
+
const originalLines = original.split("\n");
|
|
132
|
+
const patchedLines = patched.split("\n");
|
|
133
|
+
// 去除 split 产生的末尾空行(仅当原始文本以 \n 结尾时)
|
|
134
|
+
if (original.endsWith("\n"))
|
|
135
|
+
originalLines.pop();
|
|
136
|
+
if (patched.endsWith("\n"))
|
|
137
|
+
patchedLines.pop();
|
|
138
|
+
const ops = computeDiffOps(originalLines, patchedLines);
|
|
139
|
+
const hunks = buildHunks(ops, contextLines);
|
|
140
|
+
const lines = [`--- a/${filePath}`, `+++ b/${filePath}`];
|
|
141
|
+
for (const hunk of hunks) {
|
|
142
|
+
lines.push(`@@ -${hunk.oldStart},${hunk.oldLength} +${hunk.newStart},${hunk.newLength} @@`);
|
|
143
|
+
for (const { type, text } of hunk.lines) {
|
|
144
|
+
const prefix = type === "=" ? " " : type;
|
|
145
|
+
lines.push(`${prefix}${text}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return `${lines.join("\n")}\n`;
|
|
149
|
+
}
|
|
150
|
+
/** 批量生成多个文件的 unified diff */
|
|
151
|
+
function createUnifiedDiffs(originals, patched, contextLines = 3) {
|
|
152
|
+
const diffs = {};
|
|
153
|
+
for (const file of Object.keys(patched)) {
|
|
154
|
+
const diff = createUnifiedDiff(file, originals[file] ?? "", patched[file], contextLines);
|
|
155
|
+
if (diff)
|
|
156
|
+
diffs[file] = diff;
|
|
157
|
+
}
|
|
158
|
+
return diffs;
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=unified-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unified-diff.js","sourceRoot":"","sources":["../../src/formatters/unified-diff.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/mcp-server.js
CHANGED
|
@@ -15,7 +15,7 @@ const tools_js_1 = require("./tools.js");
|
|
|
15
15
|
async function runMCPServer(options) {
|
|
16
16
|
// MCP 占用 stdout;启动前必须停止所有向 stdout 的写入。
|
|
17
17
|
// stderr 仍可自由使用,因为 stdio transport 只读 stdin / 只写 stdout。
|
|
18
|
-
const server = new index_js_1.Server({ name: "frontend-guardian", version: "3.
|
|
18
|
+
const server = new index_js_1.Server({ name: "frontend-guardian", version: "3.13.0" }, { capabilities: { tools: {} } });
|
|
19
19
|
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => ({
|
|
20
20
|
tools: (0, tools_js_1.getToolDefinitions)(),
|
|
21
21
|
}));
|
package/dist/mcp/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAwB/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA4K/E,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAEhF,wBAAgB,kBAAkB,IAAI,IAAI,EAAE,CA6b3C;AAED,gFAAgF;AAChF,yEAAyE;AACzE,gFAAgF;AAEhF,wBAAsB,cAAc,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAkCxB"}
|
package/dist/mcp/tools.js
CHANGED
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getToolDefinitions = getToolDefinitions;
|
|
7
7
|
exports.handleToolCall = handleToolCall;
|
|
8
|
+
const node_fs_1 = require("node:fs");
|
|
9
|
+
const node_path_1 = require("node:path");
|
|
8
10
|
const globby_1 = require("globby");
|
|
9
11
|
const indexer_js_1 = require("../engine/indexer.js");
|
|
10
12
|
const rule_engine_js_1 = require("../engine/rule-engine.js");
|
|
13
|
+
const unified_diff_js_1 = require("../formatters/unified-diff.js");
|
|
11
14
|
const miniprogram_js_1 = require("../integrations/miniprogram.js");
|
|
12
15
|
const page_health_js_1 = require("../integrations/page-health.js");
|
|
13
16
|
const playwright_js_1 = require("../integrations/playwright.js");
|
|
@@ -62,6 +65,51 @@ function createMcpEngine(options, overrides = {}) {
|
|
|
62
65
|
...overrides,
|
|
63
66
|
});
|
|
64
67
|
}
|
|
68
|
+
/** v3.13.0: 每个 MCP Server 进程缓存一个 ProjectIndexer,避免重复建索引 */
|
|
69
|
+
const projectIndexerCache = new Map();
|
|
70
|
+
/** 确保项目索引可用 */
|
|
71
|
+
async function ensureProjectIndexer(projectDir) {
|
|
72
|
+
const resolvedDir = (0, node_path_1.resolve)(projectDir);
|
|
73
|
+
const cached = projectIndexerCache.get(resolvedDir);
|
|
74
|
+
if (cached?.isValid()) {
|
|
75
|
+
return cached;
|
|
76
|
+
}
|
|
77
|
+
const indexer = new indexer_js_1.ProjectIndexer(resolvedDir);
|
|
78
|
+
if (!indexer.isValid()) {
|
|
79
|
+
const files = await (0, globby_1.globby)(["**/*.js", "**/*.ts", "**/*.jsx", "**/*.tsx", "**/*.vue"], {
|
|
80
|
+
cwd: resolvedDir,
|
|
81
|
+
ignore: ["**/node_modules/**", "**/dist/**", "**/build/**", "**/.git/**"],
|
|
82
|
+
absolute: true,
|
|
83
|
+
});
|
|
84
|
+
await indexer.buildIndex(files);
|
|
85
|
+
}
|
|
86
|
+
projectIndexerCache.set(resolvedDir, indexer);
|
|
87
|
+
return indexer;
|
|
88
|
+
}
|
|
89
|
+
/** v3.13.0: 解析上下文扫描目标文件列表 */
|
|
90
|
+
async function resolveContextFiles(context, projectDir) {
|
|
91
|
+
const primaryFile = (0, node_path_1.resolve)(projectDir, context.file);
|
|
92
|
+
const expandedFiles = [];
|
|
93
|
+
if (context.expand) {
|
|
94
|
+
const indexer = await ensureProjectIndexer(projectDir);
|
|
95
|
+
const importers = indexer.getTransitiveImporters(primaryFile);
|
|
96
|
+
const maxExpanded = 50;
|
|
97
|
+
for (const file of importers.slice(0, maxExpanded)) {
|
|
98
|
+
if (file !== primaryFile) {
|
|
99
|
+
expandedFiles.push(file);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
return { primaryFile, expandedFiles };
|
|
104
|
+
}
|
|
105
|
+
/** 判断 issue 行范围是否与上下文范围相交 */
|
|
106
|
+
function issueIntersectsRange(issue, range) {
|
|
107
|
+
const startLine = issue.line ?? 1;
|
|
108
|
+
const endLine = issue.endLine ?? issue.line ?? 1;
|
|
109
|
+
const rangeStart = range.startLine ?? 1;
|
|
110
|
+
const rangeEnd = range.endLine ?? rangeStart;
|
|
111
|
+
return startLine <= rangeEnd && endLine >= rangeStart;
|
|
112
|
+
}
|
|
65
113
|
/** 注册指定模块的规则 */
|
|
66
114
|
function registerModuleRules(engine, moduleName) {
|
|
67
115
|
if (!moduleName || moduleName === "all") {
|
|
@@ -194,6 +242,33 @@ function getToolDefinitions() {
|
|
|
194
242
|
type: "boolean",
|
|
195
243
|
description: "Return JSON output instead of Markdown.",
|
|
196
244
|
},
|
|
245
|
+
// v3.13.0: 编辑器上下文感知扫描
|
|
246
|
+
context: {
|
|
247
|
+
type: "object",
|
|
248
|
+
description: "Editor context for focused scan. Provide file path and optionally range, unsaved content, or expand to related files.",
|
|
249
|
+
properties: {
|
|
250
|
+
file: {
|
|
251
|
+
type: "string",
|
|
252
|
+
description: "Absolute or relative path to the file being edited.",
|
|
253
|
+
},
|
|
254
|
+
range: {
|
|
255
|
+
type: "object",
|
|
256
|
+
description: "Line range to focus on (1-based, inclusive).",
|
|
257
|
+
properties: {
|
|
258
|
+
startLine: { type: "number" },
|
|
259
|
+
startColumn: { type: "number" },
|
|
260
|
+
endLine: { type: "number" },
|
|
261
|
+
endColumn: { type: "number" },
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
content: { type: "string", description: "Unsaved editor content (optional)." },
|
|
265
|
+
expand: {
|
|
266
|
+
type: "boolean",
|
|
267
|
+
description: "Expand scan to related files via import graph (default false).",
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
required: ["file"],
|
|
271
|
+
},
|
|
197
272
|
},
|
|
198
273
|
},
|
|
199
274
|
},
|
|
@@ -220,6 +295,33 @@ function getToolDefinitions() {
|
|
|
220
295
|
diff: { type: "string", description: "Git diff range, e.g. main...feature." },
|
|
221
296
|
dryRun: { type: "boolean", description: "Show diff preview without applying." },
|
|
222
297
|
json: { type: "boolean", description: "Return JSON output." },
|
|
298
|
+
// v3.13.0: 编辑器上下文感知修复
|
|
299
|
+
context: {
|
|
300
|
+
type: "object",
|
|
301
|
+
description: "Editor context for focused fix. Provide file path and optionally range, unsaved content, or expand to related files.",
|
|
302
|
+
properties: {
|
|
303
|
+
file: {
|
|
304
|
+
type: "string",
|
|
305
|
+
description: "Absolute or relative path to the file being edited.",
|
|
306
|
+
},
|
|
307
|
+
range: {
|
|
308
|
+
type: "object",
|
|
309
|
+
description: "Line range to focus on (1-based, inclusive).",
|
|
310
|
+
properties: {
|
|
311
|
+
startLine: { type: "number" },
|
|
312
|
+
startColumn: { type: "number" },
|
|
313
|
+
endLine: { type: "number" },
|
|
314
|
+
endColumn: { type: "number" },
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
content: { type: "string", description: "Unsaved editor content (optional)." },
|
|
318
|
+
expand: {
|
|
319
|
+
type: "boolean",
|
|
320
|
+
description: "Expand scan to related files via import graph (default false).",
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
required: ["file"],
|
|
324
|
+
},
|
|
223
325
|
},
|
|
224
326
|
},
|
|
225
327
|
},
|
|
@@ -560,7 +662,90 @@ async function handleToolCall(name, args, options) {
|
|
|
560
662
|
/** ───────────────────────────────────────────────────────────────────────── */
|
|
561
663
|
/** 各工具实现 */
|
|
562
664
|
/** ───────────────────────────────────────────────────────────────────────── */
|
|
665
|
+
async function handleContextScan(args, options) {
|
|
666
|
+
const moduleName = args.module || "context";
|
|
667
|
+
const context = args.context;
|
|
668
|
+
if (!context) {
|
|
669
|
+
throw new Error("Context is required for context-aware scan");
|
|
670
|
+
}
|
|
671
|
+
const { primaryFile, expandedFiles } = await resolveContextFiles(context, options.projectDir);
|
|
672
|
+
const hasContent = context.content !== undefined;
|
|
673
|
+
const contextContent = context.content;
|
|
674
|
+
const contextRange = context.range;
|
|
675
|
+
const engine = createMcpEngine(options, {
|
|
676
|
+
minSeverity: parseSeverity(args.severity),
|
|
677
|
+
files: expandedFiles,
|
|
678
|
+
external: args.external,
|
|
679
|
+
dryRun: args.dryRun,
|
|
680
|
+
});
|
|
681
|
+
registerModuleRules(engine, moduleName === "context" ? "all" : moduleName);
|
|
682
|
+
const allIssues = [];
|
|
683
|
+
// 主文件扫描(支持内存中的未保存内容)
|
|
684
|
+
const primaryModule = moduleName === "context" || moduleName === "all" ? undefined : moduleName;
|
|
685
|
+
const primaryIssues = await engine.scanSingleFile(primaryFile, primaryModule, hasContent ? contextContent : undefined);
|
|
686
|
+
allIssues.push(...primaryIssues);
|
|
687
|
+
// 扩展文件扫描(基于 import 图)
|
|
688
|
+
if (expandedFiles.length > 0) {
|
|
689
|
+
if (moduleName === "context" || moduleName === "all") {
|
|
690
|
+
for (const mod of MODULES) {
|
|
691
|
+
const r = await engine.scan(mod);
|
|
692
|
+
allIssues.push(...r.issues.critical, ...r.issues.warning, ...r.issues.suggestion);
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
else {
|
|
696
|
+
const r = await engine.scan(moduleName);
|
|
697
|
+
allIssues.push(...r.issues.critical, ...r.issues.warning, ...r.issues.suggestion);
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
// 范围过滤(仅对主文件)
|
|
701
|
+
let filteredIssues = allIssues;
|
|
702
|
+
if (contextRange) {
|
|
703
|
+
filteredIssues = allIssues.filter((i) => i.file !== primaryFile || issueIntersectsRange(i, contextRange));
|
|
704
|
+
}
|
|
705
|
+
const issues = { critical: [], warning: [], suggestion: [] };
|
|
706
|
+
for (const issue of filteredIssues) {
|
|
707
|
+
issues[issue.severity].push(issue);
|
|
708
|
+
}
|
|
709
|
+
const scan = {
|
|
710
|
+
module: moduleName,
|
|
711
|
+
total: filteredIssues.length,
|
|
712
|
+
issues,
|
|
713
|
+
duration: 0,
|
|
714
|
+
filesScanned: (hasContent ? 0 : 1) + expandedFiles.length,
|
|
715
|
+
filesWithIssues: new Set(filteredIssues.map((i) => i.file)).size,
|
|
716
|
+
};
|
|
717
|
+
let fixResult;
|
|
718
|
+
const diffs = {};
|
|
719
|
+
if ((args.fix || args.dryRun) && filteredIssues.some((i) => i.file === primaryFile && i.fix)) {
|
|
720
|
+
const fixable = filteredIssues.filter((i) => i.file === primaryFile && i.fix && (!contextRange || issueIntersectsRange(i, contextRange)));
|
|
721
|
+
const originalSource = hasContent ? contextContent : (0, node_fs_1.readFileSync)(primaryFile, "utf-8");
|
|
722
|
+
fixResult = engine.applyFixes(fixable, {
|
|
723
|
+
sourceOverrides: { [primaryFile]: originalSource },
|
|
724
|
+
writeFiles: !hasContent,
|
|
725
|
+
});
|
|
726
|
+
const patchedSource = fixResult.patchedSources?.[primaryFile];
|
|
727
|
+
if (patchedSource !== undefined) {
|
|
728
|
+
diffs[primaryFile] = (0, unified_diff_js_1.createUnifiedDiff)(primaryFile, originalSource, patchedSource);
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
return { scan, fixResult, diffs };
|
|
732
|
+
}
|
|
563
733
|
async function handleScan(args, options) {
|
|
734
|
+
// v3.13.0: 上下文感知扫描分支
|
|
735
|
+
if (args.context) {
|
|
736
|
+
const { scan, fixResult, diffs } = await handleContextScan(args, options);
|
|
737
|
+
if (args.fix || args.dryRun) {
|
|
738
|
+
const payload = { scan, fix: fixResult ?? { fixedCount: 0, filesModified: [], errors: [] }, diffs };
|
|
739
|
+
if (args.json) {
|
|
740
|
+
return textResult(JSON.stringify(payload, null, 2));
|
|
741
|
+
}
|
|
742
|
+
return textResult(formatFixMarkdown(payload.fix, scan, diffs));
|
|
743
|
+
}
|
|
744
|
+
if (args.json) {
|
|
745
|
+
return textResult(JSON.stringify(scan, null, 2));
|
|
746
|
+
}
|
|
747
|
+
return textResult(formatScanMarkdown(scan));
|
|
748
|
+
}
|
|
564
749
|
const moduleName = args.module || "all";
|
|
565
750
|
const engine = createMcpEngine(options, {
|
|
566
751
|
minSeverity: parseSeverity(args.severity),
|
|
@@ -606,7 +791,7 @@ async function handleFix(args, options) {
|
|
|
606
791
|
module: args.module || "all",
|
|
607
792
|
}, options);
|
|
608
793
|
}
|
|
609
|
-
function formatFixMarkdown(fixResult, scanResult) {
|
|
794
|
+
function formatFixMarkdown(fixResult, scanResult, diffs) {
|
|
610
795
|
const lines = [
|
|
611
796
|
`# 自动修复报告`,
|
|
612
797
|
``,
|
|
@@ -625,6 +810,16 @@ function formatFixMarkdown(fixResult, scanResult) {
|
|
|
625
810
|
lines.push("");
|
|
626
811
|
}
|
|
627
812
|
}
|
|
813
|
+
if (diffs && Object.keys(diffs).length > 0) {
|
|
814
|
+
lines.push(`## Unified Diff`);
|
|
815
|
+
for (const [file, diff] of Object.entries(diffs)) {
|
|
816
|
+
lines.push(`### ${file}`);
|
|
817
|
+
lines.push("```diff");
|
|
818
|
+
lines.push(diff);
|
|
819
|
+
lines.push("```");
|
|
820
|
+
lines.push("");
|
|
821
|
+
}
|
|
822
|
+
}
|
|
628
823
|
if (fixResult.filesModified.length > 0) {
|
|
629
824
|
lines.push(`## 已修改文件`);
|
|
630
825
|
for (const f of fixResult.filesModified) {
|
package/dist/mcp/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA4MH,gDA6bC;AAMD,wCAsCC;AAnrBD,qCAAuC;AACvC,yCAAoC;AAEpC,mCAAgC;AAChC,oDAAqD;AACrD,4DAA4F;AAC5F,kEAAiE;AACjE,kEAAmH;AACnH,kEAAgH;AAChH,gEAAqE;AACrE,gEAAuD;AACvD,0EAAiE;AACjE,4EAAkE;AAClE,8DAAqD;AACrD,kEAAyD;AACzD,gEAAuD;AACvD,oEAA2D;AAC3D,8EAAqE;AACrE,wEAA+D;AAC/D,wEAA+D;AAC/D,oEAA2D;AAE3D,qEAAuE;AACvE,qEAA8E;AAC9E,qEAAgE;AAChE,qEAA+G;AAG/G,MAAM,OAAO,GAAG;IACZ,MAAM;IACN,aAAa;IACb,MAAM;IACN,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,OAAO;IACP,UAAU;IACV,QAAQ;IACR,KAAK;CACC,CAAC;AAEX,MAAM,YAAY,GAA2B;IACzC,IAAI,EAAE,2BAAS;IACf,WAAW,EAAE,yCAAgB;IAC7B,IAAI,EAAE,2BAAS;IACf,QAAQ,EAAE,mCAAa;IACvB,MAAM,EAAE,+BAAW;IACnB,YAAY,EAAE,sCAAc;IAC5B,SAAS,EAAE,qCAAc;IACzB,KAAK,EAAE,6BAAU;IACjB,QAAQ,EAAE,mCAAa;IACvB,MAAM,EAAE,+BAAW;IACnB,GAAG,EAAE,yBAAQ;CAChB,CAAC;AAEF,yBAAyB;AACzB,SAAS,eAAe,CAAC,OAAyB,EAAE,YAAoC,EAAE;IACtF,OAAO,IAAA,6BAAY,EAAC;QAChB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAG,OAAO,CAAC,WAAwB,IAAI,YAAY;QAC9D,MAAM,EAAE,IAAI;QACZ,GAAG,SAAS;KACf,CAAC,CAAC;AACP,CAAC;AAED,2DAA2D;AAC3D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;AAE9D,eAAe;AACf,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAClD,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,IAAA,eAAM,EAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;YACnF,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC;YACzE,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC9C,OAAO,OAAO,CAAC;AACnB,CAAC;AAED,6BAA6B;AAC7B,KAAK,UAAU,mBAAmB,CAC9B,OAAyC,EACzC,UAAkB;IAElB,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACvB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC;AAC1C,CAAC;AAED,6BAA6B;AAC7B,SAAS,oBAAoB,CAAC,KAAY,EAAE,KAA4C;IACpF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC;IAC7C,OAAO,SAAS,IAAI,QAAQ,IAAI,OAAO,IAAI,UAAU,CAAC;AAC1D,CAAC;AAED,gBAAgB;AAChB,SAAS,mBAAmB,CAAC,MAAkB,EAAE,UAAmB;IAChE,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO;IACX,CAAC;IACD,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AACL,CAAC;AAED,aAAa;AACb,SAAS,UAAU,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK;IAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED,aAAa;AACb,SAAS,oBAAoB,CAAC,OAAqB;IAC/C,MAAM,MAAM,GAA8B;QACtC,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACjB,CAAC;IACF,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;QACjB,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;QACvB,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,CAAC,eAAe,GAAG,CAAC;YAAE,eAAe,IAAI,CAAC,CAAC,eAAe,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACrF,CAAC;AAED,sCAAsC;AACtC,SAAS,kBAAkB,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAG;QACV,0BAA0B;QAC1B,EAAE;QACF,SAAS,MAAM,CAAC,MAAM,EAAE;QACxB,WAAW,MAAM,CAAC,YAAY,EAAE;QAChC,WAAW,MAAM,CAAC,eAAe,EAAE;QACnC,SAAS,MAAM,CAAC,QAAQ,IAAI;QAC5B,eAAe,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;QAC9C,cAAc,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;QAC5C,iBAAiB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE;QAClD,EAAE;KACL,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAe,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAChC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7E,IAAI,KAAK,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,kBAAkB;AAClB,SAAS,aAAa,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACxF,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAEhF,SAAgB,kBAAkB;IAC9B,OAAO;QACH;YACI,IAAI,EAAE,MAAM;YACZ,WAAW,EACP,iDAAiD;gBACjD,qIAAqI;gBACrI,gEAAgE;gBAChE,8DAA8D;YAClE,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mCAAmC;qBACnD;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;wBAC3C,WAAW,EAAE,gDAAgD;qBAChE;oBACD,KAAK,EAAE;wBACH,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,iCAAiC;qBACjD;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,6BAA6B;qBAC7C;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sCAAsC;qBACtD;oBACD,SAAS,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,4BAA4B;qBAC5C;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,qDAAqD;qBACrE;oBACD,GAAG,EAAE;wBACD,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+BAA+B;qBAC/C;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,sCAAsC;qBACtD;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,yCAAyC;qBACzD;oBACD,sBAAsB;oBACtB,OAAO,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACP,uHAAuH;wBAC3H,UAAU,EAAE;4BACR,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,qDAAqD;6BACrE;4BACD,KAAK,EAAE;gCACH,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8CAA8C;gCAC3D,UAAU,EAAE;oCACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAChC;6BACJ;4BACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;4BAC9E,MAAM,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,gEAAgE;6BAChF;yBACJ;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACrB;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,KAAK;YACX,WAAW,EACP,+DAA+D;gBAC/D,gFAAgF;gBAChF,oCAAoC;YACxC,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oBAClE,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;wBAC3C,WAAW,EAAE,yBAAyB;qBACzC;oBACD,KAAK,EAAE;wBACH,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,iCAAiC;qBACjD;oBACD,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE;oBACvE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sCAAsC,EAAE;oBAC7E,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qCAAqC,EAAE;oBAC/E,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBAC7D,sBAAsB;oBACtB,OAAO,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EACP,sHAAsH;wBAC1H,UAAU,EAAE;4BACR,IAAI,EAAE;gCACF,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,qDAAqD;6BACrE;4BACD,KAAK,EAAE;gCACH,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,8CAA8C;gCAC3D,UAAU,EAAE;oCACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC7B,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oCAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iCAChC;6BACJ;4BACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;4BAC9E,MAAM,EAAE;gCACJ,IAAI,EAAE,SAAS;gCACf,WAAW,EAAE,gEAAgE;6BAChF;yBACJ;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACrB;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,SAAS;YACf,WAAW,EACP,2DAA2D;gBAC3D,kDAAkD;gBAClD,6CAA6C;YACjD,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;iBAChE;aACJ;SACJ;QACD;YACI,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACP,qEAAqE;gBACrE,4EAA4E;gBAC5E,2BAA2B;YAC/B,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;iBAChE;aACJ;SACJ;QACD;YACI,IAAI,EAAE,YAAY;YAClB,WAAW,EACP,8FAA8F;gBAC9F,mDAAmD;YACvD,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;oBACjE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;oBAClE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBAChE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;iBAChF;aACJ;SACJ;QACD;YACI,IAAI,EAAE,WAAW;YACjB,WAAW,EACP,gFAAgF;gBAChF,mCAAmC;YACvC,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oCAAoC;qBACpD;oBACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE;iBAChF;gBACD,QAAQ,EAAE,CAAC,UAAU,CAAC;aACzB;SACJ;QACD;YACI,IAAI,EAAE,aAAa;YACnB,WAAW,EACP,wEAAwE;gBACxE,iFAAiF;gBACjF,yEAAyE;gBACzE,qDAAqD;YACzD,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,qCAAqC,EAAE;oBAC/E,YAAY,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAClE;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBACzD,MAAM,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,2BAA2B;qBAC3C;oBACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE;oBAChF,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oCAAoC;wBACjD,OAAO,EAAE,CAAC;qBACb;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;oBAC7D,kBAAkB,EAAE;wBAChB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iEAAiE;qBACjF;oBACD,aAAa,EAAE;wBACX,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0DAA0D;qBAC1E;oBACD,iBAAiB,EAAE;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,uDAAuD;qBACvE;oBACD,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;oBAC5E,aAAa,EAAE;wBACX,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,qDAAqD;qBACrE;oBACD,OAAO,EAAE;wBACL,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+CAA+C;qBAC/D;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,+CAA+C;qBAC/D;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,iDAAiD;qBACjE;oBACD,OAAO,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;wBAC9C,WAAW,EAAE,oDAAoD;qBACpE;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qDAAqD;qBACrE;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yCAAyC;qBACzD;oBACD,cAAc,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,6BAA6B;qBAC7C;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,cAAc;YACpB,WAAW,EACP,2DAA2D;gBAC3D,gFAAgF;gBAChF,yDAAyD;YAC7D,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC;wBACnD,WAAW,EAAE,uCAAuC;qBACvD;oBACD,UAAU,EAAE;wBACR,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,uCAAuC;qBACvD;oBACD,cAAc,EAAE;wBACZ,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,iCAAiC;qBACjD;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;oBACjF,WAAW,EAAE;wBACT,IAAI,EAAE,SAAS;wBACf,WAAW,EACP,mGAAmG;qBAC1G;oBACD,qBAAqB,EAAE;wBACnB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6CAA6C;wBAC1D,UAAU,EAAE;4BACR,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yCAAyC,EAAE;4BACnF,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;4BAC/D,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;4BAC5E,mBAAmB,EAAE;gCACjB,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,uCAAuC;6BACvD;4BACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;4BAC1E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;yBACvE;qBACJ;oBACD,UAAU;oBACV,iBAAiB,EAAE;wBACf,IAAI,EAAE,SAAS;wBACf,WAAW,EACP,oFAAoF;qBAC3F;oBACD,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;wBAC/B,WAAW,EAAE,+CAA+C;qBAC/D;oBACD,qBAAqB,EAAE;wBACnB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACpC,WAAW,EAAE,yDAAyD;qBACzE;oBACD,SAAS,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,2DAA2D;qBAC3E;oBACD,YAAY,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iCAAiC;qBACjD;oBACD,mBAAmB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qCAAqC;qBACrD;oBACD,kBAAkB,EAAE;wBAChB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4CAA4C;qBAC5D;iBACJ;aACJ;SACJ;QACD;YACI,IAAI,EAAE,QAAQ;YACd,WAAW,EACP,kFAAkF;gBAClF,oFAAoF;YACxF,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;oBAC1D,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;wBAC3C,WAAW,EAAE,yBAAyB;qBACzC;oBACD,cAAc,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,yCAAyC;wBACtD,OAAO,EAAE,CAAC;qBACb;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;iBAChE;aACJ;SACJ;QACD;YACI,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACP,+EAA+E;gBAC/E,oCAAoC;YACxC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAClC;QACD;YACI,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,mFAAmF;YAChG,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,MAAM,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;wBACzB,WAAW,EAAE,qCAAqC;wBAClD,OAAO,EAAE,QAAQ;qBACpB;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qBAAqB,EAAE;iBAChE;aACJ;SACJ;QACD;YACI,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACP,qEAAqE;gBACrE,4FAA4F;gBAC5F,0FAA0F;YAC9F,WAAW,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC;wBAC5C,WAAW,EAAE,gDAAgD;qBAChE;oBACD,SAAS,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sDAAsD;qBACtE;oBACD,YAAY,EAAE;wBACV,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,kDAAkD;qBAClE;oBACD,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACf,WAAW,EAAE,2EAA2E;wBACxF,OAAO,EAAE,CAAC;qBACb;oBACD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;oBACjF,eAAe,EAAE;wBACb,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oEAAoE;wBACjF,UAAU,EAAE;4BACR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;4BACrF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;4BACvF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;yBAC5F;qBACJ;iBACJ;aACJ;SACJ;KACJ,CAAC;AACN,CAAC;AAED,gFAAgF;AAChF,yEAAyE;AACzE,gFAAgF;AAEzE,KAAK,UAAU,cAAc,CAChC,IAAY,EACZ,IAAiB,EACjB,OAAyB;IAEzB,IAAI,CAAC;QACD,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,MAAM;gBACP,OAAO,UAAU,CAAC,IAAyC,EAAE,OAAO,CAAC,CAAC;YAC1E,KAAK,KAAK;gBACN,OAAO,SAAS,CAAC,IAAwC,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,SAAS;gBACV,OAAO,YAAY,CAAC,IAA2C,EAAE,OAAO,CAAC,CAAC;YAC9E,KAAK,iBAAiB;gBAClB,OAAO,mBAAmB,CAAC,IAAkD,EAAE,OAAO,CAAC,CAAC;YAC5F,KAAK,YAAY;gBACb,OAAO,eAAe,CAAC,IAA8C,EAAE,OAAO,CAAC,CAAC;YACpF,KAAK,WAAW;gBACZ,OAAO,cAAc,CAAC,IAA6C,EAAE,OAAO,CAAC,CAAC;YAClF,KAAK,aAAa;gBACd,OAAO,gBAAgB,CAAC,IAA+C,EAAE,OAAO,CAAC,CAAC;YACtF,KAAK,cAAc;gBACf,OAAO,iBAAiB,CAAC,IAAgD,EAAE,OAAO,CAAC,CAAC;YACxF,KAAK,QAAQ;gBACT,OAAO,WAAW,CAAC,IAA0C,EAAE,OAAO,CAAC,CAAC;YAC5E,KAAK,kBAAkB;gBACnB,OAAO,oBAAoB,CAAC,IAA6B,EAAE,OAAO,CAAC,CAAC;YACxE,KAAK,eAAe;gBAChB,OAAO,kBAAkB,CAAC,IAAiD,EAAE,OAAO,CAAC,CAAC;YAC1F,KAAK,iBAAiB;gBAClB,OAAO,oBAAoB,CAAC,IAAmD,EAAE,OAAO,CAAC,CAAC;YAC9F;gBACI,OAAO,UAAU,CAAC,iBAAiB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,UAAU,CAAC,QAAQ,IAAI,YAAY,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,2EAA2E;AAC3E,gFAAgF;AAEhF,KAAK,UAAU,iBAAiB,CAC5B,IAAuC,EACvC,OAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;IACjD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;IAEnC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE;QACpC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;IACH,mBAAmB,CAAC,MAAM,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAE3E,MAAM,SAAS,GAAY,EAAE,CAAC;IAE9B,qBAAqB;IACrB,MAAM,aAAa,GAAG,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IAChG,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,cAAc,CAC7C,WAAW,EACX,aAAa,EACb,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAC1C,CAAC;IACF,SAAS,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAEjC,sBAAsB;IACtB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;YACnD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtF,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtF,CAAC;IACL,CAAC;IAED,cAAc;IACd,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/B,IAAI,YAAY,EAAE,CAAC;QACf,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,oBAAoB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,MAAM,GAA8B,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACxF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,GAAe;QACrB,MAAM,EAAE,UAAU;QAClB,KAAK,EAAE,cAAc,CAAC,MAAM;QAC5B,MAAM;QACN,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM;QACzD,eAAe,EAAE,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KACnE,CAAC;IAEF,IAAI,SAA2D,CAAC;IAChE,MAAM,KAAK,GAA2B,EAAE,CAAC;IAEzC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3F,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,YAAY,IAAI,oBAAoB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CACrG,CAAC;QAEF,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,CAAE,cAAyB,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEpG,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE;YACnC,eAAe,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,cAAc,EAAE;YAClD,UAAU,EAAE,CAAC,UAAU;SAC1B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,WAAW,CAAC,GAAG,IAAA,mCAAiB,EAAC,WAAW,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QACvF,CAAC;IACL,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAuC,EAAE,OAAyB;IACxF,qBAAqB;IACrB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1E,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACpG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE;QACpC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;QACzC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;IAEH,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAExC,IAAI,MAAkB,CAAC;IACvB,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACvB,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACJ,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CACrG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CACf,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAsC,EAAE,OAAyB;IACtF,4BAA4B;IAC5B,OAAO,UAAU,CACb;QACI,GAAG,IAAI;QACP,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;KAC/B,EACD,OAAO,CACV,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CACtB,SAA+C,EAC/C,UAAsB,EACtB,KAA8B;IAE9B,MAAM,KAAK,GAAG;QACV,UAAU;QACV,EAAE;QACF,SAAS,UAAU,CAAC,MAAM,EAAE;QAC5B,UAAU,SAAS,CAAC,UAAU,EAAE;QAChC,WAAW,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE;QAC3C,SAAS,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE;QACvC,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE;QAClC,EAAE;KACL,CAAC;IACF,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;IACD,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,YAAY,CACvB,IAAyC,EACzC,OAAyB;IAEzB,IAAI,CAAC,qCAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,OAAO,UAAU,CACb,+CAA+C;YAC3C,kFAAkF,EACtF,IAAI,CACP,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,qCAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,uBAAuB,EAAE,EAAE,EAAE,gBAAgB,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/E,IAAI,KAAK,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,mBAAmB,CAC9B,IAAgD,EAChD,OAAyB;IAEzB,MAAM,MAAM,GAAG,IAAA,mCAAa,EAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,sCAAgB,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,UAAU,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAwC;IAClE,MAAM,KAAK,GAAG;QACV,cAAc;QACd,EAAE;QACF,YAAY,MAAM,CAAC,YAAY,GAAG;QAClC,YAAY,MAAM,CAAC,WAAW,GAAG;QACjC,YAAY,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE;QAC1C,YAAY,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;QACzC,WAAW,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACtC,EAAE;KACL,CAAC;IACF,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,IAA4C,EAC5C,OAAyB;IAEzB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAChC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAsB,CAAC;YAAE,OAAO,KAAK,CAAC;QACxG,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAoB,CAAC;YAAE,OAAO,KAAK,CAAC;QACnG,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAA4B,CAAC;YACpG,OAAO,KAAK,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,OAAO,EAAE,CAAC,CAAC,OAAO;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,IAA2C,EAC3C,OAAyB;IAEzB,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC3B,IAA6C,EAC7C,OAAyB;IAEzB,IAAI,CAAC,IAAA,sCAAqB,GAAE,EAAE,CAAC;QAC3B,OAAO,UAAU,CAAC,oEAAoE,EAAE,IAAI,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAkB,EAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,IAAI;QACpB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU;QACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU;QACV,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;KACtC,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,qCAAoB,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,UAAU,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAsD;IACpF,MAAM,KAAK,GAAG;QACV,UAAU;QACV,EAAE;QACF,cAAc,MAAM,CAAC,OAAO,EAAE;QAC9B,WAAW,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;QACxC,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpC,SAAS,MAAM,CAAC,QAAQ,IAAI;QAC5B,EAAE;KACL,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,IAA8C,EAC9C,OAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAkB,EAAC;QACpC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;QACjC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,UAAU;QACV,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;QACjD,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC9C,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,sCAAqB,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,UAAU,CAAC,IAAA,wCAAuB,EAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,WAAW,CACtB,IAAwC,EACxC,OAAyB;IAEzB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACxC,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvF,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAExC,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnF,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnF,CAAC;IAED,sBAAsB;IACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,uDAAuD,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAwB,EAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACnF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,KAA4B,EAAE,OAAyB;IACvF,MAAM,IAAI,GAAG,IAAA,uCAAiB,EAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC7B,IAA+C,EAC/C,OAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,2BAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,IAAA,eAAM,EAAC,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE;YACnF,GAAG,EAAE,OAAO,CAAC,UAAU;YACvB,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC;YACzE,QAAQ,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;IACpD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,UAAU,CACb,mBAAmB,OAAO,CAAC,KAAK,WAAW,KAAK,CAAC,KAAK,WAAW,KAAK,CAAC,MAAM,WAAW,KAAK,CAAC,OAAO,EAAE,CAC1G,CAAC;AACN,CAAC;AAED,KAAK,UAAU,oBAAoB,CAC/B,IAAiD,EACjD,OAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAc,EAAC;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;QAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAC7D,SAAS,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK;QAC/C,YAAY,EAAE,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACvE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,eAAe,EAAE,IAAI,CAAC,eAAe;KACxC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,+CAAyB,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,UAAU,CAAC,IAAA,2CAAqB,EAAC,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC"}
|
package/dist/mcp/types.d.ts
CHANGED
|
@@ -4,6 +4,20 @@
|
|
|
4
4
|
import type { MCPServerOptions } from "./mcp-server.js";
|
|
5
5
|
/** 当前暴露的 MCP 工具名称 */
|
|
6
6
|
export type MCPToolName = "scan" | "fix" | "e2e-run" | "e2e-detect-gaps" | "list-rules" | "scan-file" | "page-health" | "mini-program" | "ai-fix" | "get-project-meta" | "index-project" | "recommend-tests";
|
|
7
|
+
/** v3.13.0: 编辑器上下文范围(1-based,含端点) */
|
|
8
|
+
export interface ScanContextRange {
|
|
9
|
+
startLine: number;
|
|
10
|
+
startColumn?: number;
|
|
11
|
+
endLine?: number;
|
|
12
|
+
endColumn?: number;
|
|
13
|
+
}
|
|
14
|
+
/** v3.13.0: 编辑器上下文 */
|
|
15
|
+
export interface ScanContext {
|
|
16
|
+
file: string;
|
|
17
|
+
range?: ScanContextRange;
|
|
18
|
+
content?: string;
|
|
19
|
+
expand?: boolean;
|
|
20
|
+
}
|
|
7
21
|
/** scan 工具参数 */
|
|
8
22
|
export interface ScanToolArgs {
|
|
9
23
|
module?: string;
|
|
@@ -16,6 +30,7 @@ export interface ScanToolArgs {
|
|
|
16
30
|
fix?: boolean;
|
|
17
31
|
dryRun?: boolean;
|
|
18
32
|
json?: boolean;
|
|
33
|
+
context?: ScanContext;
|
|
19
34
|
}
|
|
20
35
|
/** fix 工具参数 */
|
|
21
36
|
export interface FixToolArgs {
|
|
@@ -26,6 +41,7 @@ export interface FixToolArgs {
|
|
|
26
41
|
diff?: string;
|
|
27
42
|
dryRun?: boolean;
|
|
28
43
|
json?: boolean;
|
|
44
|
+
context?: ScanContext;
|
|
29
45
|
}
|
|
30
46
|
/** e2e-run 工具参数 */
|
|
31
47
|
export interface E2ERunToolArgs {
|
package/dist/mcp/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,qBAAqB;AACrB,MAAM,MAAM,WAAW,GACjB,MAAM,GACN,KAAK,GACL,SAAS,GACT,iBAAiB,GACjB,YAAY,GACZ,WAAW,GACX,aAAa,GACb,cAAc,GACd,QAAQ,GACR,kBAAkB,GAClB,eAAe,GACf,iBAAiB,CAAC;AAExB,gBAAgB;AAChB,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED