@kevinrabun/judges 3.2.0 → 3.3.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/README.md CHANGED
@@ -11,7 +11,7 @@ An MCP (Model Context Protocol) server that provides a panel of **35 specialized
11
11
  [![npm](https://img.shields.io/npm/v/@kevinrabun/judges)](https://www.npmjs.com/package/@kevinrabun/judges)
12
12
  [![npm downloads](https://img.shields.io/npm/dw/@kevinrabun/judges)](https://www.npmjs.com/package/@kevinrabun/judges)
13
13
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
14
- [![Tests](https://img.shields.io/badge/tests-702-brightgreen)](https://github.com/KevinRabun/judges/actions)
14
+ [![Tests](https://img.shields.io/badge/tests-711-brightgreen)](https://github.com/KevinRabun/judges/actions)
15
15
 
16
16
  ---
17
17
 
@@ -369,7 +369,7 @@ The tribunal operates in three layers:
369
369
 
370
370
  1. **Pattern-Based Analysis** — All tools (`evaluate_code`, `evaluate_code_single_judge`, `evaluate_project`, `evaluate_diff`) perform heuristic analysis using regex pattern matching to catch common anti-patterns. This layer is instant, deterministic, and runs entirely offline with zero external API calls.
371
371
 
372
- 2. **AST-Based Structural Analysis** — The Code Structure judge (`STRUCT-*` rules) uses real Abstract Syntax Tree parsing to measure cyclomatic complexity, nesting depth, function length, parameter count, dead code, and type safety with precision that regex cannot achieve. JavaScript/TypeScript files are parsed via the TypeScript Compiler API. Python, Rust, Go, Java, and C# are parsed via **tree-sitter WASM grammars** real syntax trees compiled to WebAssembly that run in-process with zero native dependencies. A scope-tracking structural parser is kept as a fallback when WASM grammars are unavailable. No external AST server required.
372
+ 2. **AST-Based Structural Analysis** — The Code Structure judge (`STRUCT-*` rules) uses real Abstract Syntax Tree parsing to measure cyclomatic complexity, nesting depth, function length, parameter count, dead code, and type safety with precision that regex cannot achieve. All supported languages **TypeScript, JavaScript, Python, Rust, Go, Java, C#, and C++** are parsed via **tree-sitter WASM grammars** (real syntax trees compiled to WebAssembly, in-process, zero native dependencies). A scope-tracking structural parser is kept as a fallback when WASM grammars are unavailable. No external AST server required.
373
373
 
374
374
  3. **LLM-Powered Deep Analysis (Prompts)** — The server exposes MCP prompts (e.g., `judge-data-security`, `full-tribunal`) that provide each judge's expert persona as a system prompt. When used by an LLM-based client (Copilot, Claude, Cursor, etc.), the host LLM performs deeper, context-aware probabilistic analysis beyond what static patterns can detect. This is where the `systemPrompt` on each judge comes alive — Judges itself makes no LLM calls, but it provides the expert criteria so your AI assistant can act as 35 specialized reviewers.
375
375
 
@@ -379,12 +379,11 @@ The tribunal operates in three layers:
379
379
 
380
380
  Judges Panel is a **dual-layer** review system: instant **deterministic tools** (offline, no API keys) for pattern and AST analysis, plus **35 expert-persona MCP prompts** that unlock LLM-powered deep analysis when connected to an AI client. It does not try to be a CVE scanner or a linter. Those capabilities belong in dedicated MCP servers that an AI agent can orchestrate alongside Judges.
381
381
 
382
- ### Built-in AST Analysis (v2.0.0)
382
+ ### Built-in AST Analysis (v2.0.0+)
383
383
 
384
384
  Unlike earlier versions that recommended a separate AST MCP server, Judges Panel now includes **real AST-based structural analysis** out of the box:
385
385
 
386
- - **JavaScript / TypeScript**Parsed with the TypeScript Compiler API (`ts.createSourceFile`) for full-fidelity AST
387
- - **Python, Rust, Go, Java, C#** — Parsed with **tree-sitter WASM grammars** for full syntax-tree analysis (functions, complexity, nesting, dead code, type safety). Falls back to a scope-tracking structural parser when WASM grammars are unavailable
386
+ - **TypeScript, JavaScript, Python, Rust, Go, Java, C#, C++** All parsed with a **unified tree-sitter WASM engine** for full syntax-tree analysis (functions, complexity, nesting, dead code, type safety). Falls back to a scope-tracking structural parser when WASM grammars are unavailable
388
387
 
389
388
  The Code Structure judge (`STRUCT-*`) uses these parsers to accurately measure:
390
389
 
@@ -810,8 +809,7 @@ judges/
810
809
  │ ├── ast/ # AST analysis engine (built-in, no external deps)
811
810
  │ │ ├── index.ts # analyzeStructure() — routes to correct parser
812
811
  │ │ ├── types.ts # FunctionInfo, CodeStructure interfaces
813
- │ │ ├── typescript-ast.ts # TypeScript Compiler API parser (JS/TS)
814
- │ │ ├── tree-sitter-ast.ts # Tree-sitter WASM parser (Python/Rust/Go/Java/C#)
812
+ │ │ ├── tree-sitter-ast.ts # Tree-sitter WASM parser (all 8 languages)
815
813
  │ │ └── structural-parser.ts # Fallback scope-tracking parser
816
814
  │ ├── evaluators/ # Analysis engine for each judge
817
815
  │ │ ├── index.ts # evaluateWithJudge(), evaluateWithTribunal(), evaluateProject(), etc.
@@ -831,6 +829,8 @@ judges/
831
829
  ├── tests/
832
830
  │ └── judges.test.ts # Run: npm test
833
831
  ├── grammars/ # Tree-sitter WASM grammar files
832
+ │ ├── tree-sitter-typescript.wasm
833
+ │ ├── tree-sitter-cpp.wasm
834
834
  │ ├── tree-sitter-python.wasm
835
835
  │ ├── tree-sitter-go.wasm
836
836
  │ ├── tree-sitter-rust.wasm
@@ -6,22 +6,21 @@ export type { TaintFlow, TaintSourceKind, TaintSinkKind } from "./taint-tracker.
6
6
  export { analyzeCrossFileTaint } from "./cross-file-taint.js";
7
7
  export type { CrossFileTaintFlow } from "./cross-file-taint.js";
8
8
  /**
9
- * Analyse source code structurally. For JavaScript/TypeScript this uses the
10
- * TypeScript compiler API (full AST). For Python, Rust, Go, Java, and C# it
11
- * uses tree-sitter (real AST via WASM) when available, falling back to the
12
- * lightweight scope-tracking parser.
9
+ * Analyse source code structurally. Uses tree-sitter (real AST via WASM) for
10
+ * TypeScript, JavaScript, Python, Rust, Go, Java, C#, and C++ when available,
11
+ * falling back to the lightweight scope-tracking structural parser.
13
12
  *
14
13
  * Returns function metrics (complexity, nesting, length, params), dead code
15
14
  * locations, deep-nesting locations, and type-safety issues.
16
15
  */
17
16
  export declare function analyzeStructure(code: string, language: string): CodeStructure;
18
17
  /**
19
- * Async version of analyzeStructure that uses tree-sitter (real AST) for
20
- * Python, Rust, Go, Java, and C# when WASM grammars are available.
18
+ * Async version of analyzeStructure that uses tree-sitter (real AST) for all
19
+ * supported languages when WASM grammars are available.
21
20
  * Falls back to the structural parser if tree-sitter is not available.
22
21
  *
23
- * Prefer this over analyzeStructure() for Tier 2 languages — it provides
24
- * the same depth of analysis that the TS Compiler API gives JS/TS.
22
+ * Prefer this over analyzeStructure() when async is acceptable — it ensures
23
+ * tree-sitter grammars are fully loaded before analysis.
25
24
  */
26
25
  export declare function analyzeStructureAsync(code: string, language: string): Promise<CodeStructure>;
27
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAG5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAahE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAuC9E;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAsClG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE9D,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAG5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAahE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAsC9E;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAqClG"}
package/dist/ast/index.js CHANGED
@@ -1,12 +1,11 @@
1
1
  // ─────────────────────────────────────────────────────────────────────────────
2
2
  // AST Analysis — Unified Entry Point
3
3
  // ─────────────────────────────────────────────────────────────────────────────
4
- // Routes to the TypeScript compiler-based parser for JS/TS, the tree-sitter
5
- // real-AST parser for Python, Rust, Go, Java, and C# (when WASM grammars are
6
- // available), or the lightweight structural parser as a fallback.
4
+ // Routes to the tree-sitter real-AST parser (WASM) for TypeScript, JavaScript,
5
+ // Python, Rust, Go, Java, C#, and C++ when grammars are available, or the
6
+ // lightweight structural parser as a fallback.
7
7
  // ─────────────────────────────────────────────────────────────────────────────
8
8
  import { normalizeLanguage } from "../language-patterns.js";
9
- import { analyzeTypeScript } from "./typescript-ast.js";
10
9
  import { analyzeStructurally } from "./structural-parser.js";
11
10
  import { isTreeSitterAvailable, isTreeSitterReadySync, analyzeWithTreeSitter, analyzeWithTreeSitterSync, } from "./tree-sitter-ast.js";
12
11
  // Re-export tree-sitter availability checks
@@ -18,16 +17,15 @@ export { analyzeCrossFileTaint } from "./cross-file-taint.js";
18
17
  // ─── Tree-sitter Warm-up ────────────────────────────────────────────────────
19
18
  // Pre-initialize tree-sitter on module load so it's ready when needed.
20
19
  // This is fire-and-forget; if it fails, analyzeStructure falls back silently.
21
- const TREE_SITTER_LANGS = ["python", "rust", "go", "java", "csharp"];
20
+ const TREE_SITTER_LANGS = ["typescript", "javascript", "python", "rust", "go", "java", "csharp", "cpp"];
22
21
  const treeSitterReady = new Map();
23
22
  for (const lang of TREE_SITTER_LANGS) {
24
23
  treeSitterReady.set(lang, isTreeSitterAvailable(lang));
25
24
  }
26
25
  /**
27
- * Analyse source code structurally. For JavaScript/TypeScript this uses the
28
- * TypeScript compiler API (full AST). For Python, Rust, Go, Java, and C# it
29
- * uses tree-sitter (real AST via WASM) when available, falling back to the
30
- * lightweight scope-tracking parser.
26
+ * Analyse source code structurally. Uses tree-sitter (real AST via WASM) for
27
+ * TypeScript, JavaScript, Python, Rust, Go, Java, C#, and C++ when available,
28
+ * falling back to the lightweight scope-tracking structural parser.
31
29
  *
32
30
  * Returns function metrics (complexity, nesting, length, params), dead code
33
31
  * locations, deep-nesting locations, and type-safety issues.
@@ -35,14 +33,14 @@ for (const lang of TREE_SITTER_LANGS) {
35
33
  export function analyzeStructure(code, language) {
36
34
  const lang = normalizeLanguage(language);
37
35
  switch (lang) {
38
- case "javascript":
39
36
  case "typescript":
40
- return analyzeTypeScript(code, lang);
37
+ case "javascript":
41
38
  case "python":
42
39
  case "rust":
43
40
  case "go":
44
41
  case "java":
45
42
  case "csharp":
43
+ case "cpp":
46
44
  // Use tree-sitter (real AST) if WASM runtime + grammar already loaded,
47
45
  // otherwise fall back to the lightweight structural parser.
48
46
  // parser.parse() is synchronous in web-tree-sitter once initialized.
@@ -71,24 +69,24 @@ export function analyzeStructure(code, language) {
71
69
  }
72
70
  }
73
71
  /**
74
- * Async version of analyzeStructure that uses tree-sitter (real AST) for
75
- * Python, Rust, Go, Java, and C# when WASM grammars are available.
72
+ * Async version of analyzeStructure that uses tree-sitter (real AST) for all
73
+ * supported languages when WASM grammars are available.
76
74
  * Falls back to the structural parser if tree-sitter is not available.
77
75
  *
78
- * Prefer this over analyzeStructure() for Tier 2 languages — it provides
79
- * the same depth of analysis that the TS Compiler API gives JS/TS.
76
+ * Prefer this over analyzeStructure() when async is acceptable — it ensures
77
+ * tree-sitter grammars are fully loaded before analysis.
80
78
  */
81
79
  export async function analyzeStructureAsync(code, language) {
82
80
  const lang = normalizeLanguage(language);
83
81
  switch (lang) {
84
- case "javascript":
85
82
  case "typescript":
86
- return analyzeTypeScript(code, lang);
83
+ case "javascript":
87
84
  case "python":
88
85
  case "rust":
89
86
  case "go":
90
87
  case "java":
91
- case "csharp": {
88
+ case "csharp":
89
+ case "cpp": {
92
90
  // Try tree-sitter first (real AST), fall back to structural parser
93
91
  const available = await (treeSitterReady.get(lang) ?? Promise.resolve(false));
94
92
  if (available) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,kEAAkE;AAClE,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAK9B,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,sCAAsC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAC9E,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE5D,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;IACrC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,QAAgB;IAC7D,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,uEAAuE;YACvE,4DAA4D;YAC5D,qEAAqE;YACrE,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,OAAO,yBAAyB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;YACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC;YACE,gDAAgD;YAChD,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBACnC,SAAS,EAAE,EAAE;gBACb,wBAAwB,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;aACZ,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,QAAgB;IACxE,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvC,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,IAAI,CAAC;QACV,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,mEAAmE;YACnE,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9E,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,OAAO,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACjD,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;YACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED;YACE,OAAO;gBACL,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM;gBACnC,SAAS,EAAE,EAAE;gBACb,wBAAwB,EAAE,CAAC;gBAC3B,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,EAAE;gBACjB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,EAAE;aACZ,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-ast.d.ts","sourceRoot":"","sources":["../../src/ast/tree-sitter-ast.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAkG9D;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAKvF;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKlG"}
1
+ {"version":3,"file":"tree-sitter-ast.d.ts","sourceRoot":"","sources":["../../src/ast/tree-sitter-ast.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,YAAY,CAAC;AAqG9D;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK1E;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAKvF;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAKlG"}
@@ -1,13 +1,11 @@
1
1
  // ─────────────────────────────────────────────────────────────────────────────
2
- // Tree-sitter AST — Real syntax-tree analysis for Python, Go, Rust, Java, C#
2
+ // Tree-sitter AST — Unified real syntax-tree analysis for all languages
3
3
  // ─────────────────────────────────────────────────────────────────────────────
4
4
  // Uses web-tree-sitter (WASM-based, zero native deps) to parse source code
5
5
  // into a full syntax tree, then walks the tree to extract function metrics,
6
6
  // dead code, deep nesting, type-safety issues, and imports.
7
7
  //
8
- // This replaces the lightweight structural parser for Tier 2 languages,
9
- // elevating them from regex-based heuristics to real AST analysis — the
10
- // same depth the TypeScript Compiler API provides for JS/TS.
8
+ // Supports: TypeScript, JavaScript, Python, Go, Rust, Java, C#, C++
11
9
  //
12
10
  // Graceful degradation: if tree-sitter WASM grammars aren't available at
13
11
  // runtime, the caller can fall back to the structural parser.
@@ -21,11 +19,14 @@ let initPromise = null;
21
19
  let parserModule = null;
22
20
  // Grammar file name mapping
23
21
  const GRAMMAR_FILES = {
22
+ typescript: "tree-sitter-typescript.wasm",
23
+ javascript: "tree-sitter-typescript.wasm", // TS grammar is a superset of JS
24
24
  python: "tree-sitter-python.wasm",
25
25
  go: "tree-sitter-go.wasm",
26
26
  rust: "tree-sitter-rust.wasm",
27
27
  java: "tree-sitter-java.wasm",
28
28
  csharp: "tree-sitter-c_sharp.wasm",
29
+ cpp: "tree-sitter-cpp.wasm",
29
30
  };
30
31
  // Cached language instances
31
32
  const languageCache = new Map();
@@ -155,11 +156,28 @@ function parseAndAnalyze(code, language, grammar) {
155
156
  // ─── Function Extraction ────────────────────────────────────────────────────
156
157
  /** Node types that represent function/method definitions per language */
157
158
  const FUNCTION_NODE_TYPES = {
159
+ typescript: [
160
+ "function_declaration",
161
+ "method_definition",
162
+ "arrow_function",
163
+ "function_expression",
164
+ "generator_function_declaration",
165
+ "generator_function",
166
+ ],
167
+ javascript: [
168
+ "function_declaration",
169
+ "method_definition",
170
+ "arrow_function",
171
+ "function_expression",
172
+ "generator_function_declaration",
173
+ "generator_function",
174
+ ],
158
175
  python: ["function_definition"],
159
176
  go: ["function_declaration", "method_declaration"],
160
177
  rust: ["function_item"],
161
178
  java: ["method_declaration", "constructor_declaration"],
162
179
  csharp: ["method_declaration", "constructor_declaration", "local_function_statement"],
180
+ cpp: ["function_definition"],
163
181
  };
164
182
  function extractFunctions(root, language) {
165
183
  const funcTypes = FUNCTION_NODE_TYPES[language] || [];
@@ -195,6 +213,31 @@ function analyzeFunctionNode(node, language, classRanges) {
195
213
  // Get function name
196
214
  const nameNode = node.childForFieldName("name");
197
215
  let name = nameNode?.text || "<anonymous>";
216
+ // C++: name is inside the declarator chain
217
+ // function_definition → declarator (function_declarator) → declarator (identifier / qualified_identifier)
218
+ if (language === "cpp" && name === "<anonymous>") {
219
+ const decl = node.childForFieldName("declarator");
220
+ if (decl) {
221
+ const nameDecl = decl.childForFieldName("declarator");
222
+ if (nameDecl) {
223
+ name = nameDecl.text;
224
+ }
225
+ }
226
+ }
227
+ // TypeScript/JavaScript: arrow functions and function expressions get their
228
+ // name from the parent variable_declarator or property assignment
229
+ if ((language === "typescript" || language === "javascript") && name === "<anonymous>" && node.parent) {
230
+ if (node.parent.type === "variable_declarator") {
231
+ const nameChild = node.parent.childForFieldName("name");
232
+ if (nameChild)
233
+ name = nameChild.text;
234
+ }
235
+ else if (node.parent.type === "pair" || node.parent.type === "property_assignment") {
236
+ const key = node.parent.childForFieldName("key");
237
+ if (key)
238
+ name = key.text;
239
+ }
240
+ }
198
241
  // For Go method_declaration, extract receiver type
199
242
  if (language === "go" && node.type === "method_declaration") {
200
243
  const receiver = node.childForFieldName("receiver");
@@ -244,6 +287,12 @@ function analyzeFunctionNode(node, language, classRanges) {
244
287
  function countParameters(funcNode, language) {
245
288
  let paramsNode = null;
246
289
  switch (language) {
290
+ case "typescript":
291
+ case "javascript":
292
+ paramsNode = funcNode.childForFieldName("parameters");
293
+ if (!paramsNode)
294
+ return 0;
295
+ return paramsNode.namedChildren.filter((c) => c.type === "required_parameter" || c.type === "optional_parameter" || c.type === "rest_parameter").length;
247
296
  case "python":
248
297
  paramsNode = funcNode.childForFieldName("parameters");
249
298
  if (!paramsNode)
@@ -290,6 +339,16 @@ function countParameters(funcNode, language) {
290
339
  if (!paramsNode)
291
340
  return 0;
292
341
  return paramsNode.namedChildren.filter((c) => c.type === "parameter").length;
342
+ case "cpp": {
343
+ // C++: parameters sit inside function_definition → declarator (function_declarator) → parameters
344
+ const declarator = funcNode.childForFieldName("declarator");
345
+ if (!declarator)
346
+ return 0;
347
+ paramsNode = declarator.childForFieldName("parameters");
348
+ if (!paramsNode)
349
+ return 0;
350
+ return paramsNode.namedChildren.filter((c) => c.type === "parameter_declaration" || c.type === "variadic_parameter_declaration").length;
351
+ }
293
352
  default:
294
353
  return 0;
295
354
  }
@@ -297,6 +356,26 @@ function countParameters(funcNode, language) {
297
356
  // ─── Cyclomatic Complexity ──────────────────────────────────────────────────
298
357
  // CC = 1 + number of decision points
299
358
  const DECISION_NODE_TYPES = {
359
+ typescript: new Set([
360
+ "if_statement",
361
+ "for_statement",
362
+ "for_in_statement",
363
+ "while_statement",
364
+ "do_statement",
365
+ "switch_case",
366
+ "catch_clause",
367
+ "ternary_expression",
368
+ ]),
369
+ javascript: new Set([
370
+ "if_statement",
371
+ "for_statement",
372
+ "for_in_statement",
373
+ "while_statement",
374
+ "do_statement",
375
+ "switch_case",
376
+ "catch_clause",
377
+ "ternary_expression",
378
+ ]),
300
379
  python: new Set([
301
380
  "if_statement",
302
381
  "elif_clause",
@@ -330,6 +409,16 @@ const DECISION_NODE_TYPES = {
330
409
  "switch_section",
331
410
  "conditional_expression",
332
411
  ]),
412
+ cpp: new Set([
413
+ "if_statement",
414
+ "for_statement",
415
+ "for_range_loop",
416
+ "while_statement",
417
+ "do_statement",
418
+ "case_statement",
419
+ "catch_clause",
420
+ "conditional_expression",
421
+ ]),
333
422
  };
334
423
  // Binary operators that add to complexity (&&, ||)
335
424
  const LOGICAL_OPS = new Set(["&&", "||", "and", "or"]);
@@ -351,6 +440,28 @@ function computeCyclomaticComplexity(funcNode, language) {
351
440
  }
352
441
  // ─── Nesting Depth ──────────────────────────────────────────────────────────
353
442
  const NESTING_NODE_TYPES = {
443
+ typescript: new Set([
444
+ "if_statement",
445
+ "for_statement",
446
+ "for_in_statement",
447
+ "while_statement",
448
+ "do_statement",
449
+ "switch_statement",
450
+ "try_statement",
451
+ "arrow_function",
452
+ "function_expression",
453
+ ]),
454
+ javascript: new Set([
455
+ "if_statement",
456
+ "for_statement",
457
+ "for_in_statement",
458
+ "while_statement",
459
+ "do_statement",
460
+ "switch_statement",
461
+ "try_statement",
462
+ "arrow_function",
463
+ "function_expression",
464
+ ]),
354
465
  python: new Set([
355
466
  "if_statement",
356
467
  "for_statement",
@@ -398,6 +509,16 @@ const NESTING_NODE_TYPES = {
398
509
  "switch_statement",
399
510
  "lambda_expression",
400
511
  ]),
512
+ cpp: new Set([
513
+ "if_statement",
514
+ "for_statement",
515
+ "for_range_loop",
516
+ "while_statement",
517
+ "do_statement",
518
+ "try_statement",
519
+ "switch_statement",
520
+ "lambda_expression",
521
+ ]),
401
522
  };
402
523
  function computeMaxNesting(node, language, currentDepth) {
403
524
  const nestingTypes = NESTING_NODE_TYPES[language] || new Set();
@@ -418,19 +539,25 @@ function computeMaxNesting(node, language, currentDepth) {
418
539
  // ─── Dead Code Detection ────────────────────────────────────────────────────
419
540
  /** Node types that represent terminal statements (control flow never continues past them) */
420
541
  const TERMINAL_TYPES = {
542
+ typescript: new Set(["return_statement", "throw_statement", "break_statement", "continue_statement"]),
543
+ javascript: new Set(["return_statement", "throw_statement", "break_statement", "continue_statement"]),
421
544
  python: new Set(["return_statement", "raise_statement", "break_statement", "continue_statement"]),
422
545
  go: new Set(["return_statement", "break_statement", "continue_statement"]),
423
546
  rust: new Set(["return_expression", "break_expression", "continue_expression"]),
424
547
  java: new Set(["return_statement", "throw_statement", "break_statement", "continue_statement"]),
425
548
  csharp: new Set(["return_statement", "throw_statement", "break_statement", "continue_statement"]),
549
+ cpp: new Set(["return_statement", "throw_statement", "break_statement", "continue_statement"]),
426
550
  };
427
551
  /** Node types that represent blocks containing sequential statements */
428
552
  const BLOCK_TYPES = {
553
+ typescript: new Set(["statement_block"]),
554
+ javascript: new Set(["statement_block"]),
429
555
  python: new Set(["block"]),
430
556
  go: new Set(["block"]),
431
557
  rust: new Set(["block"]),
432
558
  java: new Set(["block"]),
433
559
  csharp: new Set(["block"]),
560
+ cpp: new Set(["compound_statement"]),
434
561
  };
435
562
  function detectDeadCode(root, language) {
436
563
  const deadLines = [];
@@ -489,6 +616,15 @@ function detectDeepNesting(root, language) {
489
616
  }
490
617
  // ─── Weak Type Detection ────────────────────────────────────────────────────
491
618
  const WEAK_TYPE_PATTERNS = {
619
+ typescript: (node) => {
620
+ // 'any' keyword in type annotations
621
+ if (node.type === "predefined_type" && node.text === "any")
622
+ return true;
623
+ if (node.type === "type_identifier" && node.text === "any")
624
+ return true;
625
+ return false;
626
+ },
627
+ javascript: () => false, // JS has no static type annotations
492
628
  python: (node) => {
493
629
  // typing.Any or just Any in type annotations
494
630
  if (node.type === "type" || node.type === "annotation") {
@@ -507,9 +643,12 @@ const WEAK_TYPE_PATTERNS = {
507
643
  return false;
508
644
  },
509
645
  rust: (node) => {
510
- // unsafe blocks and raw pointer casts
646
+ // unsafe blocks and unsafe function declarations
511
647
  if (node.type === "unsafe_block")
512
648
  return true;
649
+ // unsafe fn ... — the function_item's text starts with "unsafe"
650
+ if (node.type === "function_item" && node.text.trimStart().startsWith("unsafe "))
651
+ return true;
513
652
  if (node.type === "type_cast_expression") {
514
653
  return node.text.includes("*const") || node.text.includes("*mut");
515
654
  }
@@ -532,6 +671,17 @@ const WEAK_TYPE_PATTERNS = {
532
671
  return true;
533
672
  return false;
534
673
  },
674
+ cpp: (node) => {
675
+ // void* pointers (unsafe), auto keyword (type-erased)
676
+ if (node.type === "pointer_declarator") {
677
+ const parent = node.parent;
678
+ if (parent && parent.text.includes("void"))
679
+ return true;
680
+ }
681
+ if (node.type === "auto" || (node.type === "primitive_type" && node.text === "auto"))
682
+ return true;
683
+ return false;
684
+ },
535
685
  };
536
686
  function detectWeakTypes(root, language) {
537
687
  const weakLines = [];
@@ -547,11 +697,14 @@ function detectWeakTypes(root, language) {
547
697
  }
548
698
  // ─── Import Extraction ──────────────────────────────────────────────────────
549
699
  const IMPORT_NODE_TYPES = {
700
+ typescript: ["import_statement"],
701
+ javascript: ["import_statement"],
550
702
  python: ["import_statement", "import_from_statement"],
551
703
  go: ["import_declaration"],
552
704
  rust: ["use_declaration"],
553
705
  java: ["import_declaration"],
554
706
  csharp: ["using_directive"],
707
+ cpp: ["preproc_include"],
555
708
  };
556
709
  function extractImports(root, language) {
557
710
  const imports = [];
@@ -560,6 +713,16 @@ function extractImports(root, language) {
560
713
  if (!importTypes.includes(node.type))
561
714
  return;
562
715
  switch (language) {
716
+ case "typescript":
717
+ case "javascript":
718
+ // import { foo } from "module"; import "module"; import * as x from "module"
719
+ {
720
+ const source = node.childForFieldName("source");
721
+ if (source) {
722
+ imports.push(source.text.replace(/['"]/g, ""));
723
+ }
724
+ }
725
+ break;
563
726
  case "python":
564
727
  if (node.type === "import_statement") {
565
728
  // import os, import os.path
@@ -621,17 +784,46 @@ function extractImports(root, language) {
621
784
  imports.push(nameNode.text);
622
785
  }
623
786
  break;
787
+ case "cpp":
788
+ // #include <header> or #include "header"
789
+ {
790
+ const pathNode = node.namedChildren.find((c) => c.type === "string_literal" || c.type === "system_lib_string");
791
+ if (pathNode) {
792
+ imports.push(pathNode.text.replace(/[<>"]/g, ""));
793
+ }
794
+ }
795
+ break;
624
796
  }
625
797
  });
798
+ // TypeScript/JavaScript: also detect require("module") calls
799
+ if (language === "typescript" || language === "javascript") {
800
+ walkTree(root, (node) => {
801
+ if (node.type !== "call_expression")
802
+ return;
803
+ const fn = node.childForFieldName("function");
804
+ if (!fn || fn.text !== "require")
805
+ return;
806
+ const args = node.childForFieldName("arguments");
807
+ if (!args)
808
+ return;
809
+ const firstArg = args.namedChildren[0];
810
+ if (firstArg && (firstArg.type === "string" || firstArg.type === "template_string")) {
811
+ imports.push(firstArg.text.replace(/['"]/g, ""));
812
+ }
813
+ });
814
+ }
626
815
  return imports;
627
816
  }
628
817
  // ─── Class Extraction ───────────────────────────────────────────────────────
629
818
  const CLASS_NODE_TYPES = {
819
+ typescript: ["class_declaration"],
820
+ javascript: ["class_declaration"],
630
821
  python: ["class_definition"],
631
822
  go: ["type_declaration"],
632
823
  rust: ["struct_item", "enum_item"],
633
824
  java: ["class_declaration", "interface_declaration", "enum_declaration"],
634
825
  csharp: ["class_declaration", "struct_declaration", "interface_declaration", "enum_declaration"],
826
+ cpp: ["class_specifier", "struct_specifier"],
635
827
  };
636
828
  function extractClasses(root, language) {
637
829
  const classes = [];
@@ -662,6 +854,18 @@ function extractClasses(root, language) {
662
854
  function extractDecorators(funcNode, language) {
663
855
  const decorators = [];
664
856
  switch (language) {
857
+ case "typescript": {
858
+ // TypeScript decorators are similar to Python
859
+ const parent = funcNode.parent;
860
+ if (parent) {
861
+ for (const child of parent.namedChildren) {
862
+ if (child.type === "decorator" && child.endPosition.row < funcNode.startPosition.row) {
863
+ decorators.push(child.text.replace(/^@/, "").split("(")[0]);
864
+ }
865
+ }
866
+ }
867
+ break;
868
+ }
665
869
  case "python": {
666
870
  // Decorators are siblings before the function_definition, but in the
667
871
  // tree-sitter grammar they're children of a decorated_definition parent.
@@ -707,6 +911,10 @@ function extractDecorators(funcNode, language) {
707
911
  // ─── Async Detection ────────────────────────────────────────────────────────
708
912
  function checkIsAsync(funcNode, language) {
709
913
  switch (language) {
914
+ case "typescript":
915
+ case "javascript":
916
+ // async keyword is a direct child of the function node
917
+ return funcNode.children.some((c) => c.type === "async");
710
918
  case "python":
711
919
  // In Python tree-sitter, async functions have type "function_definition"
712
920
  // but the parent is a "decorated_definition" or the text starts with "async"
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-ast.js","sourceRoot":"","sources":["../../src/ast/tree-sitter-ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-sitter-ast.js","sourceRoot":"","sources":["../../src/ast/tree-sitter-ast.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAChF,2EAA2E;AAC3E,4EAA4E;AAC5E,4DAA4D;AAC5D,EAAE;AACF,oEAAoE;AACpE,EAAE;AACF,yEAAyE;AACzE,8DAA8D;AAC9D,gFAAgF;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,+EAA+E;AAE/E,IAAI,WAAW,GAA4B,IAAI,CAAC;AAChD,IAAI,YAAY,GAA4B,IAAI,CAAC;AA2CjD,4BAA4B;AAC5B,MAAM,aAAa,GAA2B;IAC5C,UAAU,EAAE,6BAA6B;IACzC,UAAU,EAAE,6BAA6B,EAAE,iCAAiC;IAC5E,MAAM,EAAE,yBAAyB;IACjC,EAAE,EAAE,qBAAqB;IACzB,IAAI,EAAE,uBAAuB;IAC7B,IAAI,EAAE,uBAAuB;IAC7B,MAAM,EAAE,0BAA0B;IAClC,GAAG,EAAE,sBAAsB;CAC5B,CAAC;AAEF,4BAA4B;AAC5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;AAE5D,oDAAoD;AACpD,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,6CAA6C;AAC7C,uCAAuC;AACvC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAE5D,KAAK,UAAU,UAAU;IACvB,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAqB,CAAC;YAC3D,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,YAAY,GAAG,GAAG,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAY;IACrC,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAC7D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QAC3E,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY;IACtD,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;IACjC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,OAAO,KAAK,IAAI,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,YAAY,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,QAAgB;IACtE,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,aAAa,CAAC,CAAC;IAChF,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAY,EAAE,QAAgB;IACxE,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,gBAAgB,CAAC,CAAC;IACnF,OAAO,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,QAAgB,EAAE,OAA2B;IAClF,MAAM,MAAM,GAAG,IAAI,YAAa,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE/B,0CAA0C;IAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/C,6BAA6B;IAC7B,MAAM,wBAAwB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACpG,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1F,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,SAAS;QACT,wBAAwB;QACxB,eAAe;QACf,aAAa;QACb,aAAa;QACb,YAAY;QACZ,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KAClD,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,yEAAyE;AACzE,MAAM,mBAAmB,GAA6B;IACpD,UAAU,EAAE;QACV,sBAAsB;QACtB,mBAAmB;QACnB,gBAAgB;QAChB,qBAAqB;QACrB,gCAAgC;QAChC,oBAAoB;KACrB;IACD,UAAU,EAAE;QACV,sBAAsB;QACtB,mBAAmB;QACnB,gBAAgB;QAChB,qBAAqB;QACrB,gCAAgC;QAChC,oBAAoB;KACrB;IACD,MAAM,EAAE,CAAC,qBAAqB,CAAC;IAC/B,EAAE,EAAE,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;IAClD,IAAI,EAAE,CAAC,eAAe,CAAC;IACvB,IAAI,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;IACvD,MAAM,EAAE,CAAC,oBAAoB,EAAE,yBAAyB,EAAE,0BAA0B,CAAC;IACrF,GAAG,EAAE,CAAC,qBAAqB,CAAC;CAC7B,CAAC;AAEF,SAAS,gBAAgB,CAAC,IAAgB,EAAE,QAAgB;IAC1D,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEvD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,IAAI;gBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD,SAAS,kBAAkB,CAAC,IAAgB,EAAE,QAAgB;IAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAEhC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;oBACrC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC;iBAClC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAgB,EAAE,QAAgB,EAAE,WAAyB;IACxF,oBAAoB;IACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,IAAI,GAAG,QAAQ,EAAE,IAAI,IAAI,aAAa,CAAC;IAE3C,2CAA2C;IAC3C,0GAA0G;IAC1G,IAAI,QAAQ,KAAK,KAAK,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,kEAAkE;IAClE,IAAI,CAAC,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACtG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,SAAS;gBAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QACvC,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YACrF,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,GAAG;gBAAE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,QAAQ,EAAE,CAAC;YACb,oDAAoD;YACpD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC9D,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC;IACzC,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAElG,IAAI,eAAe,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACzC,IAAI,GAAG,GAAG,eAAe,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;IAC3C,CAAC;IAED,mBAAmB;IACnB,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEnD,gCAAgC;IAChC,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE/D,4BAA4B;IAC5B,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAExD,0CAA0C;IAC1C,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAErD,kBAAkB;IAClB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAiB;QACzB,IAAI;QACJ,SAAS;QACT,OAAO;QACP,SAAS,EAAE,OAAO,GAAG,SAAS,GAAG,CAAC;QAClC,cAAc,EAAE,UAAU;QAC1B,oBAAoB,EAAE,UAAU;QAChC,eAAe,EAAE,UAAU;KAC5B,CAAC;IAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACxD,IAAI,eAAe;QAAE,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC;IAC3D,IAAI,OAAO;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IAEjC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAE/E,SAAS,eAAe,CAAC,QAAoB,EAAE,QAAgB;IAC7D,IAAI,UAAU,GAAsB,IAAI,CAAC;IAEzC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CACzG,CAAC,MAAM,CAAC;QAEX,KAAK,QAAQ;YACX,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,wDAAwD;YACxD,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrF,6DAA6D;gBAC7D,IACE,CAAC,CAAC,IAAI,KAAK,YAAY;oBACvB,CAAC,CAAC,IAAI,KAAK,mBAAmB;oBAC9B,CAAC,CAAC,IAAI,KAAK,iBAAiB;oBAC5B,CAAC,CAAC,IAAI,KAAK,yBAAyB;oBACpC,CAAC,CAAC,IAAI,KAAK,oBAAoB;oBAC/B,CAAC,CAAC,IAAI,KAAK,0BAA0B,EACrC,CAAC;oBACD,8CAA8C;oBAC9C,IAAI,CAAC,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;wBACjC,MAAM,SAAS,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;wBACrC,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC;4BAAE,OAAO,KAAK,CAAC;oBACzF,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC,MAAM,CAAC;QAEZ,KAAK,IAAI;YACP,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,MAAM,CAAC;QAE3F,KAAK,MAAM;YACT,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,MAAM,CAAC;QAE9G,KAAK,MAAM;YACT,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC;iBAC1G,MAAM,CAAC;QAEZ,KAAK,QAAQ;YACX,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QAE/E,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,iGAAiG;YACjG,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU;gBAAE,OAAO,CAAC,CAAC;YAC1B,OAAO,UAAU,CAAC,aAAa,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,IAAI,CAAC,CAAC,IAAI,KAAK,gCAAgC,CACzF,CAAC,MAAM,CAAC;QACX,CAAC;QAED;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,qCAAqC;AAErC,MAAM,mBAAmB,GAAgC;IACvD,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,aAAa;QACb,cAAc;QACd,oBAAoB;KACrB,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,aAAa;QACb,cAAc;QACd,oBAAoB;KACrB,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC;QACd,cAAc;QACd,aAAa;QACb,eAAe;QACf,iBAAiB;QACjB,eAAe;QACf,wBAAwB;QACxB,eAAe;QACf,0DAA0D;QAC1D,kBAAkB;KACnB,CAAC;IACF,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACpH,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACtG,IAAI,EAAE,IAAI,GAAG,CAAC;QACZ,cAAc;QACd,eAAe;QACf,wBAAwB;QACxB,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,8BAA8B;QAC9B,oBAAoB;KACrB,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC;QACd,cAAc;QACd,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,wBAAwB;KACzB,CAAC;IACF,GAAG,EAAE,IAAI,GAAG,CAAC;QACX,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,wBAAwB;KACzB,CAAC;CACH,CAAC;AAEF,mDAAmD;AACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvD,SAAS,2BAA2B,CAAC,QAAoB,EAAE,QAAgB;IACzE,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,YAAY;IAChC,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAEjE,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1B,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,UAAU,EAAE,CAAC;QACf,CAAC;QACD,0DAA0D;QAC1D,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC/G,IAAI,EAAE;gBAAE,UAAU,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,+EAA+E;AAE/E,MAAM,kBAAkB,GAAgC;IACtD,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,qBAAqB;KACtB,CAAC;IACF,UAAU,EAAE,IAAI,GAAG,CAAC;QAClB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,qBAAqB;KACtB,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC;QACd,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,gBAAgB;QAChB,eAAe;QACf,eAAe;QACf,eAAe;QACf,qBAAqB;QACrB,kBAAkB;KACnB,CAAC;IACF,EAAE,EAAE,IAAI,GAAG,CAAC;QACV,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,uBAAuB;QACvB,6BAA6B;QAC7B,cAAc;KACf,CAAC;IACF,IAAI,EAAE,IAAI,GAAG,CAAC;QACZ,eAAe;QACf,gBAAgB;QAChB,kBAAkB;QAClB,iBAAiB;QACjB,kBAAkB;QAClB,oBAAoB;KACrB,CAAC;IACF,IAAI,EAAE,IAAI,GAAG,CAAC;QACZ,cAAc;QACd,eAAe;QACf,wBAAwB;QACxB,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,mBAAmB;KACpB,CAAC;IACF,MAAM,EAAE,IAAI,GAAG,CAAC;QACd,cAAc;QACd,eAAe;QACf,oBAAoB;QACpB,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;IACF,GAAG,EAAE,IAAI,GAAG,CAAC;QACX,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,mBAAmB;KACpB,CAAC;CACH,CAAC;AAEF,SAAS,iBAAiB,CAAC,IAAgB,EAAE,QAAgB,EAAE,YAAoB;IACjF,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAC/D,IAAI,QAAQ,GAAG,YAAY,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,UAAU,GAAG,YAAY,CAAC;QAC9B,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,UAAU,GAAG,YAAY,GAAG,CAAC,CAAC;YAC9B,IAAI,UAAU,GAAG,QAAQ;gBAAE,QAAQ,GAAG,UAAU,CAAC;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,MAAM,GAAG,QAAQ;YAAE,QAAQ,GAAG,MAAM,CAAC;IAC3C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,+EAA+E;AAE/E,6FAA6F;AAC7F,MAAM,cAAc,GAAgC;IAClD,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACrG,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACrG,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACjG,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IAC1E,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IAC/E,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IAC/F,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;IACjG,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;CAC/F,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,GAAgC;IAC/C,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1B,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IACxB,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1B,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC;CACrC,CAAC;AAEF,SAAS,cAAc,CAAC,IAAgB,EAAE,QAAgB;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAEtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,aAAa,GAAG,KAAK,CAAC;QAE1B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,aAAa,EAAE,CAAC;gBAClB,qDAAqD;gBACrD,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;oBACvF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,gEAAgE;YAChE,mDAAmD;YACnD,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,oDAAoD;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,aAAa,GAAG,IAAI,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,IAAgB,EAAE,QAAgB;IAC3D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAC/D,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,sBAAsB;IAE3C,SAAS,IAAI,CAAC,IAAgB,EAAE,KAAa;QAC3C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,UAAU,GAAG,SAAS,EAAE,CAAC;gBAC3B,4CAA4C;gBAC5C,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;oBACvF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACd,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,+EAA+E;AAE/E,MAAM,kBAAkB,GAAkD;IACxE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACnB,oCAAoC;QACpC,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,oCAAoC;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,6CAA6C;QAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACX,6BAA6B;QAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACnC,kBAAkB;YAClB,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACb,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,IAAI,CAAC;QAC9C,gEAAgE;QAChE,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9F,IAAI,IAAI,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACb,wBAAwB;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3E,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAChF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,kBAAkB;QAClB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;QACZ,sDAAsD;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1D,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAClG,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,IAAgB,EAAE,QAAgB;IACzD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAE/B,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,+EAA+E;AAE/E,MAAM,iBAAiB,GAA6B;IAClD,UAAU,EAAE,CAAC,kBAAkB,CAAC;IAChC,UAAU,EAAE,CAAC,kBAAkB,CAAC;IAChC,MAAM,EAAE,CAAC,kBAAkB,EAAE,uBAAuB,CAAC;IACrD,EAAE,EAAE,CAAC,oBAAoB,CAAC;IAC1B,IAAI,EAAE,CAAC,iBAAiB,CAAC;IACzB,IAAI,EAAE,CAAC,oBAAoB,CAAC;IAC5B,MAAM,EAAE,CAAC,iBAAiB,CAAC;IAC3B,GAAG,EAAE,CAAC,iBAAiB,CAAC;CACzB,CAAC;AAEF,SAAS,cAAc,CAAC,IAAgB,EAAE,QAAgB;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAE7C,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,YAAY,CAAC;YAClB,KAAK,YAAY;gBACf,6EAA6E;gBAC7E,CAAC;oBACC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAChD,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBACrC,4BAA4B;oBAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvC,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;4BACpE,MAAM,IAAI,GACR,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;4BACrG,IAAI,IAAI;gCAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;oBACjD,0BAA0B;oBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBACzD,IAAI,UAAU;wBAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM;YAER,KAAK,IAAI;gBACP,8CAA8C;gBAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,4BAA4B,EAAE,CAAC;wBAChF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBAC1C,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;4BAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,MAAM;gBACT,uCAAuC;gBACvC,CAAC;oBACC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,mBAAmB;wBAC9B,CAAC,CAAC,IAAI,KAAK,YAAY;wBACvB,CAAC,CAAC,IAAI,KAAK,cAAc;wBACzB,CAAC,CAAC,IAAI,KAAK,UAAU;wBACrB,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAC/B,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,qCAAqC;wBACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3C,IAAI,UAAU;4BAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,0BAA0B;gBAC1B,CAAC;oBACC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;oBAC3G,IAAI,QAAQ;wBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,mBAAmB;gBACnB,CAAC;oBACC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;oBACxG,IAAI,QAAQ;wBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YAER,KAAK,KAAK;gBACR,yCAAyC;gBACzC,CAAC;oBACC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,CACrE,CAAC;oBACF,IAAI,QAAQ,EAAE,CAAC;wBACb,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACH,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC3D,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB;gBAAE,OAAO;YAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAAE,CAAC;gBACpF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,MAAM,gBAAgB,GAA6B;IACjD,UAAU,EAAE,CAAC,mBAAmB,CAAC;IACjC,UAAU,EAAE,CAAC,mBAAmB,CAAC;IACjC,MAAM,EAAE,CAAC,kBAAkB,CAAC;IAC5B,EAAE,EAAE,CAAC,kBAAkB,CAAC;IACxB,IAAI,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;IAClC,IAAI,EAAE,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;IACxE,MAAM,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC;IAChG,GAAG,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;CAC7C,CAAC;AAEF,SAAS,cAAc,CAAC,IAAgB,EAAE,QAAgB;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEpD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QAE5C,IAAI,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAC1D,oDAAoD;YACpD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YACpE,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAChD,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;oBAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBAChD,IAAI,QAAQ;wBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,+EAA+E;AAE/E,SAAS,iBAAiB,CAAC,QAAoB,EAAE,QAAgB;IAC/D,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,8CAA8C;YAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;wBACrF,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,qEAAqE;YACrE,yEAAyE;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACrD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC/B,yCAAyC;wBACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACxD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,8CAA8C;YAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YACpG,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;oBAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBACtE,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,oCAAoC;YACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;wBAC1F,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,+EAA+E;AAE/E,SAAS,YAAY,CAAC,QAAoB,EAAE,QAAgB;IAC1D,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YACf,uDAAuD;YACvD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QAE3D,KAAK,QAAQ;YACX,yEAAyE;YACzE,6EAA6E;YAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAExD,KAAK,MAAM;YACT,WAAW;YACX,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAExD,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,sCAAsC;YACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,SAAS,QAAQ,CAAC,IAAgB,EAAE,QAAoC;IACtE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,IAAgB,EAAE,IAAY;IACrD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -2,9 +2,9 @@ import type { Finding } from "../types.js";
2
2
  /**
3
3
  * AST / Structure-based evaluator.
4
4
  *
5
- * Unlike the regex-based evaluators this judge uses real AST parsing for
6
- * JS/TS (via the TypeScript compiler API) and a scope-tracking structural
7
- * parser for Python, Rust, Go, Java, and C#.
5
+ * Unlike the regex-based evaluators this judge uses real AST parsing via
6
+ * tree-sitter WASM grammars for TypeScript, JavaScript, Python, Rust, Go,
7
+ * Java, C#, and C++, with a scope-tracking structural parser as fallback.
8
8
  *
9
9
  * Rules produced:
10
10
  * STRUCT-001 High cyclomatic complexity (>10 per function)
@@ -2,9 +2,9 @@ import { analyzeStructure } from "../ast/index.js";
2
2
  /**
3
3
  * AST / Structure-based evaluator.
4
4
  *
5
- * Unlike the regex-based evaluators this judge uses real AST parsing for
6
- * JS/TS (via the TypeScript compiler API) and a scope-tracking structural
7
- * parser for Python, Rust, Go, Java, and C#.
5
+ * Unlike the regex-based evaluators this judge uses real AST parsing via
6
+ * tree-sitter WASM grammars for TypeScript, JavaScript, Python, Rust, Go,
7
+ * Java, C#, and C++, with a scope-tracking structural parser as fallback.
8
8
  *
9
9
  * Rules produced:
10
10
  * STRUCT-001 High cyclomatic complexity (>10 per function)
package/dist/index.js CHANGED
@@ -34,7 +34,7 @@ else {
34
34
  const { registerPrompts } = await import("./tools/prompts.js");
35
35
  const server = new McpServer({
36
36
  name: "judges",
37
- version: "3.2.0",
37
+ version: "3.3.0",
38
38
  });
39
39
  registerTools(server);
40
40
  registerPrompts(server);
@@ -1 +1 @@
1
- {"version":3,"file":"language-patterns.d.ts","sourceRoot":"","sources":["../src/language-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-patterns.d.ts","sourceRoot":"","sources":["../src/language-patterns.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,13 @@ const LANG_ALIAS_MAP = {
24
24
  java: "java",
25
25
  go: "go",
26
26
  golang: "go",
27
+ cpp: "cpp",
28
+ "c++": "cpp",
29
+ cc: "cpp",
30
+ cxx: "cpp",
31
+ c: "cpp",
32
+ h: "cpp",
33
+ hpp: "cpp",
27
34
  };
28
35
  /**
29
36
  * Normalise a user-supplied language string to a canonical LangFamily.
@@ -350,6 +357,7 @@ export const MANIFEST_FILES = {
350
357
  csharp: ["*.csproj", "packages.config", "Directory.Packages.props"],
351
358
  java: ["pom.xml", "build.gradle", "build.gradle.kts"],
352
359
  go: ["go.mod"],
360
+ cpp: ["CMakeLists.txt", "Makefile", "conanfile.txt", "vcpkg.json"],
353
361
  unknown: [],
354
362
  };
355
363
  // ── Input Validation ─────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"language-patterns.js","sourceRoot":"","sources":["../src/language-patterns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-patterns.js","sourceRoot":"","sources":["../src/language-patterns.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -64,7 +64,7 @@ export interface Patch {
64
64
  /**
65
65
  * Supported language families for multi-language analysis.
66
66
  */
67
- export type LangFamily = "javascript" | "typescript" | "python" | "rust" | "csharp" | "java" | "go" | "unknown";
67
+ export type LangFamily = "javascript" | "typescript" | "python" | "rust" | "csharp" | "java" | "go" | "cpp" | "unknown";
68
68
  /**
69
69
  * Per-rule configuration override.
70
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kevinrabun/judges",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "35 specialized judges that evaluate AI-generated code for security, cost, and quality.",
5
5
  "mcpName": "io.github.KevinRabun/judges",
6
6
  "type": "module",
@@ -98,10 +98,12 @@
98
98
  "prettier": "^3.8.1",
99
99
  "tree-sitter-c-sharp": "^0.23.1",
100
100
  "tree-sitter-cli": "^0.25.5",
101
+ "tree-sitter-cpp": "^0.23.4",
101
102
  "tree-sitter-go": "^0.23.4",
102
103
  "tree-sitter-java": "^0.23.5",
103
104
  "tree-sitter-python": "^0.23.6",
104
105
  "tree-sitter-rust": "^0.23.2",
106
+ "tree-sitter-typescript": "^0.23.2",
105
107
  "tsx": "^4.19.4"
106
108
  },
107
109
  "overrides": {
package/server.json CHANGED
@@ -7,12 +7,12 @@
7
7
  "url": "https://github.com/kevinrabun/judges",
8
8
  "source": "github"
9
9
  },
10
- "version": "3.2.0",
10
+ "version": "3.3.0",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@kevinrabun/judges",
15
- "version": "3.2.0",
15
+ "version": "3.3.0",
16
16
  "transport": {
17
17
  "type": "stdio"
18
18
  }
@@ -1,7 +0,0 @@
1
- import type { CodeStructure } from "./types.js";
2
- /**
3
- * Parse JS/TS source code using the TypeScript compiler and extract
4
- * structural metrics.
5
- */
6
- export declare function analyzeTypeScript(code: string, language: "javascript" | "typescript"): CodeStructure;
7
- //# sourceMappingURL=typescript-ast.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-ast.d.ts","sourceRoot":"","sources":["../../src/ast/typescript-ast.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,YAAY,CAAC;AAI9D;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,YAAY,GAAG,aAAa,CA0DpG"}
@@ -1,236 +0,0 @@
1
- // ─────────────────────────────────────────────────────────────────────────────
2
- // TypeScript / JavaScript AST Analysis
3
- // ─────────────────────────────────────────────────────────────────────────────
4
- // Uses the TypeScript compiler API to parse JS/TS source into a real AST and
5
- // extract structural metrics: cyclomatic complexity, nesting depth, function
6
- // length, dead code, parameter count, type-safety issues, and more.
7
- // ─────────────────────────────────────────────────────────────────────────────
8
- import ts from "typescript";
9
- // ─── Public API ──────────────────────────────────────────────────────────────
10
- /**
11
- * Parse JS/TS source code using the TypeScript compiler and extract
12
- * structural metrics.
13
- */
14
- export function analyzeTypeScript(code, language) {
15
- const scriptKind = language === "typescript" ? ts.ScriptKind.TS : ts.ScriptKind.JS;
16
- const sourceFile = ts.createSourceFile("input." + (language === "typescript" ? "ts" : "js"), code, ts.ScriptTarget.Latest,
17
- /* setParentNodes */ true, scriptKind);
18
- const functions = [];
19
- const deadCodeLines = [];
20
- const deepNestLines = [];
21
- const typeAnyLines = [];
22
- const imports = [];
23
- const totalLines = code.split("\n").length;
24
- // Extract imports (import declarations + require() calls)
25
- ts.forEachChild(sourceFile, (node) => {
26
- if (ts.isImportDeclaration(node) && ts.isStringLiteral(node.moduleSpecifier)) {
27
- imports.push(node.moduleSpecifier.text);
28
- }
29
- // Handle const x = require("module")
30
- if (ts.isVariableStatement(node)) {
31
- for (const decl of node.declarationList.declarations) {
32
- if (decl.initializer &&
33
- ts.isCallExpression(decl.initializer) &&
34
- ts.isIdentifier(decl.initializer.expression) &&
35
- decl.initializer.expression.text === "require" &&
36
- decl.initializer.arguments.length === 1 &&
37
- ts.isStringLiteral(decl.initializer.arguments[0])) {
38
- imports.push(decl.initializer.arguments[0].text);
39
- }
40
- }
41
- }
42
- });
43
- // Walk the AST
44
- visitNode(sourceFile, 0, sourceFile, functions, deadCodeLines, deepNestLines, typeAnyLines);
45
- // Compute file-level cyclomatic complexity
46
- const fileCyclomaticComplexity = functions.reduce((sum, f) => sum + f.cyclomaticComplexity, 0) || 1;
47
- const maxNestingDepth = functions.reduce((max, f) => Math.max(max, f.maxNestingDepth), 0);
48
- return {
49
- language,
50
- totalLines,
51
- functions,
52
- fileCyclomaticComplexity,
53
- maxNestingDepth,
54
- deadCodeLines,
55
- deepNestLines,
56
- typeAnyLines,
57
- imports,
58
- };
59
- }
60
- // ─── AST Walker ──────────────────────────────────────────────────────────────
61
- function visitNode(node, depth, sourceFile, functions, deadCodeLines, deepNestLines, typeAnyLines) {
62
- // Track deep nesting (depth > 4 for block-level nodes)
63
- if (isBlockLike(node) && depth > 4) {
64
- const line = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1;
65
- deepNestLines.push(line);
66
- }
67
- // Detect function-like declarations
68
- if (isFunctionLike(node)) {
69
- const info = analyzeFunctionNode(node, sourceFile);
70
- functions.push(info);
71
- }
72
- // Detect dead code: statements after return/throw/break/continue in a block
73
- if (ts.isBlock(node)) {
74
- const stmts = node.statements;
75
- let unreachable = false;
76
- for (const stmt of stmts) {
77
- if (unreachable) {
78
- const line = sourceFile.getLineAndCharacterOfPosition(stmt.getStart()).line + 1;
79
- deadCodeLines.push(line);
80
- }
81
- if (ts.isReturnStatement(stmt) ||
82
- ts.isThrowStatement(stmt) ||
83
- ts.isBreakStatement(stmt) ||
84
- ts.isContinueStatement(stmt)) {
85
- unreachable = true;
86
- }
87
- }
88
- }
89
- // Detect 'any' type annotations
90
- if (ts.isTypeReferenceNode(node)) {
91
- const typeName = node.getText(sourceFile);
92
- if (typeName === "any") {
93
- const line = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1;
94
- typeAnyLines.push(line);
95
- }
96
- }
97
- if (node.kind === ts.SyntaxKind.AnyKeyword) {
98
- const line = sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1;
99
- typeAnyLines.push(line);
100
- }
101
- // Recurse into children
102
- const childDepth = isBlockLike(node) ? depth + 1 : depth;
103
- ts.forEachChild(node, (child) => visitNode(child, childDepth, sourceFile, functions, deadCodeLines, deepNestLines, typeAnyLines));
104
- }
105
- // ─── Function Analysis ───────────────────────────────────────────────────────
106
- function analyzeFunctionNode(node, sourceFile) {
107
- const startPos = sourceFile.getLineAndCharacterOfPosition(node.getStart());
108
- const endPos = sourceFile.getLineAndCharacterOfPosition(node.getEnd());
109
- const startLine = startPos.line + 1;
110
- const endLine = endPos.line + 1;
111
- const lineCount = endLine - startLine + 1;
112
- const name = getFunctionName(node) || "<anonymous>";
113
- const paramCount = getFunctionParameterCount(node);
114
- const complexity = computeCyclomaticComplexity(node);
115
- const maxNesting = computeMaxNesting(node, 0);
116
- return {
117
- name,
118
- startLine,
119
- endLine,
120
- lineCount,
121
- parameterCount: paramCount,
122
- cyclomaticComplexity: complexity,
123
- maxNestingDepth: maxNesting,
124
- };
125
- }
126
- function getFunctionName(node) {
127
- if (ts.isFunctionDeclaration(node) || ts.isMethodDeclaration(node)) {
128
- return node.name?.getText();
129
- }
130
- if (ts.isVariableDeclaration(node.parent) && ts.isIdentifier(node.parent.name)) {
131
- return node.parent.name.text;
132
- }
133
- if (ts.isPropertyAssignment(node.parent) && ts.isIdentifier(node.parent.name)) {
134
- return node.parent.name.text;
135
- }
136
- if (ts.isArrowFunction(node) && ts.isVariableDeclaration(node.parent)) {
137
- const decl = node.parent;
138
- if (ts.isIdentifier(decl.name))
139
- return decl.name.text;
140
- }
141
- return undefined;
142
- }
143
- function getFunctionParameterCount(node) {
144
- if (ts.isFunctionDeclaration(node) ||
145
- ts.isFunctionExpression(node) ||
146
- ts.isArrowFunction(node) ||
147
- ts.isMethodDeclaration(node) ||
148
- ts.isConstructorDeclaration(node)) {
149
- return node.parameters.length;
150
- }
151
- return 0;
152
- }
153
- // ─── Cyclomatic Complexity ───────────────────────────────────────────────────
154
- // CC = 1 + number of decision points (if, for, while, case, &&, ||, ?:, catch)
155
- function computeCyclomaticComplexity(node) {
156
- let complexity = 1; // base path
157
- function walk(n) {
158
- switch (n.kind) {
159
- case ts.SyntaxKind.IfStatement:
160
- case ts.SyntaxKind.ForStatement:
161
- case ts.SyntaxKind.ForInStatement:
162
- case ts.SyntaxKind.ForOfStatement:
163
- case ts.SyntaxKind.WhileStatement:
164
- case ts.SyntaxKind.DoStatement:
165
- case ts.SyntaxKind.CaseClause:
166
- case ts.SyntaxKind.CatchClause:
167
- case ts.SyntaxKind.ConditionalExpression: // ternary ?:
168
- complexity++;
169
- break;
170
- case ts.SyntaxKind.BinaryExpression: {
171
- const binOp = n.operatorToken.kind;
172
- if (binOp === ts.SyntaxKind.AmpersandAmpersandToken || binOp === ts.SyntaxKind.BarBarToken) {
173
- complexity++;
174
- }
175
- // Note: ?? (QuestionQuestionToken) is intentionally excluded —
176
- // it's a null-safe default, not genuine branching logic.
177
- break;
178
- }
179
- }
180
- ts.forEachChild(n, walk);
181
- }
182
- ts.forEachChild(node, walk);
183
- return complexity;
184
- }
185
- // ─── Nesting Depth ───────────────────────────────────────────────────────────
186
- function computeMaxNesting(node, currentDepth) {
187
- let maxDepth = currentDepth;
188
- function walk(n, depth) {
189
- let newDepth = depth;
190
- if (isNestingNode(n)) {
191
- newDepth = depth + 1;
192
- if (newDepth > maxDepth)
193
- maxDepth = newDepth;
194
- }
195
- ts.forEachChild(n, (child) => walk(child, newDepth));
196
- }
197
- ts.forEachChild(node, (child) => walk(child, currentDepth));
198
- return maxDepth;
199
- }
200
- function isNestingNode(node) {
201
- switch (node.kind) {
202
- case ts.SyntaxKind.IfStatement:
203
- case ts.SyntaxKind.ForStatement:
204
- case ts.SyntaxKind.ForInStatement:
205
- case ts.SyntaxKind.ForOfStatement:
206
- case ts.SyntaxKind.WhileStatement:
207
- case ts.SyntaxKind.DoStatement:
208
- case ts.SyntaxKind.SwitchStatement:
209
- case ts.SyntaxKind.TryStatement:
210
- case ts.SyntaxKind.ArrowFunction:
211
- case ts.SyntaxKind.FunctionExpression:
212
- return true;
213
- default:
214
- return false;
215
- }
216
- }
217
- // ─── Helpers ─────────────────────────────────────────────────────────────────
218
- function isFunctionLike(node) {
219
- return (ts.isFunctionDeclaration(node) ||
220
- ts.isFunctionExpression(node) ||
221
- ts.isArrowFunction(node) ||
222
- ts.isMethodDeclaration(node) ||
223
- ts.isConstructorDeclaration(node));
224
- }
225
- function isBlockLike(node) {
226
- return (ts.isBlock(node) ||
227
- ts.isIfStatement(node) ||
228
- ts.isForStatement(node) ||
229
- ts.isForInStatement(node) ||
230
- ts.isForOfStatement(node) ||
231
- ts.isWhileStatement(node) ||
232
- ts.isDoStatement(node) ||
233
- ts.isSwitchStatement(node) ||
234
- ts.isTryStatement(node));
235
- }
236
- //# sourceMappingURL=typescript-ast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-ast.js","sourceRoot":"","sources":["../../src/ast/typescript-ast.ts"],"names":[],"mappings":"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"}