codereview-aia 0.2.9 → 0.3.1
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/dist/runtime/llm/index.d.ts +1 -1
- package/dist/runtime/llm/index.js +2 -2
- package/dist/runtime/llm/index.js.map +1 -1
- package/dist/runtime/llm/openRouterClient.d.ts +1 -13
- package/dist/runtime/llm/openRouterClient.js +8 -127
- package/dist/runtime/llm/openRouterClient.js.map +1 -1
- package/dist/runtime/reportWriter.d.ts +0 -1
- package/dist/runtime/reportWriter.js +0 -18
- package/dist/runtime/reportWriter.js.map +1 -1
- package/dist/runtime/reviewPipeline.js +135 -43
- package/dist/runtime/reviewPipeline.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { analyzeSingleFileWithTools, type FileAnalysisResult } from './openRouterClient';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.analyzeSingleFileWithTools = void 0;
|
|
4
4
|
var openRouterClient_1 = require("./openRouterClient");
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "analyzeSingleFileWithTools", { enumerable: true, get: function () { return openRouterClient_1.analyzeSingleFileWithTools; } });
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/llm/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/llm/index.ts"],"names":[],"mappings":";;;AAAA,uDAAyF;AAAhF,8HAAA,0BAA0B,OAAA"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export interface LlmAnalysisInput {
|
|
3
|
-
phpcsJson: PhpcsJsonReport;
|
|
4
|
-
fileContents: Map<string, string>;
|
|
5
|
-
mode: 'uncommitted' | 'prod';
|
|
6
|
-
totalFiles: number;
|
|
7
|
-
}
|
|
8
|
-
export interface LlmAnalysisResult {
|
|
9
|
-
markdownReport: string;
|
|
10
|
-
success: boolean;
|
|
11
|
-
error?: string;
|
|
12
|
-
}
|
|
1
|
+
import type { PhpcsMessage } from '../phpcsRunner';
|
|
13
2
|
export interface FileAnalysisResult {
|
|
14
3
|
filePath: string;
|
|
15
4
|
summary: string;
|
|
@@ -17,7 +6,6 @@ export interface FileAnalysisResult {
|
|
|
17
6
|
success: boolean;
|
|
18
7
|
error?: string;
|
|
19
8
|
}
|
|
20
|
-
export declare function analyzeWithLlm(input: LlmAnalysisInput): Promise<LlmAnalysisResult>;
|
|
21
9
|
export declare function analyzeSingleFileWithTools(params: {
|
|
22
10
|
filePath: string;
|
|
23
11
|
fileContent: string;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.analyzeWithLlm = analyzeWithLlm;
|
|
4
3
|
exports.analyzeSingleFileWithTools = analyzeSingleFileWithTools;
|
|
5
4
|
const grep_1 = require("../tools/grep");
|
|
6
5
|
let cachedToken = null;
|
|
7
6
|
const DEFAULT_EDGE_URL = 'https://cr.ai.enki.si';
|
|
8
|
-
const DEFAULT_MODEL = '
|
|
7
|
+
const DEFAULT_MODEL = 'x-ai/grok-4.1-fast';
|
|
9
8
|
function getEdgeConfig() {
|
|
10
9
|
const baseUrl = (process.env['CR_EDGE_API_URL'] || DEFAULT_EDGE_URL).replace(/\/$/, '');
|
|
11
10
|
const username = process.env['CR_EDGE_USERNAME'];
|
|
@@ -69,57 +68,6 @@ async function callDirectly(payload, apiKey) {
|
|
|
69
68
|
}
|
|
70
69
|
return response.json();
|
|
71
70
|
}
|
|
72
|
-
async function analyzeWithLlm(input) {
|
|
73
|
-
const directApiKey = process.env['OPENROUTER_API_KEY'];
|
|
74
|
-
const hasEdgeCredentials = Boolean(process.env['CR_EDGE_API_KEY'] ||
|
|
75
|
-
process.env['CR_EDGE_TOKEN'] ||
|
|
76
|
-
(process.env['CR_EDGE_USERNAME'] && process.env['CR_EDGE_PASSWORD']));
|
|
77
|
-
const model = process.env['CR_LITE_MODEL'] || DEFAULT_MODEL;
|
|
78
|
-
const systemPrompt = buildSystemPrompt();
|
|
79
|
-
const userPrompt = buildUserPrompt(input);
|
|
80
|
-
const payload = {
|
|
81
|
-
model,
|
|
82
|
-
messages: [
|
|
83
|
-
{ role: 'system', content: systemPrompt },
|
|
84
|
-
{ role: 'user', content: userPrompt }
|
|
85
|
-
],
|
|
86
|
-
temperature: 0.3,
|
|
87
|
-
max_tokens: 8000,
|
|
88
|
-
http_referer: 'https://github.com/cr-aia',
|
|
89
|
-
x_title: 'cr-aia'
|
|
90
|
-
};
|
|
91
|
-
try {
|
|
92
|
-
let data;
|
|
93
|
-
if (hasEdgeCredentials) {
|
|
94
|
-
data = await callViaProxy(payload);
|
|
95
|
-
}
|
|
96
|
-
else if (directApiKey) {
|
|
97
|
-
data = await callDirectly(payload, directApiKey);
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
throw new Error('No edge credentials or OpenRouter API key available.');
|
|
101
|
-
}
|
|
102
|
-
const content = data.choices?.[0]?.message?.content;
|
|
103
|
-
if (!content) {
|
|
104
|
-
return {
|
|
105
|
-
markdownReport: buildFallbackReport(input),
|
|
106
|
-
success: false,
|
|
107
|
-
error: 'Empty response from LLM'
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
return {
|
|
111
|
-
markdownReport: content,
|
|
112
|
-
success: true
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
return {
|
|
117
|
-
markdownReport: buildFallbackReport(input),
|
|
118
|
-
success: false,
|
|
119
|
-
error: error instanceof Error ? error.message : 'Unknown error'
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
71
|
async function analyzeSingleFileWithTools(params) {
|
|
124
72
|
const { filePath, fileContent, issues, workspaceRoot } = params;
|
|
125
73
|
const directApiKey = process.env['OPENROUTER_API_KEY'];
|
|
@@ -134,8 +82,13 @@ async function analyzeSingleFileWithTools(params) {
|
|
|
134
82
|
const maxContentChars = clampIntEnv('CR_LLM_FILE_MAX_CHARS', 12000, 1000, 50000);
|
|
135
83
|
const systemPrompt = `You are a PHP code review agent. You receive PHPCS issues for ONE file.\n` +
|
|
136
84
|
`Return JSON only with keys {\"summary\",\"fix\"}. Summary must be concise and only about the issues.\n` +
|
|
137
|
-
`
|
|
138
|
-
`
|
|
85
|
+
`Summary must be plain conversational text: no log-style prefixes, no brackets, no line/column notation, and no bullet lists.\n` +
|
|
86
|
+
`The \"fix\" field must start with 1-2 sentences that describe the fix in plain text.\n` +
|
|
87
|
+
`If you include code, place it AFTER the text and wrap it in a fenced code block with the correct language (e.g. \`\`\`php).\n` +
|
|
88
|
+
`When you include code, add brief inline comments that point to the exact changes.\n` +
|
|
89
|
+
`Do not wrap plain text in code fences.\n` +
|
|
90
|
+
`If you output PHP code, do not add blank lines after the opening \`<?php\`; the first statement should appear on the next line.\n` +
|
|
91
|
+
`If you need context from other files (classes, functions, constants, or config), use the grep_search tool. Do not guess.`;
|
|
139
92
|
const truncatedContent = truncateContent(fileContent, maxContentChars);
|
|
140
93
|
const userPrompt = `FILE: ${filePath}\n\n` +
|
|
141
94
|
`ISSUES:\n${issues.map((issue) => `- [${issue.type}] Line ${issue.line}:${issue.column} ${issue.message}`).join('\n')}\n\n` +
|
|
@@ -222,78 +175,6 @@ async function analyzeSingleFileWithTools(params) {
|
|
|
222
175
|
}
|
|
223
176
|
throw new Error('Max tool turns reached');
|
|
224
177
|
}
|
|
225
|
-
function buildSystemPrompt() {
|
|
226
|
-
return `You are a Senior PHP Developer and Code Review Expert.
|
|
227
|
-
Your task is to analyze PHPCS (PHP_CodeSniffer) output and provide a comprehensive,
|
|
228
|
-
actionable code review report.
|
|
229
|
-
|
|
230
|
-
RESPONSE FORMAT:
|
|
231
|
-
You MUST respond with a well-structured Markdown report. Include:
|
|
232
|
-
1. Executive Summary (2-3 sentences)
|
|
233
|
-
2. Critical Issues (must fix before deployment)
|
|
234
|
-
3. Warnings (should fix)
|
|
235
|
-
4. File-by-file breakdown with specific recommendations
|
|
236
|
-
5. Next Steps (prioritized action items)
|
|
237
|
-
|
|
238
|
-
GUIDELINES:
|
|
239
|
-
- Focus on issues that affect production readiness
|
|
240
|
-
- Group related issues together
|
|
241
|
-
- Provide specific, actionable fix recommendations
|
|
242
|
-
- Use clear severity levels: 🔴 Critical, 🟠 Warning, 🟡 Info
|
|
243
|
-
- Be concise but thorough`;
|
|
244
|
-
}
|
|
245
|
-
function buildUserPrompt(input) {
|
|
246
|
-
const { phpcsJson, fileContents, mode, totalFiles } = input;
|
|
247
|
-
let prompt = `## PHPCS Analysis Request\n\n`;
|
|
248
|
-
prompt += `**Mode:** ${mode}\n`;
|
|
249
|
-
prompt += `**Total Files Analyzed:** ${totalFiles}\n`;
|
|
250
|
-
prompt += `**Files with Issues:** ${Object.keys(phpcsJson.files).length}\n`;
|
|
251
|
-
prompt += `**Total Errors:** ${phpcsJson.totals.errors}\n`;
|
|
252
|
-
prompt += `**Total Warnings:** ${phpcsJson.totals.warnings}\n`;
|
|
253
|
-
prompt += `**Fixable Issues:** ${phpcsJson.totals.fixable}\n\n`;
|
|
254
|
-
prompt += `### PHPCS JSON Output:\n`;
|
|
255
|
-
prompt += `\`\`\`json\n${JSON.stringify(phpcsJson, null, 2)}\n\`\`\`\n\n`;
|
|
256
|
-
prompt += `### Source Code Context:\n`;
|
|
257
|
-
const MAX_FILE_SIZE = 5000;
|
|
258
|
-
const MAX_TOTAL_SIZE = 50000;
|
|
259
|
-
let totalSize = 0;
|
|
260
|
-
for (const [filePath, content] of fileContents) {
|
|
261
|
-
if (totalSize >= MAX_TOTAL_SIZE) {
|
|
262
|
-
prompt += `\n*[Additional files truncated for token limits]*\n`;
|
|
263
|
-
break;
|
|
264
|
-
}
|
|
265
|
-
const truncatedContent = content.length > MAX_FILE_SIZE
|
|
266
|
-
? content.slice(0, MAX_FILE_SIZE) + '\n... [truncated]'
|
|
267
|
-
: content;
|
|
268
|
-
prompt += `\n#### ${filePath}\n\`\`\`php\n${truncatedContent}\n\`\`\`\n`;
|
|
269
|
-
totalSize += truncatedContent.length;
|
|
270
|
-
}
|
|
271
|
-
prompt += `\n\nPlease analyze the above PHPCS output and source code,
|
|
272
|
-
then provide a comprehensive code review report in Markdown format.`;
|
|
273
|
-
return prompt;
|
|
274
|
-
}
|
|
275
|
-
function buildFallbackReport(input) {
|
|
276
|
-
const { phpcsJson, mode, totalFiles } = input;
|
|
277
|
-
let report = `# PHPCS Analysis Report (Fallback - LLM Unavailable)\n\n`;
|
|
278
|
-
report += `**Mode:** ${mode}\n`;
|
|
279
|
-
report += `**Files Reviewed:** ${totalFiles}\n`;
|
|
280
|
-
report += `**Errors:** ${phpcsJson.totals.errors}\n`;
|
|
281
|
-
report += `**Warnings:** ${phpcsJson.totals.warnings}\n`;
|
|
282
|
-
report += `**Fixable:** ${phpcsJson.totals.fixable}\n\n`;
|
|
283
|
-
report += `> ⚠️ LLM analysis failed. Showing raw PHPCS output below.\n\n`;
|
|
284
|
-
report += `## Issues by File\n\n`;
|
|
285
|
-
for (const [filePath, fileReport] of Object.entries(phpcsJson.files)) {
|
|
286
|
-
if (fileReport.messages.length === 0)
|
|
287
|
-
continue;
|
|
288
|
-
report += `### ${filePath}\n\n`;
|
|
289
|
-
for (const msg of fileReport.messages) {
|
|
290
|
-
const icon = msg.type === 'ERROR' ? '🔴' : '🟠';
|
|
291
|
-
report += `- ${icon} **Line ${msg.line}:${msg.column}** - ${msg.message} \`(${msg.source})\`\n`;
|
|
292
|
-
}
|
|
293
|
-
report += '\n';
|
|
294
|
-
}
|
|
295
|
-
return report;
|
|
296
|
-
}
|
|
297
178
|
function parseJsonContent(content) {
|
|
298
179
|
const trimmed = content.trim();
|
|
299
180
|
if (!trimmed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openRouterClient.js","sourceRoot":"","sources":["../../../src/runtime/llm/openRouterClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openRouterClient.js","sourceRoot":"","sources":["../../../src/runtime/llm/openRouterClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,6 @@ export interface ReportWriteResult {
|
|
|
20
20
|
}
|
|
21
21
|
export declare function writeMarkdownReport(parsed: ParsedPhpcsReport, options: ReportWriterOptions): ReportWriteResult;
|
|
22
22
|
export declare function writeAnnotatedReport(parsed: ParsedPhpcsReport, options: AnnotatedReportOptions): ReportWriteResult;
|
|
23
|
-
export declare function writeLlmReport(markdownContent: string, options: Omit<ReportWriterOptions, 'filesReviewed'>): string;
|
|
24
23
|
export declare function resolveOutputDirectory(root: string, outputDir: string): string;
|
|
25
24
|
export declare function formatReportFileName(repo: string, date: Date): string;
|
|
26
25
|
export declare function formatTimestamp(date: Date): string;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.writeMarkdownReport = writeMarkdownReport;
|
|
4
4
|
exports.writeAnnotatedReport = writeAnnotatedReport;
|
|
5
|
-
exports.writeLlmReport = writeLlmReport;
|
|
6
5
|
exports.resolveOutputDirectory = resolveOutputDirectory;
|
|
7
6
|
exports.formatReportFileName = formatReportFileName;
|
|
8
7
|
exports.formatTimestamp = formatTimestamp;
|
|
@@ -82,23 +81,6 @@ function writeAnnotatedReport(parsed, options) {
|
|
|
82
81
|
(0, node_fs_1.writeFileSync)(reportPath, lines.join('\n'), 'utf8');
|
|
83
82
|
return { reportPath };
|
|
84
83
|
}
|
|
85
|
-
function writeLlmReport(markdownContent, options) {
|
|
86
|
-
const outputDir = resolveOutputDirectory(options.workspaceRoot, options.outDir);
|
|
87
|
-
(0, node_fs_1.mkdirSync)(outputDir, { recursive: true });
|
|
88
|
-
const reportName = formatReportFileName(options.repoName, options.generatedAt).replace('.md', '-llm.md');
|
|
89
|
-
const reportPath = (0, node_path_1.join)(outputDir, reportName);
|
|
90
|
-
// Add header with metadata
|
|
91
|
-
const header = `<!--
|
|
92
|
-
Generated by cr-aia with LLM analysis
|
|
93
|
-
Repository: ${options.repoName}
|
|
94
|
-
Mode: ${options.mode}
|
|
95
|
-
Generated at: ${formatTimestamp(options.generatedAt)}
|
|
96
|
-
-->
|
|
97
|
-
|
|
98
|
-
`;
|
|
99
|
-
(0, node_fs_1.writeFileSync)(reportPath, header + markdownContent, 'utf8');
|
|
100
|
-
return reportPath;
|
|
101
|
-
}
|
|
102
84
|
function resolveOutputDirectory(root, outputDir) {
|
|
103
85
|
if (outputDir.startsWith('/')) {
|
|
104
86
|
return outputDir;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reportWriter.js","sourceRoot":"","sources":["../../src/runtime/reportWriter.ts"],"names":[],"mappings":";;AAqBA,kDAkCC;AAED,oDAkDC;AAED,
|
|
1
|
+
{"version":3,"file":"reportWriter.js","sourceRoot":"","sources":["../../src/runtime/reportWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.executeReview = executeReview;
|
|
|
7
7
|
const node_fs_1 = require("node:fs");
|
|
8
8
|
const node_path_1 = require("node:path");
|
|
9
9
|
const node_child_process_1 = require("node:child_process");
|
|
10
|
+
const p_limit_1 = __importDefault(require("p-limit"));
|
|
10
11
|
const phpFileResolver_1 = require("./phpFileResolver");
|
|
11
12
|
const phpcsRunner_1 = require("./phpcsRunner");
|
|
12
13
|
const phpcsParser_1 = require("./phpcsParser");
|
|
@@ -49,51 +50,94 @@ async function executeReview(options) {
|
|
|
49
50
|
debug,
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
// LLM analysis for uncommitted mode
|
|
53
|
-
let llmResult = null;
|
|
54
|
-
if (mode === 'uncommitted') {
|
|
55
|
-
onStage?.('analyzing');
|
|
56
|
-
// Read file contents for files with issues
|
|
57
|
-
const fileContents = new Map();
|
|
58
|
-
for (const filePath of Object.keys(report.files)) {
|
|
59
|
-
try {
|
|
60
|
-
const content = (0, node_fs_1.readFileSync)(filePath, 'utf8');
|
|
61
|
-
fileContents.set(filePath, content);
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
logger_1.default.debug(`Failed to read file ${filePath} for LLM analysis`, { error: err });
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
llmResult = await (0, llm_1.analyzeWithLlm)({
|
|
68
|
-
phpcsJson: report,
|
|
69
|
-
fileContents,
|
|
70
|
-
mode,
|
|
71
|
-
totalFiles: files.length
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
53
|
const parsed = (0, phpcsParser_1.parsePhpcsReport)(report, workspaceRoot);
|
|
75
54
|
const duration = Math.round((Date.now() - start) / 1000);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
55
|
+
onStage?.('analyzing');
|
|
56
|
+
const fileAnalyses = new Map();
|
|
57
|
+
const fileEntries = Object.entries(parsed.issuesByFile);
|
|
58
|
+
if (fileEntries.length > 0) {
|
|
59
|
+
const concurrency = clampIntEnv('CR_LLM_CONCURRENCY', 5, 1, 8);
|
|
60
|
+
const rps = clampFloatEnv('CR_LLM_RPS', 0, 0, 50);
|
|
61
|
+
const limit = (0, p_limit_1.default)(concurrency);
|
|
62
|
+
const rateLimit = createRateLimiter(rps);
|
|
63
|
+
logger_1.default.info('Starting per-file LLM analysis', {
|
|
64
|
+
filesWithIssues: fileEntries.length,
|
|
65
|
+
concurrency,
|
|
66
|
+
rps,
|
|
84
67
|
});
|
|
68
|
+
await Promise.all(fileEntries.map(([filePath, issues]) => limit(async () => {
|
|
69
|
+
const absolutePath = (0, node_path_1.resolve)(workspaceRoot, filePath);
|
|
70
|
+
let content = null;
|
|
71
|
+
try {
|
|
72
|
+
content = (0, node_fs_1.readFileSync)(absolutePath, 'utf8');
|
|
73
|
+
}
|
|
74
|
+
catch (error) {
|
|
75
|
+
logger_1.default.debug('Failed to read file for LLM analysis', { filePath, error });
|
|
76
|
+
fileAnalyses.set(filePath, {
|
|
77
|
+
summary: 'Unable to read file for LLM analysis.',
|
|
78
|
+
fix: 'No fix provided.',
|
|
79
|
+
success: false,
|
|
80
|
+
error: 'File read failed',
|
|
81
|
+
});
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
logger_1.default.debug('Starting file analysis', { filePath, issueCount: issues.length });
|
|
85
|
+
const startedAt = Date.now();
|
|
86
|
+
try {
|
|
87
|
+
await rateLimit();
|
|
88
|
+
const result = await (0, llm_1.analyzeSingleFileWithTools)({
|
|
89
|
+
filePath,
|
|
90
|
+
fileContent: content,
|
|
91
|
+
issues: issues.map((issue) => ({
|
|
92
|
+
line: issue.line,
|
|
93
|
+
column: issue.column,
|
|
94
|
+
message: issue.message,
|
|
95
|
+
source: issue.source,
|
|
96
|
+
type: issue.type,
|
|
97
|
+
severity: issue.severity,
|
|
98
|
+
fixable: issue.fixable,
|
|
99
|
+
})),
|
|
100
|
+
workspaceRoot,
|
|
101
|
+
});
|
|
102
|
+
fileAnalyses.set(filePath, {
|
|
103
|
+
summary: result.summary,
|
|
104
|
+
fix: result.fix,
|
|
105
|
+
success: result.success,
|
|
106
|
+
error: result.error,
|
|
107
|
+
});
|
|
108
|
+
logger_1.default.debug('File analysis completed', {
|
|
109
|
+
filePath,
|
|
110
|
+
success: result.success,
|
|
111
|
+
durationMs: Date.now() - startedAt,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
116
|
+
fileAnalyses.set(filePath, {
|
|
117
|
+
summary: 'LLM analysis failed.',
|
|
118
|
+
fix: 'No fix provided.',
|
|
119
|
+
success: false,
|
|
120
|
+
error: message,
|
|
121
|
+
});
|
|
122
|
+
logger_1.default.error('LLM analysis failed', { filePath, error: message });
|
|
123
|
+
logger_1.default.debug('File analysis completed', {
|
|
124
|
+
filePath,
|
|
125
|
+
success: false,
|
|
126
|
+
durationMs: Date.now() - startedAt,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
})));
|
|
85
130
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
131
|
+
const { reportPath } = (0, reportWriter_1.writeAnnotatedReport)(parsed, {
|
|
132
|
+
workspaceRoot,
|
|
133
|
+
outDir,
|
|
134
|
+
repoName,
|
|
135
|
+
mode,
|
|
136
|
+
filesReviewed: files.length,
|
|
137
|
+
generatedAt: new Date(),
|
|
138
|
+
fileAnalyses,
|
|
139
|
+
});
|
|
140
|
+
const finalReportPath = reportPath;
|
|
97
141
|
onStage?.('done');
|
|
98
142
|
if (debug) {
|
|
99
143
|
logger_1.default.info('PHPCS run complete', { duration, filesReviewed: files.length });
|
|
@@ -105,10 +149,58 @@ async function executeReview(options) {
|
|
|
105
149
|
filesReviewed: files.length,
|
|
106
150
|
fileBreakdown: mode === 'uncommitted' ? { uncommitted: stats.uncommitted, related: stats.related } : undefined,
|
|
107
151
|
reportPath: finalReportPath,
|
|
108
|
-
llmAnalysisUsed:
|
|
109
|
-
llmError:
|
|
152
|
+
llmAnalysisUsed: fileEntries.length > 0,
|
|
153
|
+
llmError: summarizeAnalysisErrors(fileAnalyses),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function clampIntEnv(name, fallback, min, max) {
|
|
157
|
+
const raw = process.env[name];
|
|
158
|
+
if (!raw)
|
|
159
|
+
return fallback;
|
|
160
|
+
const value = Number(raw);
|
|
161
|
+
if (!Number.isFinite(value))
|
|
162
|
+
return fallback;
|
|
163
|
+
return Math.max(min, Math.min(max, Math.floor(value)));
|
|
164
|
+
}
|
|
165
|
+
function clampFloatEnv(name, fallback, min, max) {
|
|
166
|
+
const raw = process.env[name];
|
|
167
|
+
if (!raw)
|
|
168
|
+
return fallback;
|
|
169
|
+
const value = Number(raw);
|
|
170
|
+
if (!Number.isFinite(value))
|
|
171
|
+
return fallback;
|
|
172
|
+
return Math.max(min, Math.min(max, value));
|
|
173
|
+
}
|
|
174
|
+
function createRateLimiter(rps) {
|
|
175
|
+
if (!Number.isFinite(rps) || rps <= 0) {
|
|
176
|
+
return async () => { };
|
|
177
|
+
}
|
|
178
|
+
const minInterval = Math.ceil(1000 / rps);
|
|
179
|
+
let lastTime = 0;
|
|
180
|
+
let chain = Promise.resolve();
|
|
181
|
+
return async () => {
|
|
182
|
+
chain = chain.then(async () => {
|
|
183
|
+
const now = Date.now();
|
|
184
|
+
const waitFor = Math.max(0, lastTime + minInterval - now);
|
|
185
|
+
if (waitFor > 0) {
|
|
186
|
+
await new Promise((resolve) => setTimeout(resolve, waitFor));
|
|
187
|
+
}
|
|
188
|
+
lastTime = Date.now();
|
|
189
|
+
});
|
|
190
|
+
return chain;
|
|
110
191
|
};
|
|
111
192
|
}
|
|
193
|
+
function summarizeAnalysisErrors(analyses) {
|
|
194
|
+
let failures = 0;
|
|
195
|
+
for (const result of analyses.values()) {
|
|
196
|
+
if (!result.success) {
|
|
197
|
+
failures += 1;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
if (failures === 0)
|
|
201
|
+
return undefined;
|
|
202
|
+
return `LLM analysis failed for ${failures} file(s).`;
|
|
203
|
+
}
|
|
112
204
|
async function executeProdReview(params) {
|
|
113
205
|
const { report, workspaceRoot, repoName, files, onStage, outDir } = params;
|
|
114
206
|
const start = Date.now();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewPipeline.js","sourceRoot":"","sources":["../../src/runtime/reviewPipeline.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"reviewPipeline.js","sourceRoot":"","sources":["../../src/runtime/reviewPipeline.ts"],"names":[],"mappings":";;;;;AAqDA,sCA8JC;AAnND,qCAAuC;AACvC,yCAA6D;AAC7D,2DAA8C;AAC9C,sDAA6B;AAC7B,uDAA6E;AAC7E,+CAA+D;AAC/D,+CAAiD;AACjD,iDAA2E;AAC3E,+BAAmD;AACnD,iDAAoD;AACpD,2CAA8C;AAC9C,qCAA2C;AAC3C,6DAAqC;AAyC9B,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,aAAa,EAAE,cAAc,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEjG,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IACxB,gBAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEnG,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,iCAAe,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,wBAAe,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,CAAC,YAAY,EAAE;QACtB,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,gBAAgB,EAAE,KAAK,CAAC,WAAW;QACnC,YAAY,EAAE,KAAK,CAAC,OAAO;KAC5B,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAC,aAAa,CAAC,IAAI,WAAW,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAQ,EAAC,KAAK,EAAE;QACnC,aAAa;QACb,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;KACjF,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,iBAAiB,CAAC;YACvB,MAAM;YACN,aAAa;YACb,QAAQ;YACR,KAAK;YACL,OAAO;YACP,MAAM;YACN,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzD,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;IAEvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8E,CAAC;IAC3G,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAExD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAA,iBAAM,EAAC,WAAW,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAEzC,gBAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,eAAe,EAAE,WAAW,CAAC,MAAM;YACnC,WAAW;YACX,GAAG;SACJ,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CACrC,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAkB,IAAI,CAAC;YAElC,IAAI,CAAC;gBACH,OAAO,GAAG,IAAA,sBAAY,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC1E,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACzB,OAAO,EAAE,uCAAuC;oBAChD,GAAG,EAAE,kBAAkB;oBACvB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,kBAAkB;iBAC1B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,gBAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,IAAI,CAAC;gBACH,MAAM,SAAS,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,IAAA,gCAA0B,EAAC;oBAC9C,QAAQ;oBACR,WAAW,EAAE,OAAO;oBACpB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC,CAAC;oBACH,aAAa;iBACd,CAAC,CAAC;gBAEH,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;iBACpB,CAAC,CAAC;gBAEH,gBAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;oBACtC,QAAQ;oBACR,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACzE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACzB,OAAO,EAAE,sBAAsB;oBAC/B,GAAG,EAAE,kBAAkB;oBACvB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,OAAO;iBACf,CAAC,CAAC;gBACH,gBAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAClE,gBAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;oBACtC,QAAQ;oBACR,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,mCAAoB,EAAC,MAAM,EAAE;QAClD,aAAa;QACb,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,WAAW,EAAE,IAAI,IAAI,EAAE;QACvB,YAAY;KACb,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,UAAU,CAAC;IAEnC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IAElB,IAAI,KAAK,EAAE,CAAC;QACV,gBAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;QACR,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,aAAa,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS;QAC9G,UAAU,EAAE,eAAe;QAC3B,eAAe,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;QACvC,QAAQ,EAAE,uBAAuB,CAAC,YAAY,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,QAAgB,EAAE,GAAW,EAAE,GAAW;IAC7E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAE9B,OAAO,KAAK,IAAI,EAAE;QAChB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAyF;IAEzF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,QAAQ,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,OAAO,2BAA2B,QAAQ,WAAW,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAQhC;IACC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAA,6BAAgB,GAAE,CAAC;IAElC,kBAAkB;IAClB,IAAI,MAA0B,CAAC;IAC/B,IAAI,SAA6B,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,IAAA,6BAAQ,EAAC,iCAAiC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtG,SAAS,GAAG,IAAA,6BAAQ,EAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,gBAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,gBAAgB;IAChB,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,UAAU,EAAE,SAAS;QACrB,eAAe,EAAE,cAAc;QAC/B,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,YAAY,EAAE,MAAM,CAAC,MAAM;SAC5B;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;IAEjC,+BAA+B;IAC/B,MAAM,OAAO,GAAG,IAAA,uBAAa,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAErD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC,WAAW,EAAE;YACrB,UAAU,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC;YAC3B,UAAU,EAAE,OAAO,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE;YAC9B,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,MAAM,MAAM,GAAG,IAAA,8BAAgB,EAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IAEzD,gCAAgC;IAChC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kCAAmB,EAAC,MAAM,EAAE;QACjD,aAAa;QACb,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,WAAW,EAAE,IAAI,IAAI,EAAE;KACxB,CAAC,CAAC;IAEH,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IAElB,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ;QACR,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,UAAU;QACV,SAAS,EAAE,KAAK;QAChB,UAAU,EAAE,WAAW;KACxB,CAAC;AACJ,CAAC"}
|