mstro-app 0.4.4 → 0.4.11

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.
Files changed (80) hide show
  1. package/dist/server/server-setup.js +1 -1
  2. package/dist/server/server-setup.js.map +1 -1
  3. package/dist/server/services/auth.d.ts.map +1 -1
  4. package/dist/server/services/auth.js +4 -2
  5. package/dist/server/services/auth.js.map +1 -1
  6. package/dist/server/services/instances.js +1 -1
  7. package/dist/server/services/instances.js.map +1 -1
  8. package/dist/server/services/plan/config-installer.d.ts +5 -14
  9. package/dist/server/services/plan/config-installer.d.ts.map +1 -1
  10. package/dist/server/services/plan/config-installer.js +14 -72
  11. package/dist/server/services/plan/config-installer.js.map +1 -1
  12. package/dist/server/services/plan/executor.d.ts +15 -8
  13. package/dist/server/services/plan/executor.d.ts.map +1 -1
  14. package/dist/server/services/plan/executor.js +95 -59
  15. package/dist/server/services/plan/executor.js.map +1 -1
  16. package/dist/server/services/plan/issue-prompt-builder.d.ts +17 -0
  17. package/dist/server/services/plan/issue-prompt-builder.d.ts.map +1 -0
  18. package/dist/server/services/plan/issue-prompt-builder.js +73 -0
  19. package/dist/server/services/plan/issue-prompt-builder.js.map +1 -0
  20. package/dist/server/services/plan/parser-core.d.ts.map +1 -1
  21. package/dist/server/services/plan/parser-core.js +9 -0
  22. package/dist/server/services/plan/parser-core.js.map +1 -1
  23. package/dist/server/services/plan/types.d.ts +2 -0
  24. package/dist/server/services/plan/types.d.ts.map +1 -1
  25. package/dist/server/services/platform.d.ts +1 -0
  26. package/dist/server/services/platform.d.ts.map +1 -1
  27. package/dist/server/services/platform.js +3 -7
  28. package/dist/server/services/platform.js.map +1 -1
  29. package/dist/server/services/websocket/file-explorer-handlers.d.ts.map +1 -1
  30. package/dist/server/services/websocket/file-explorer-handlers.js +5 -4
  31. package/dist/server/services/websocket/file-explorer-handlers.js.map +1 -1
  32. package/dist/server/services/websocket/git-handlers.js +2 -2
  33. package/dist/server/services/websocket/git-handlers.js.map +1 -1
  34. package/dist/server/services/websocket/git-pr-handlers.d.ts +1 -1
  35. package/dist/server/services/websocket/git-pr-handlers.d.ts.map +1 -1
  36. package/dist/server/services/websocket/git-pr-handlers.js +2 -2
  37. package/dist/server/services/websocket/git-pr-handlers.js.map +1 -1
  38. package/dist/server/services/websocket/handler.d.ts.map +1 -1
  39. package/dist/server/services/websocket/handler.js +12 -0
  40. package/dist/server/services/websocket/handler.js.map +1 -1
  41. package/dist/server/services/websocket/quality-complexity.d.ts.map +1 -1
  42. package/dist/server/services/websocket/quality-complexity.js +5 -7
  43. package/dist/server/services/websocket/quality-complexity.js.map +1 -1
  44. package/dist/server/services/websocket/quality-linting.d.ts +1 -1
  45. package/dist/server/services/websocket/quality-linting.d.ts.map +1 -1
  46. package/dist/server/services/websocket/quality-linting.js +16 -11
  47. package/dist/server/services/websocket/quality-linting.js.map +1 -1
  48. package/dist/server/services/websocket/quality-review-agent.d.ts +14 -3
  49. package/dist/server/services/websocket/quality-review-agent.d.ts.map +1 -1
  50. package/dist/server/services/websocket/quality-review-agent.js +87 -23
  51. package/dist/server/services/websocket/quality-review-agent.js.map +1 -1
  52. package/dist/server/services/websocket/quality-service.d.ts.map +1 -1
  53. package/dist/server/services/websocket/quality-service.js +62 -39
  54. package/dist/server/services/websocket/quality-service.js.map +1 -1
  55. package/dist/server/services/websocket/quality-types.d.ts +2 -0
  56. package/dist/server/services/websocket/quality-types.d.ts.map +1 -1
  57. package/dist/server/services/websocket/quality-types.js.map +1 -1
  58. package/dist/server/services/websocket/session-handlers.d.ts.map +1 -1
  59. package/dist/server/services/websocket/session-handlers.js +3 -0
  60. package/dist/server/services/websocket/session-handlers.js.map +1 -1
  61. package/package.json +1 -1
  62. package/server/server-setup.ts +1 -1
  63. package/server/services/auth.ts +3 -2
  64. package/server/services/instances.ts +1 -1
  65. package/server/services/plan/config-installer.ts +13 -72
  66. package/server/services/plan/executor.ts +105 -61
  67. package/server/services/plan/issue-prompt-builder.ts +92 -0
  68. package/server/services/plan/parser-core.ts +8 -0
  69. package/server/services/plan/types.ts +2 -0
  70. package/server/services/platform.ts +3 -8
  71. package/server/services/websocket/file-explorer-handlers.ts +7 -3
  72. package/server/services/websocket/git-handlers.ts +3 -3
  73. package/server/services/websocket/git-pr-handlers.ts +3 -3
  74. package/server/services/websocket/handler.ts +12 -0
  75. package/server/services/websocket/quality-complexity.ts +5 -7
  76. package/server/services/websocket/quality-linting.ts +17 -10
  77. package/server/services/websocket/quality-review-agent.ts +95 -23
  78. package/server/services/websocket/quality-service.ts +70 -39
  79. package/server/services/websocket/quality-types.ts +2 -0
  80. package/server/services/websocket/session-handlers.ts +3 -0
@@ -1,7 +1,6 @@
1
1
  // Copyright (c) 2025-present Mstro, Inc. All rights reserved.
2
2
  // Licensed under the MIT License. See LICENSE file for details.
3
- import { existsSync } from 'node:fs';
4
- import { join, relative } from 'node:path';
3
+ import { relative } from 'node:path';
5
4
  import { runCommand } from './quality-tools.js';
6
5
  import { biomeDiagToFinding, isBiomeComplexityDiagnostic, isEslintComplexityRule } from './quality-types.js';
7
6
  function newLintAccumulator() {
@@ -47,7 +46,7 @@ function processEslintMessage(msg, filePath, dirPath, acc) {
47
46
  acc.warnings++;
48
47
  acc.findings.push({
49
48
  severity: msg.severity === 2 ? 'high' : 'medium',
50
- category: 'linting',
49
+ category: 'lint',
51
50
  file: relative(dirPath, filePath),
52
51
  line: msg.line ?? null,
53
52
  title: msg.ruleId || 'Lint issue',
@@ -70,12 +69,17 @@ async function lintWithEslint(dirPath, acc) {
70
69
  acc.warnings += (result.stderr.match(/warning/gi) || []).length;
71
70
  }
72
71
  }
73
- async function lintNode(dirPath, acc) {
74
- const biomeConfig = existsSync(join(dirPath, 'biome.json')) || existsSync(join(dirPath, 'biome.jsonc'));
75
- if (biomeConfig) {
72
+ async function lintNode(dirPath, acc, installed) {
73
+ // Use installed tools list to decide which linter to run, not config file presence.
74
+ // This fixes monorepo scenarios where the config is in a subdirectory.
75
+ const hasBiome = !installed || installed.has('biome');
76
+ const hasEslint = !installed || installed.has('eslint');
77
+ if (hasBiome) {
76
78
  await lintWithBiome(dirPath, acc);
79
+ if (acc.ran)
80
+ return;
77
81
  }
78
- else {
82
+ if (hasEslint) {
79
83
  await lintWithEslint(dirPath, acc);
80
84
  }
81
85
  }
@@ -94,7 +98,7 @@ async function lintPython(dirPath, acc) {
94
98
  acc.warnings++;
95
99
  acc.findings.push({
96
100
  severity: sev,
97
- category: 'linting',
101
+ category: 'lint',
98
102
  file: item.filename ? relative(dirPath, item.filename) : '',
99
103
  line: item.location?.row ?? null,
100
104
  title: item.code || 'Lint issue',
@@ -118,7 +122,7 @@ function processClippyMessage(msg, acc) {
118
122
  const code = message.code;
119
123
  acc.findings.push({
120
124
  severity: level === 'error' ? 'high' : 'medium',
121
- category: 'linting',
125
+ category: 'lint',
122
126
  file: span?.file_name || '',
123
127
  line: span?.line_start ?? null,
124
128
  title: code?.code || 'Clippy',
@@ -155,10 +159,11 @@ function computeLintScore(totalErrors, totalWarnings, totalLines) {
155
159
  score = Math.max(0, 15 - (penaltyPerKloc - 50) * 0.3);
156
160
  return Math.round(Math.max(0, Math.min(100, score)));
157
161
  }
158
- export async function analyzeLinting(dirPath, ecosystems, files) {
162
+ export async function analyzeLinting(dirPath, ecosystems, files, installedToolNames) {
159
163
  const acc = newLintAccumulator();
164
+ const installed = installedToolNames ? new Set(installedToolNames) : null;
160
165
  if (ecosystems.includes('node'))
161
- await lintNode(dirPath, acc);
166
+ await lintNode(dirPath, acc, installed);
162
167
  if (ecosystems.includes('python'))
163
168
  await lintPython(dirPath, acc);
164
169
  if (ecosystems.includes('rust'))
@@ -1 +1 @@
1
- {"version":3,"file":"quality-linting.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-linting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-linting.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-linting.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,21 @@ export interface CodeReviewFinding {
10
10
  description: string;
11
11
  suggestion?: string;
12
12
  }
13
- export declare function buildCodeReviewPrompt(dirPath: string): string;
14
- export declare function parseCodeReviewResponse(response: string): {
13
+ export declare function buildCodeReviewPrompt(dirPath: string, cliFindings?: Array<{
14
+ severity: string;
15
+ category: string;
16
+ file: string;
17
+ line: number | null;
18
+ title: string;
19
+ description: string;
20
+ }>): string;
21
+ export interface CodeReviewResult {
15
22
  findings: CodeReviewFinding[];
16
23
  summary: string;
17
- };
24
+ score: number | null;
25
+ grade: string | null;
26
+ scoreRationale: string | null;
27
+ }
28
+ export declare function parseCodeReviewResponse(response: string): CodeReviewResult;
18
29
  export declare function handleCodeReview(ctx: HandlerContext, ws: WSContext, reportPath: string, dirPath: string, workingDir: string, activeReviews: Set<string>, getPersistence: (dir: string) => QualityPersistence): Promise<void>;
19
30
  //# sourceMappingURL=quality-review-agent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-agent.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA2C7D;AAiCD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAY5G;AAuCD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC,CA+Ef"}
1
+ {"version":3,"file":"quality-review-agent.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAID,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAgFjM;AAiCD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAe1E;AAuCD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAClD,OAAO,CAAC,IAAI,CAAC,CAuGf"}
@@ -9,28 +9,61 @@ import { runWithFileLogger } from '../../cli/headless/headless-logger.js';
9
9
  import { HeadlessRunner } from '../../cli/headless/index.js';
10
10
  import { recomputeWithAiReview } from './quality-service.js';
11
11
  // ── Prompt ────────────────────────────────────────────────────
12
- export function buildCodeReviewPrompt(dirPath) {
13
- return `You are an expert code review agent. Your task is to perform a comprehensive, language-agnostic code review of the project in the current working directory.
14
-
15
- IMPORTANT: Your current working directory is "${dirPath}". Only review files within this directory. Do NOT traverse parent directories or review files outside this path.
12
+ export function buildCodeReviewPrompt(dirPath, cliFindings) {
13
+ const cliFindingsSection = cliFindings && cliFindings.length > 0
14
+ ? `\n## CLI Tool Findings (already detected)\n\nThe following issues were found by automated CLI tools (linters, formatters, complexity analyzers). Review these for context — they are already included in the final report. Focus your analysis on DEEPER issues these tools cannot detect.\n\n${cliFindings.slice(0, 50).map((f, i) => `${i + 1}. [${f.severity.toUpperCase()}] ${f.category} — ${f.file}${f.line ? `:${f.line}` : ''} — ${f.title}: ${f.description}`).join('\n')}\n${cliFindings.length > 50 ? `\n...and ${cliFindings.length - 50} more issues from CLI tools.\n` : ''}`
15
+ : '';
16
+ return `You are a senior staff engineer performing a rigorous, honest code review. Your job is to surface the most impactful quality bottlenecks — the issues a principal engineer would flag in a code review. Be critical and objective. Do NOT inflate scores.
16
17
 
18
+ IMPORTANT: Your current working directory is "${dirPath}". Only review files within this directory.
19
+ ${cliFindingsSection}
17
20
  ## Review Process
18
21
 
19
- 1. **Discover**: Use Glob to find source files (e.g. "**/*.{ts,tsx,js,py,rs,go,java,rb,php}"). Understand the project structure. Only search within the current directory.
22
+ 1. **Discover**: Use Glob to find source files (e.g. "**/*.{ts,tsx,js,py,rs,go,java,rb,php}"). Understand the project structure.
20
23
  2. **Read**: Read the most important files — entry points, core modules, handlers, services. Prioritize files with recent git changes (\`git diff --name-only HEAD~5\` via Bash if available).
21
- 3. **Analyze**: Look for real, actionable issues across these categories:
22
- - **security**: Injection vulnerabilities (SQL, XSS, command), hardcoded secrets/credentials, auth bypasses, insecure crypto, path traversal, SSRF, unsafe deserialization
23
- - **bugs**: Null/undefined errors, race conditions, logic errors, unhandled edge cases, off-by-one errors, resource leaks, incorrect error handling
24
- - **performance**: N+1 queries, unnecessary re-renders, missing memoization, blocking I/O in hot paths, unbounded data structures, missing pagination
25
- - **maintainability**: God functions (>100 lines), deep nesting (>4 levels), duplicated logic, missing error handling at system boundaries, tight coupling
24
+ 3. **Analyze**: Look for real, actionable issues across ALL of these categories:
25
+
26
+ ### Architecture
27
+ - What is the current architecture (monolith, microservices, layered, etc.)?
28
+ - Are there architectural violations? (e.g., presentation layer directly accessing data layer, circular dependencies between modules)
29
+ - Is there proper separation of concerns?
30
+ - Are there god objects or god modules that do too much?
31
+
32
+ ### SOLID / OOP Principles
33
+ - **SRP**: Classes/modules with multiple unrelated responsibilities
34
+ - **OCP**: Code that requires modification instead of extension for new features
35
+ - **LSP**: Subtypes that don't properly substitute for their base types
36
+ - **ISP**: Interfaces/contracts that force implementations to depend on methods they don't use
37
+ - **DIP**: High-level modules directly depending on low-level modules instead of abstractions
38
+
39
+ ### Security
40
+ - Injection vulnerabilities (SQL, XSS, command), hardcoded secrets/credentials, auth bypasses, insecure crypto, path traversal, SSRF, unsafe deserialization
41
+
42
+ ### Bugs & Logic
43
+ - Null/undefined errors, race conditions, logic errors, unhandled edge cases, off-by-one errors, resource leaks, incorrect error handling, incorrect algorithms
44
+
45
+ ### Performance
46
+ - N+1 queries, unnecessary re-renders, missing memoization, blocking I/O in hot paths, unbounded data structures, missing pagination
26
47
 
27
48
  ## Rules
28
49
 
29
50
  - Only report findings you are >80% confident about. No speculative or low-confidence issues.
30
- - Focus on bugs and security over style. Skip formatting, naming preferences, and minor nits.
51
+ - Focus on architecture, SOLID violations, bugs, and security over style nits.
31
52
  - Each finding MUST reference a specific file and line number. Do not report vague or file-level issues.
32
- - Limit to the 20 most important findings, ranked by severity.
53
+ - Limit to the 25 most important findings, ranked by severity.
33
54
  - Do NOT modify any files. This is a read-only review.
55
+ - Be HONEST about the overall quality. A codebase with serious issues should score low.
56
+
57
+ ## Scoring Guidelines
58
+
59
+ After your analysis, provide an honest overall quality score (0-100) and letter grade:
60
+ - **A (90-100)**: Excellent — clean architecture, minimal issues, well-tested, follows best practices
61
+ - **B (80-89)**: Good — solid code with minor issues, mostly well-structured
62
+ - **C (70-79)**: Adequate — functional but has notable quality issues that should be addressed
63
+ - **D (60-69)**: Below average — significant issues in architecture, testing, or code quality
64
+ - **F (0-59)**: Poor — serious problems: security vulnerabilities, broken architecture, major bugs, or unmaintainable code
65
+
66
+ Consider ALL findings (both CLI tool findings and your own) when determining the score. The score should reflect the overall state of the codebase honestly. A project with 50+ linting errors, formatting issues, complex functions, AND architectural problems should NOT score above 70.
34
67
 
35
68
  ## Output
36
69
 
@@ -38,10 +71,13 @@ After your analysis, output EXACTLY one JSON code block with your findings. No o
38
71
 
39
72
  \`\`\`json
40
73
  {
74
+ "score": 72,
75
+ "grade": "C",
76
+ "scoreRationale": "Brief explanation of why this score was given, referencing key issues",
41
77
  "findings": [
42
78
  {
43
79
  "severity": "critical|high|medium|low",
44
- "category": "security|bugs|performance|maintainability",
80
+ "category": "architecture|oop|security|bugs|performance|logic",
45
81
  "file": "relative/path/to/file.ts",
46
82
  "line": 42,
47
83
  "title": "Short title describing the issue",
@@ -55,7 +91,7 @@ After your analysis, output EXACTLY one JSON code block with your findings. No o
55
91
  }
56
92
  // ── Response parsing ──────────────────────────────────────────
57
93
  const VALID_SEVERITIES = new Set(['critical', 'high', 'medium', 'low']);
58
- const VALID_CATEGORIES = new Set(['security', 'bugs', 'performance', 'maintainability']);
94
+ const VALID_CATEGORIES = new Set(['architecture', 'oop', 'security', 'bugs', 'performance', 'logic', 'maintainability']);
59
95
  function normalizeFinding(f) {
60
96
  if (typeof f.file !== 'string' || typeof f.title !== 'string')
61
97
  return null;
@@ -88,10 +124,13 @@ export function parseCodeReviewResponse(response) {
88
124
  const rawFindings = Array.isArray(parsed.findings) ? parsed.findings : [];
89
125
  const findings = rawFindings.map(normalizeFinding).filter((f) => f !== null);
90
126
  const summary = typeof parsed.summary === 'string' ? parsed.summary : `Found ${findings.length} issue(s).`;
91
- return { findings, summary };
127
+ const score = typeof parsed.score === 'number' ? Math.max(0, Math.min(100, Math.round(parsed.score))) : null;
128
+ const grade = typeof parsed.grade === 'string' ? parsed.grade : null;
129
+ const scoreRationale = typeof parsed.scoreRationale === 'string' ? parsed.scoreRationale : null;
130
+ return { findings, summary, score, grade, scoreRationale };
92
131
  }
93
132
  catch {
94
- return { findings: [], summary: 'Failed to parse code review results.' };
133
+ return { findings: [], summary: 'Failed to parse code review results.', score: null, grade: null, scoreRationale: null };
95
134
  }
96
135
  }
97
136
  // ── Progress tracking ─────────────────────────────────────────
@@ -142,9 +181,21 @@ export async function handleCodeReview(ctx, ws, reportPath, dirPath, workingDir,
142
181
  type: 'qualityCodeReviewProgress',
143
182
  data: { path: reportPath, message: 'Starting AI code review...' },
144
183
  });
184
+ // Load CLI findings from the existing report to pass to the AI reviewer
185
+ let cliFindings;
186
+ try {
187
+ const persistence = getPersistence(workingDir);
188
+ const existingReport = persistence.loadReport(reportPath);
189
+ if (existingReport?.findings) {
190
+ cliFindings = existingReport.findings;
191
+ }
192
+ }
193
+ catch {
194
+ // Continue without CLI findings if persistence fails
195
+ }
145
196
  const runner = new HeadlessRunner({
146
197
  workingDir: dirPath,
147
- directPrompt: buildCodeReviewPrompt(dirPath),
198
+ directPrompt: buildCodeReviewPrompt(dirPath, cliFindings),
148
199
  stallWarningMs: 120_000,
149
200
  stallKillMs: 600_000,
150
201
  stallHardCapMs: 900_000,
@@ -171,26 +222,39 @@ export async function handleCodeReview(ctx, ws, reportPath, dirPath, workingDir,
171
222
  data: { path: reportPath, message: 'Generating review report...' },
172
223
  });
173
224
  const responseText = result.assistantResponse || '';
174
- const { findings, summary } = parseCodeReviewResponse(responseText);
175
- // Recompute overall score with AI review findings included
225
+ const reviewResult = parseCodeReviewResponse(responseText);
226
+ // Use AI-determined score if available, otherwise fall back to recomputation
176
227
  let updatedResults = null;
177
228
  try {
178
229
  const persistence = getPersistence(workingDir);
179
230
  const existingReport = persistence.loadReport(reportPath);
180
231
  if (existingReport) {
181
- updatedResults = recomputeWithAiReview(existingReport, findings);
182
- updatedResults = { ...updatedResults, codeReview: findings };
232
+ if (reviewResult.score !== null && reviewResult.grade !== null) {
233
+ // Use the AI-determined score and grade directly
234
+ updatedResults = {
235
+ ...existingReport,
236
+ overall: reviewResult.score,
237
+ grade: reviewResult.grade,
238
+ codeReview: reviewResult.findings,
239
+ scoreRationale: reviewResult.scoreRationale ?? undefined,
240
+ };
241
+ }
242
+ else {
243
+ // Fallback: recompute with weighted formula
244
+ updatedResults = recomputeWithAiReview(existingReport, reviewResult.findings);
245
+ updatedResults = { ...updatedResults, codeReview: reviewResult.findings };
246
+ }
183
247
  persistence.saveReport(reportPath, updatedResults);
184
248
  persistence.appendHistory(updatedResults, reportPath);
185
249
  }
186
- persistence.saveCodeReview(reportPath, findings, summary);
250
+ persistence.saveCodeReview(reportPath, reviewResult.findings, reviewResult.summary);
187
251
  }
188
252
  catch {
189
253
  // Persistence failure should not break the review flow
190
254
  }
191
255
  ctx.send(ws, {
192
256
  type: 'qualityCodeReview',
193
- data: { path: reportPath, findings, summary, results: updatedResults },
257
+ data: { path: reportPath, findings: reviewResult.findings, summary: reviewResult.summary, results: updatedResults },
194
258
  });
195
259
  }
196
260
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"quality-review-agent.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-review-agent.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-review-agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-service.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAA8G,KAAK,cAAc,EAAE,KAAK,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAErM,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhF,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAgInH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAqBD,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,gBAAgB,EAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC,cAAc,CAAC,CAiHzB;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACtC,cAAc,CA8BhB"}
1
+ {"version":3,"file":"quality-service.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-service.ts"],"names":[],"mappings":"AAOA,OAAO,EAA8G,KAAK,cAAc,EAAE,KAAK,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAErM,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhF,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA8JnH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACrC,UAAU,EAAE,MAAM,GACjB,MAAM,CAUR;AAqBD,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,gBAAgB,EAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC,cAAc,CAAC,CAkHzB;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACtC,cAAc,CA8BhB"}
@@ -6,47 +6,69 @@ import { analyzeLinting } from './quality-linting.js';
6
6
  import { collectSourceFiles, detectEcosystem, runCommand } from './quality-tools.js';
7
7
  import { FILE_LENGTH_THRESHOLD, hasInstalledToolInCategory, TOTAL_STEPS } from './quality-types.js';
8
8
  export { detectEcosystem, detectTools, installTools } from './quality-tools.js';
9
- // ============================================================================
10
- // Formatting Analysis
11
- // ============================================================================
12
- async function analyzeFormatting(dirPath, ecosystems, files) {
13
- let totalFiles = 0;
14
- let passingFiles = 0;
15
- let ran = false;
16
- if (ecosystems.includes('node')) {
17
- const result = await runCommand('npx', ['prettier', '--check', '.'], dirPath);
18
- ran = true;
19
- const unformatted = result.stdout.split('\n').filter((l) => l.trim() && !l.startsWith('Checking'));
20
- const nodeFiles = files.filter((f) => ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(extname(f.path)));
21
- totalFiles += nodeFiles.length;
22
- passingFiles += Math.max(0, nodeFiles.length - unformatted.length);
9
+ function newFmtAccumulator() {
10
+ return { totalFiles: 0, passingFiles: 0, ran: false, findings: [] };
11
+ }
12
+ async function fmtNode(dirPath, files, acc) {
13
+ const result = await runCommand('npx', ['prettier', '--check', '.'], dirPath);
14
+ acc.ran = true;
15
+ const unformatted = result.stdout.split('\n').filter((l) => l.trim() && !l.startsWith('Checking'));
16
+ const nodeFiles = files.filter((f) => ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'].includes(extname(f.path)));
17
+ acc.totalFiles += nodeFiles.length;
18
+ acc.passingFiles += Math.max(0, nodeFiles.length - unformatted.length);
19
+ for (const filePath of unformatted) {
20
+ if (!filePath.trim())
21
+ continue;
22
+ const rel = filePath.startsWith('/') ? filePath.replace(`${dirPath}/`, '') : filePath;
23
+ acc.findings.push({ severity: 'low', category: 'format', file: rel, line: null, title: 'File not formatted', description: 'Does not match Prettier formatting rules.' });
23
24
  }
24
- if (ecosystems.includes('python')) {
25
- const result = await runCommand('black', ['--check', '--quiet', '.'], dirPath);
26
- ran = true;
27
- const pyFiles = files.filter((f) => ['.py', '.pyi'].includes(extname(f.path)));
28
- totalFiles += pyFiles.length;
29
- if (result.exitCode === 0) {
30
- passingFiles += pyFiles.length;
31
- }
32
- else {
33
- const wouldReformat = (result.stderr.match(/would reformat/gi) || []).length;
34
- passingFiles += Math.max(0, pyFiles.length - wouldReformat);
35
- }
25
+ }
26
+ async function fmtPython(dirPath, files, acc) {
27
+ const result = await runCommand('black', ['--check', '--quiet', '.'], dirPath);
28
+ acc.ran = true;
29
+ const pyFiles = files.filter((f) => ['.py', '.pyi'].includes(extname(f.path)));
30
+ acc.totalFiles += pyFiles.length;
31
+ if (result.exitCode === 0) {
32
+ acc.passingFiles += pyFiles.length;
33
+ return;
34
+ }
35
+ const reformatLines = result.stderr.split('\n').filter((l) => l.includes('would reformat'));
36
+ acc.passingFiles += Math.max(0, pyFiles.length - reformatLines.length);
37
+ for (const line of reformatLines) {
38
+ const match = line.match(/would reformat (.+)/);
39
+ if (match)
40
+ acc.findings.push({ severity: 'low', category: 'format', file: match[1].trim(), line: null, title: 'File not formatted', description: 'Does not match Black formatting rules.' });
41
+ }
42
+ }
43
+ async function fmtRust(dirPath, files, acc) {
44
+ const result = await runCommand('cargo', ['fmt', '--check'], dirPath);
45
+ acc.ran = true;
46
+ const rsFiles = files.filter((f) => extname(f.path) === '.rs');
47
+ acc.totalFiles += rsFiles.length;
48
+ if (result.exitCode === 0) {
49
+ acc.passingFiles += rsFiles.length;
50
+ return;
36
51
  }
37
- if (ecosystems.includes('rust')) {
38
- const result = await runCommand('cargo', ['fmt', '--check'], dirPath);
39
- ran = true;
40
- const rsFiles = files.filter((f) => extname(f.path) === '.rs');
41
- totalFiles += rsFiles.length;
42
- if (result.exitCode === 0)
43
- passingFiles += rsFiles.length;
52
+ const diffLines = result.stdout.split('\n').filter((l) => l.startsWith('Diff in'));
53
+ for (const line of diffLines) {
54
+ const match = line.match(/Diff in (.+?) at/);
55
+ if (match)
56
+ acc.findings.push({ severity: 'low', category: 'format', file: match[1].trim(), line: null, title: 'File not formatted', description: 'Does not match rustfmt formatting rules.' });
44
57
  }
45
- if (!ran || totalFiles === 0) {
46
- return { score: 0, available: false, issueCount: 0 };
58
+ }
59
+ async function analyzeFormatting(dirPath, ecosystems, files) {
60
+ const acc = newFmtAccumulator();
61
+ if (ecosystems.includes('node'))
62
+ await fmtNode(dirPath, files, acc);
63
+ if (ecosystems.includes('python'))
64
+ await fmtPython(dirPath, files, acc);
65
+ if (ecosystems.includes('rust'))
66
+ await fmtRust(dirPath, files, acc);
67
+ if (!acc.ran || acc.totalFiles === 0) {
68
+ return { score: 0, available: false, issueCount: 0, findings: [] };
47
69
  }
48
- const score = Math.round((passingFiles / totalFiles) * 100);
49
- return { score, available: true, issueCount: totalFiles - passingFiles };
70
+ const score = Math.round((acc.passingFiles / acc.totalFiles) * 100);
71
+ return { score, available: true, issueCount: acc.totalFiles - acc.passingFiles, findings: acc.findings.slice(0, 50) };
50
72
  }
51
73
  // ============================================================================
52
74
  // File Length Analysis
@@ -142,14 +164,14 @@ export async function runQualityScan(dirPath, onProgress, installedToolNames) {
142
164
  progress('Running linters', 2);
143
165
  const hasLinter = !installedSet || hasInstalledToolInCategory(installedSet, ecosystems, 'linter');
144
166
  const lintResult = hasLinter
145
- ? await analyzeLinting(dirPath, ecosystems, files)
167
+ ? await analyzeLinting(dirPath, ecosystems, files, installedToolNames)
146
168
  : { score: 0, findings: [], available: false, issueCount: 0 };
147
169
  // Step 3: Check formatting (only if a formatter is installed)
148
170
  progress('Checking formatting', 3);
149
171
  const hasFormatter = !installedSet || hasInstalledToolInCategory(installedSet, ecosystems, 'formatter');
150
172
  const fmtResult = hasFormatter
151
173
  ? await analyzeFormatting(dirPath, ecosystems, files)
152
- : { score: 0, available: false, issueCount: 0 };
174
+ : { score: 0, available: false, issueCount: 0, findings: [] };
153
175
  // Step 4: Analyze complexity (using real tools: Biome, ESLint, radon)
154
176
  progress('Analyzing complexity', 4);
155
177
  const complexityResult = await analyzeComplexity(dirPath, ecosystems, installedToolNames);
@@ -214,6 +236,7 @@ export async function runQualityScan(dirPath, onProgress, installedToolNames) {
214
236
  const overall = computeOverallScore(categories);
215
237
  const allFindings = [
216
238
  ...lintResult.findings,
239
+ ...fmtResult.findings,
217
240
  ...complexityResult.findings,
218
241
  ...fileLengthResult.findings,
219
242
  ...funcLengthResult.findings,
@@ -1 +1 @@
1
- {"version":3,"file":"quality-service.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-service.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-service.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,8 @@ export interface QualityResults {
32
32
  totalLines: number;
33
33
  timestamp: string;
34
34
  ecosystem: string[];
35
+ /** AI-generated rationale for the score */
36
+ scoreRationale?: string;
35
37
  }
36
38
  export interface ScanProgress {
37
39
  step: string;
@@ -1 +1 @@
1
- {"version":3,"file":"quality-types.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-types.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3F,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,CA6BzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAW5B,CAAC;AAEH,eAAO,MAAM,WAAW,aAItB,CAAC;AAEH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,WAAW,IAAI,CAAC;AAE7B,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,UAAU,EAAE,SAAS,EAAE,EACvB,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,GAChC,OAAO,CAQT;AAMD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAI1E;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAE/E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGjF;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,CAgBnH"}
1
+ {"version":3,"file":"quality-types.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"quality-types.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quality-types.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-types.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,gEAAgE;AA8DhE,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC5D,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,uBAAuB,EAAE;QAClH,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,+BAA+B,EAAE;QACjI,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,yBAAyB,EAAE;QAC3H,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,2BAA2B,EAAE;KACzH;IACD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,0CAA0C,EAAE;QAC1H,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,4CAA4C,EAAE;QACjI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,4CAA4C,EAAE;KACnI;IACD,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,6BAA6B,EAAE;QAC1H,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,8BAA8B,EAAE;KACxH;IACD,EAAE,EAAE;QACF,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,4EAA4E,EAAE;QAC9K,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE;KACnG;IACD,KAAK,EAAE;QACL,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE;QAClH,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,0BAA0B,EAAE;KAC5H;IACD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE;QACzG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE;KAC1G;IACD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC5C,KAAK,EAAE,MAAM;IACb,KAAK;IACL,KAAK;IACL,OAAO,EAAE,KAAK;IACd,KAAK;IACL,KAAK;IACL,MAAM;IACN,QAAQ;IACR,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IACjC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa;IAC/D,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;IACvD,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAE7B,MAAM,UAAU,0BAA0B,CACxC,YAAyB,EACzB,UAAuB,EACvB,QAAiC;IAEjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7E,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,CAA0B;IACpE,OAAO,CAAE,CAAC,CAAC,QAAmB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAiC;IACtE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,MAAM,KAAK,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAA0B,EAAE,QAAoC;IACjG,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAkB,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,CAAC,CAAC,QAA+C,CAAC;IACnE,MAAM,IAAI,GAAI,QAAQ,EAAE,IAAgC,IAAI,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAI,IAAI,CAAC,KAAiC,IAAI,EAAE,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAC,CAAC,OAAuD,CAAC;IAC1E,MAAM,IAAI,GAAG,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,OAAO,EAAE,IAAe,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACvF,MAAM,QAAQ,GAAG,CAAE,CAAC,CAAC,QAAmB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;IAC5E,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,QAAQ;QACR,IAAI,EAAG,QAAQ,EAAE,IAAe,IAAI,EAAE;QACtC,IAAI,EAAG,KAAK,CAAC,IAAe,IAAI,IAAI;QACpC,KAAK,EAAE,QAAQ;QACf,WAAW,EAAE,IAAI;KAClB,CAAC;AACJ,CAAC"}