codereview-aia 0.1.4 → 0.2.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/dist/clients/openRouterClient.js +308 -466
- package/dist/clients/openRouterClient.js.map +1 -1
- package/dist/clients/utils/tokenCounter.js +10 -35
- package/dist/clients/utils/tokenCounter.js.map +1 -1
- package/dist/core/ConfigurationService.js +2 -2
- package/dist/core/ConfigurationService.js.map +1 -1
- package/dist/runtime/cliEntry.js +11 -1
- package/dist/runtime/cliEntry.js.map +1 -1
- package/dist/runtime/fileCollector.js +15 -16
- package/dist/runtime/fileCollector.js.map +1 -1
- package/dist/runtime/preprod/batchStreamer.d.ts +54 -0
- package/dist/runtime/preprod/batchStreamer.js +159 -0
- package/dist/runtime/preprod/batchStreamer.js.map +1 -0
- package/dist/runtime/preprod/crEdgeServiceClient.d.ts +30 -0
- package/dist/runtime/preprod/crEdgeServiceClient.js +133 -0
- package/dist/runtime/preprod/crEdgeServiceClient.js.map +1 -0
- package/dist/runtime/preprod/progressTracker.d.ts +21 -0
- package/dist/runtime/preprod/progressTracker.js +80 -0
- package/dist/runtime/preprod/progressTracker.js.map +1 -0
- package/dist/runtime/preprod/webCheck.d.ts +1 -1
- package/dist/runtime/preprod/webCheck.js +7 -3
- package/dist/runtime/preprod/webCheck.js.map +1 -1
- package/dist/runtime/reviewPipeline.d.ts +14 -0
- package/dist/runtime/reviewPipeline.js +88 -18
- package/dist/runtime/reviewPipeline.js.map +1 -1
- package/dist/runtime/runAiCodeReview.d.ts +8 -0
- package/dist/runtime/runAiCodeReview.js +56 -20
- package/dist/runtime/runAiCodeReview.js.map +1 -1
- package/dist/runtime/runtimeConfig.d.ts +1 -1
- package/dist/runtime/runtimeConfig.js +1 -1
- package/dist/runtime/runtimeConfig.js.map +1 -1
- package/dist/runtime/ui/RuntimeApp.js +114 -11
- package/dist/runtime/ui/RuntimeApp.js.map +1 -1
- package/dist/runtime/ui/screens/ModeSelection.d.ts +1 -0
- package/dist/runtime/ui/screens/ModeSelection.js +97 -28
- package/dist/runtime/ui/screens/ModeSelection.js.map +1 -1
- package/dist/runtime/ui/screens/ProgressScreen.d.ts +11 -2
- package/dist/runtime/ui/screens/ProgressScreen.js +28 -6
- package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -1
- package/dist/runtime/ui/screens/ResultsScreen.js +6 -1
- package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeApp.js","sourceRoot":"","sources":["../../../src/runtime/ui/RuntimeApp.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RuntimeApp.js","sourceRoot":"","sources":["../../../src/runtime/ui/RuntimeApp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,15 +9,20 @@ const OPTIONS = [
|
|
|
9
9
|
{
|
|
10
10
|
label: 'Review uncommitted changes',
|
|
11
11
|
value: 'uncommitted',
|
|
12
|
-
description: '
|
|
12
|
+
description: 'Focus on staged + unstaged diffs only',
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
label: 'Pre-production review',
|
|
16
16
|
value: 'preprod',
|
|
17
|
-
description: '
|
|
17
|
+
description: 'Full pipeline: Supabase run + streaming batches',
|
|
18
18
|
requiresUrl: true,
|
|
19
|
+
details: [
|
|
20
|
+
'Creates a Supabase run for traceability',
|
|
21
|
+
'Triggers ai.enki.si webchecks & streams CR batches',
|
|
22
|
+
],
|
|
19
23
|
},
|
|
20
24
|
];
|
|
25
|
+
const DEFAULT_RECIPIENT_EMAIL = process.env.PREPROD_RECIPIENT_EMAIL || '';
|
|
21
26
|
function ModeSelection({ onSelect, debugEnabled, onToggleDebug }) {
|
|
22
27
|
const { Box, Text, useInput } = (0, inkModules_1.getInk)();
|
|
23
28
|
const SelectInput = (0, inkModules_1.getInkSelectInput)();
|
|
@@ -28,9 +33,15 @@ function ModeSelection({ onSelect, debugEnabled, onToggleDebug }) {
|
|
|
28
33
|
const [highlighted, setHighlighted] = (0, react_1.useState)('uncommitted');
|
|
29
34
|
const [urlValue, setUrlValue] = (0, react_1.useState)('');
|
|
30
35
|
const [urlError, setUrlError] = (0, react_1.useState)(null);
|
|
31
|
-
const
|
|
36
|
+
const [pendingTargetUrl, setPendingTargetUrl] = (0, react_1.useState)('');
|
|
37
|
+
const [emailValue, setEmailValue] = (0, react_1.useState)(DEFAULT_RECIPIENT_EMAIL);
|
|
38
|
+
const [emailError, setEmailError] = (0, react_1.useState)(null);
|
|
39
|
+
const resetPreprodState = (0, react_1.useCallback)(() => {
|
|
32
40
|
setUrlValue('');
|
|
33
41
|
setUrlError(null);
|
|
42
|
+
setPendingTargetUrl('');
|
|
43
|
+
setEmailValue(DEFAULT_RECIPIENT_EMAIL);
|
|
44
|
+
setEmailError(null);
|
|
34
45
|
}, []);
|
|
35
46
|
const handleModeSelect = (0, react_1.useCallback)((mode) => {
|
|
36
47
|
const option = OPTIONS.find((opt) => opt.value === mode);
|
|
@@ -39,62 +50,120 @@ function ModeSelection({ onSelect, debugEnabled, onToggleDebug }) {
|
|
|
39
50
|
}
|
|
40
51
|
if (option.requiresUrl) {
|
|
41
52
|
setPendingMode(option.value);
|
|
42
|
-
|
|
53
|
+
resetPreprodState();
|
|
43
54
|
setPhase('preprodUrl');
|
|
44
55
|
return;
|
|
45
56
|
}
|
|
46
57
|
onSelect(option.value);
|
|
47
|
-
}, [onSelect,
|
|
58
|
+
}, [onSelect, resetPreprodState]);
|
|
59
|
+
const validateUrl = (0, react_1.useCallback)((rawValue) => {
|
|
60
|
+
const trimmed = rawValue.trim();
|
|
61
|
+
if (!trimmed) {
|
|
62
|
+
return 'URL is required';
|
|
63
|
+
}
|
|
64
|
+
let parsed;
|
|
65
|
+
try {
|
|
66
|
+
parsed = new URL(trimmed);
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
return 'Enter a valid URL starting with https://';
|
|
70
|
+
}
|
|
71
|
+
if (parsed.protocol !== 'https:') {
|
|
72
|
+
return 'Use an https:// URL for production parity';
|
|
73
|
+
}
|
|
74
|
+
const hostname = parsed.hostname.toLowerCase();
|
|
75
|
+
if (!hostname.includes('.') || hostname.endsWith('.local')) {
|
|
76
|
+
return 'Enter a public hostname (e.g. example.com)';
|
|
77
|
+
}
|
|
78
|
+
if (hostname === 'localhost' || hostname.startsWith('127.') || hostname.endsWith('.lan')) {
|
|
79
|
+
return 'Localhost targets are not supported in preprod mode';
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
82
|
+
}, []);
|
|
48
83
|
const submitUrl = (0, react_1.useCallback)(() => {
|
|
49
84
|
if (phase !== 'preprodUrl') {
|
|
50
85
|
return;
|
|
51
86
|
}
|
|
87
|
+
const validationError = validateUrl(urlValue);
|
|
88
|
+
if (validationError) {
|
|
89
|
+
setUrlError(validationError);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
52
92
|
const trimmed = urlValue.trim();
|
|
53
|
-
|
|
54
|
-
|
|
93
|
+
const normalized = new URL(trimmed).toString();
|
|
94
|
+
setUrlError(null);
|
|
95
|
+
setPendingTargetUrl(normalized);
|
|
96
|
+
setUrlValue(normalized);
|
|
97
|
+
setPhase('preprodEmail');
|
|
98
|
+
}, [phase, urlValue, validateUrl]);
|
|
99
|
+
const submitEmail = (0, react_1.useCallback)(() => {
|
|
100
|
+
if (phase !== 'preprodEmail') {
|
|
55
101
|
return;
|
|
56
102
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
throw new Error('invalid');
|
|
61
|
-
}
|
|
62
|
-
setUrlError(null);
|
|
63
|
-
onSelect(pendingMode, { targetUrl: parsed.toString() });
|
|
103
|
+
if (!pendingTargetUrl) {
|
|
104
|
+
setPhase('preprodUrl');
|
|
105
|
+
return;
|
|
64
106
|
}
|
|
65
|
-
|
|
66
|
-
|
|
107
|
+
const trimmed = emailValue.trim();
|
|
108
|
+
if (!trimmed) {
|
|
109
|
+
setEmailError('Recipient email is required');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/i;
|
|
113
|
+
if (!emailPattern.test(trimmed)) {
|
|
114
|
+
setEmailError('Enter a valid email (example@company.com)');
|
|
115
|
+
return;
|
|
67
116
|
}
|
|
68
|
-
|
|
117
|
+
setEmailError(null);
|
|
118
|
+
onSelect(pendingMode, { targetUrl: pendingTargetUrl, recipientEmail: trimmed });
|
|
119
|
+
}, [emailValue, onSelect, pendingMode, pendingTargetUrl, phase]);
|
|
69
120
|
useInput((input, key) => {
|
|
70
121
|
const normalizedInput = input.toLowerCase();
|
|
71
122
|
if (normalizedInput === 'd' && !key.ctrl && !key.meta) {
|
|
72
123
|
onToggleDebug();
|
|
73
124
|
return;
|
|
74
125
|
}
|
|
75
|
-
if (phase
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
126
|
+
if (phase === 'preprodUrl') {
|
|
127
|
+
if (key.escape) {
|
|
128
|
+
setPhase('list');
|
|
129
|
+
resetPreprodState();
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
if (key.return) {
|
|
133
|
+
submitUrl();
|
|
134
|
+
}
|
|
81
135
|
return;
|
|
82
136
|
}
|
|
83
|
-
if (
|
|
84
|
-
|
|
137
|
+
if (phase === 'preprodEmail') {
|
|
138
|
+
if (key.escape) {
|
|
139
|
+
setPhase('preprodUrl');
|
|
140
|
+
setEmailError(null);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (key.return) {
|
|
144
|
+
submitEmail();
|
|
145
|
+
}
|
|
85
146
|
}
|
|
86
147
|
});
|
|
87
148
|
if (phase === 'preprodUrl') {
|
|
88
|
-
return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Pre-production review" }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Enter the
|
|
149
|
+
return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Pre-production review" }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Enter the live website URL that mirrors the deployment target. We will create a Supabase run, trigger ai.enki.si checks, and stream CR batches for this host." }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Target URL" }), (0, jsx_runtime_1.jsx)(TextInput, { value: urlValue, onChange: (value) => {
|
|
89
150
|
setUrlValue(value);
|
|
90
151
|
if (urlError) {
|
|
91
152
|
setUrlError(null);
|
|
92
153
|
}
|
|
93
|
-
}, placeholder: "https://example.com", focus: true })] }), urlError && ((0, jsx_runtime_1.jsx)(Text, { color: "red", children: urlError })), (0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to
|
|
154
|
+
}, placeholder: "https://example.com", focus: true })] }), urlError && ((0, jsx_runtime_1.jsx)(Text, { color: "red", children: urlError })), (0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to confirm URL \u00B7 Esc to go back" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] })] }));
|
|
155
|
+
}
|
|
156
|
+
if (phase === 'preprodEmail') {
|
|
157
|
+
return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Pre-production review" }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Provide the email that should receive the consolidated HTML report. We will reuse it for Supabase tracking and the final SMTP send." }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", gap: 1, children: [(0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Target URL" }), (0, jsx_runtime_1.jsx)(Text, { children: pendingTargetUrl })] }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Recipient email" }), (0, jsx_runtime_1.jsx)(TextInput, { value: emailValue, onChange: (value) => {
|
|
158
|
+
setEmailValue(value);
|
|
159
|
+
if (emailError) {
|
|
160
|
+
setEmailError(null);
|
|
161
|
+
}
|
|
162
|
+
}, placeholder: "owner@example.com", focus: true })] })] }), emailError && (0, jsx_runtime_1.jsx)(Text, { color: "red", children: emailError }), (0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to start \u00B7 Esc to edit URL" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] })] }));
|
|
94
163
|
}
|
|
95
164
|
return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(Text, { color: "green", bold: true, children: "Choose review mode" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Use arrow keys, press Enter to start." }), (0, jsx_runtime_1.jsx)(SelectInput, { items: OPTIONS.map((option) => ({
|
|
96
165
|
label: option.label,
|
|
97
166
|
value: option.value,
|
|
98
|
-
})), onHighlight: (item) => setHighlighted(item.value), onSelect: (item) => handleModeSelect(item.value) }), (0, jsx_runtime_1.
|
|
167
|
+
})), onHighlight: (item) => setHighlighted(item.value), onSelect: (item) => handleModeSelect(item.value) }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, gap: 0, children: [(0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u00B7 ", OPTIONS.find((option) => option.value === highlighted)?.description] }), OPTIONS.find((option) => option.value === highlighted)?.details?.map((detail) => ((0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: [' ', "\u2022 ", detail] }, detail)))] })] }));
|
|
99
168
|
}
|
|
100
169
|
//# sourceMappingURL=ModeSelection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModeSelection.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ModeSelection.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ModeSelection.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ModeSelection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import type { ReviewStage } from '../../reviewPipeline';
|
|
1
|
+
import type { ReviewMode, ReviewStage, StreamingPhase } from '../../reviewPipeline';
|
|
2
2
|
interface ProgressScreenProps {
|
|
3
3
|
stage: ReviewStage;
|
|
4
4
|
filesFound?: number;
|
|
5
5
|
currentFile?: string;
|
|
6
6
|
currentIndex?: number;
|
|
7
7
|
totalFiles?: number;
|
|
8
|
+
filesReviewed?: number;
|
|
8
9
|
uncommittedFiles?: number;
|
|
9
10
|
contextFiles?: number;
|
|
11
|
+
streamingPhase?: StreamingPhase;
|
|
12
|
+
streamingBatchOrdinal?: number;
|
|
13
|
+
streamingBatchTotal?: number;
|
|
14
|
+
streamingBatchesCompleted?: number;
|
|
15
|
+
streamingBufferedFiles?: number;
|
|
16
|
+
streamingLastError?: string;
|
|
17
|
+
streamingRetryAttempt?: number;
|
|
18
|
+
mode?: ReviewMode;
|
|
10
19
|
}
|
|
11
|
-
export declare function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFiles, uncommittedFiles, contextFiles, }: ProgressScreenProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFiles, uncommittedFiles, contextFiles, streamingPhase, streamingBatchOrdinal, streamingBatchTotal, streamingBatchesCompleted, streamingBufferedFiles, streamingLastError, streamingRetryAttempt, mode, }: ProgressScreenProps): import("react/jsx-runtime").JSX.Element;
|
|
12
21
|
export {};
|
|
@@ -7,27 +7,28 @@ const Layout_1 = require("../Layout");
|
|
|
7
7
|
const inkModules_1 = require("../inkModules");
|
|
8
8
|
const STAGE_TEXT = {
|
|
9
9
|
preparing: {
|
|
10
|
-
title: 'Preparing
|
|
11
|
-
detail: '
|
|
10
|
+
title: 'Preparing pipeline',
|
|
11
|
+
detail: 'Linking Supabase, webchecks, and CR streaming',
|
|
12
12
|
},
|
|
13
13
|
collecting: {
|
|
14
14
|
title: 'Collecting files',
|
|
15
|
-
detail: 'Inspecting
|
|
15
|
+
detail: 'Inspecting the working tree',
|
|
16
16
|
},
|
|
17
17
|
reviewing: {
|
|
18
18
|
title: 'Running AI review',
|
|
19
|
-
detail: '
|
|
19
|
+
detail: 'Reviewing files and buffering CR batches',
|
|
20
20
|
},
|
|
21
21
|
merging: {
|
|
22
22
|
title: 'Merging reports',
|
|
23
23
|
detail: 'Normalizing findings and cost data',
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
|
-
function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFiles, uncommittedFiles, contextFiles, }) {
|
|
26
|
+
function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFiles, uncommittedFiles, contextFiles, streamingPhase, streamingBatchOrdinal, streamingBatchTotal, streamingBatchesCompleted, streamingBufferedFiles, streamingLastError, streamingRetryAttempt, mode, }) {
|
|
27
27
|
const { Box, Text } = (0, inkModules_1.getInk)();
|
|
28
28
|
const Spinner = (0, inkModules_1.getInkSpinner)();
|
|
29
29
|
const { frameWidth } = (0, Layout_1.useLayout)();
|
|
30
30
|
const meta = (0, react_1.useMemo)(() => STAGE_TEXT[stage], [stage]);
|
|
31
|
+
const isPreprod = mode === 'preprod';
|
|
31
32
|
const base = typeof uncommittedFiles === 'number' ? uncommittedFiles : undefined;
|
|
32
33
|
const context = typeof contextFiles === 'number' ? contextFiles : undefined;
|
|
33
34
|
const totalBreakdown = base !== undefined || context !== undefined
|
|
@@ -49,7 +50,28 @@ function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFil
|
|
|
49
50
|
const availableWidth = Math.max(10, frameWidth - 10);
|
|
50
51
|
return truncateMiddle(currentFile, availableWidth);
|
|
51
52
|
}, [currentFile, frameWidth]);
|
|
52
|
-
|
|
53
|
+
const batchLine = isPreprod && typeof streamingBatchesCompleted === 'number'
|
|
54
|
+
? `Batches sent: ${streamingBatchesCompleted}`
|
|
55
|
+
: undefined;
|
|
56
|
+
const streamingPhaseLine = (() => {
|
|
57
|
+
if (!isPreprod)
|
|
58
|
+
return undefined;
|
|
59
|
+
switch (streamingPhase) {
|
|
60
|
+
case 'creating-run':
|
|
61
|
+
return 'Preparing preprod run…';
|
|
62
|
+
case 'triggering-webcheck':
|
|
63
|
+
return 'Triggering webcheck…';
|
|
64
|
+
case 'buffering':
|
|
65
|
+
return 'Streaming: buffering batch payloads';
|
|
66
|
+
case 'sending':
|
|
67
|
+
return `Streaming: sending batch ${streamingBatchOrdinal ?? '?'} of ${streamingBatchTotal ?? '?'}`;
|
|
68
|
+
case 'error':
|
|
69
|
+
return `Streaming error${streamingRetryAttempt ? ` (retry ${streamingRetryAttempt}/3)` : ''}: ${streamingLastError ?? 'unknown issue'}`;
|
|
70
|
+
default:
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
})();
|
|
74
|
+
return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Box, { gap: 1, children: (0, jsx_runtime_1.jsxs)(Text, { children: [(0, jsx_runtime_1.jsx)(Spinner, { type: "line" }), " ", meta.title] }) }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: meta.detail }), fileStatus && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: fileStatus }), totalBreakdown && !isPreprod && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: totalBreakdown }), showReviewingProgress && ((0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: `Reviewing (${currentIndex}/${totalFiles}): ${truncatedPath}` })), batchLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: batchLine }), streamingPhaseLine && ((0, jsx_runtime_1.jsx)(Text, { color: streamingPhase === 'error' ? 'red' : undefined, dimColor: streamingPhase !== 'error', children: streamingPhaseLine }))] }));
|
|
53
75
|
}
|
|
54
76
|
function truncateMiddle(value, maxLength) {
|
|
55
77
|
if (value.length <= maxLength) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ProgressScreen.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ProgressScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ProgressScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const inkModules_1 = require("../inkModules");
|
|
|
8
8
|
function ResultsScreen({ result, debugLogPath }) {
|
|
9
9
|
const { Box, Text } = (0, inkModules_1.getInk)();
|
|
10
10
|
const { frameWidth } = (0, Layout_1.useLayout)();
|
|
11
|
+
const finalizedByEdgeService = result.finalizationByEdgeService === true;
|
|
11
12
|
const severityRows = (0, react_1.useMemo)(() => {
|
|
12
13
|
const totals = result.totals || { critical: 0, high: 0, medium: 0, low: 0 };
|
|
13
14
|
return [
|
|
@@ -24,6 +25,10 @@ function ResultsScreen({ result, debugLogPath }) {
|
|
|
24
25
|
return `Scope: ${breakdown.uncommitted} uncommitted + ${breakdown.context} context files`;
|
|
25
26
|
}, [result.fileBreakdown]);
|
|
26
27
|
const summaryText = result.reportSummary?.trim() || 'Summary unavailable. Open the saved report for details.';
|
|
27
|
-
|
|
28
|
+
const estimatedCostLine = typeof result.estimatedCostUSD === 'number'
|
|
29
|
+
? `Estimated cost: $${result.estimatedCostUSD.toFixed(2)}`
|
|
30
|
+
: null;
|
|
31
|
+
return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsxs)(Text, { color: "green", bold: true, children: ["Review complete for ", result.repo] }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Duration: ", result.duration, "s \u2014 Files reviewed: ", result.filesReviewed] }), scopeLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: scopeLine }), finalizedByEdgeService ? ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Preprod run finished" }), (0, jsx_runtime_1.jsx)(Text, { children: "Edge service will finalize the merged report and email the results. Severity totals below reflect the streamed findings so far." }), estimatedCostLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: estimatedCostLine })] })) : ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "LLM summary" }), (0, jsx_runtime_1.jsx)(Text, { children: summaryText }), estimatedCostLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: estimatedCostLine })] })), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, children: [(0, jsx_runtime_1.jsx)(Text, { bold: true, children: "Severity totals" }), (0, jsx_runtime_1.jsx)(Box, { flexDirection: "row", flexWrap: "wrap", children: severityRows.map((row) => ((0, jsx_runtime_1.jsx)(Box, { width: 24, children: (0, jsx_runtime_1.jsxs)(Text, { children: [row.label, ": ", row.value] }) }, row.label))) })] }), !finalizedByEdgeService &&
|
|
32
|
+
(result.findings.length === 0 ? ((0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "No findings reported." })) : ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, children: [(0, jsx_runtime_1.jsx)(Text, { bold: true, children: "Sample findings" }), result.findings.slice(0, 5).map((finding, index) => ((0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u00B7 ", finding.filePath ?? finding.file ?? 'unknown', ' ', finding.priority ? `(${finding.priority})` : ''] }, `${finding.filePath ?? finding.file ?? 'unknown'}-${index}`))), result.findings.length > 5 && ((0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u2026and ", result.findings.length - 5, " more in the saved report."] }))] }))), result.reportPath && !finalizedByEdgeService && ((0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Report saved to: ", result.reportPath] }) })), debugLogPath && ((0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug logs saved to: ", debugLogPath] }) })), (0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to return to mode selection." }) })] }));
|
|
28
33
|
}
|
|
29
34
|
//# sourceMappingURL=ResultsScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultsScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ResultsScreen.tsx"],"names":[],"mappings":";;AAUA,
|
|
1
|
+
{"version":3,"file":"ResultsScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ResultsScreen.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codereview-aia",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "codereview-aia CLI",
|
|
5
5
|
"author": "rrretsuf",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"i18next": "^24.2.3",
|
|
40
40
|
"i18next-fs-backend": "^2.6.0",
|
|
41
41
|
"i18next-icu": "^2.3.0",
|
|
42
|
+
"ignore": "^5.3.2",
|
|
42
43
|
"ink": "^6.4.0",
|
|
43
44
|
"ink-select-input": "^6.2.0",
|
|
44
45
|
"ink-spinner": "^5.0.0",
|
|
@@ -84,4 +85,4 @@
|
|
|
84
85
|
"esbuild": "^0.25.3",
|
|
85
86
|
"jsdom": "^26.0.0"
|
|
86
87
|
}
|
|
87
|
-
}
|
|
88
|
+
}
|