chainwall 2.1.0 → 2.2.2

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 (151) hide show
  1. package/LICENSE +44 -1
  2. package/README.md +213 -105
  3. package/dist/auditor/miner-detector.d.ts +16 -0
  4. package/dist/auditor/miner-detector.d.ts.map +1 -1
  5. package/dist/auditor/miner-detector.js +54 -10
  6. package/dist/auditor/miner-detector.js.map +1 -1
  7. package/dist/auditor/remediation.d.ts +9 -0
  8. package/dist/auditor/remediation.d.ts.map +1 -1
  9. package/dist/auditor/remediation.js +292 -1
  10. package/dist/auditor/remediation.js.map +1 -1
  11. package/dist/cli.js +29 -1
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands/monitor.d.ts +13 -0
  14. package/dist/commands/monitor.d.ts.map +1 -0
  15. package/dist/commands/monitor.js +102 -0
  16. package/dist/commands/monitor.js.map +1 -0
  17. package/dist/config.d.ts +4 -0
  18. package/dist/config.d.ts.map +1 -1
  19. package/dist/config.js +55 -0
  20. package/dist/config.js.map +1 -1
  21. package/dist/mcp-server/index.d.ts.map +1 -1
  22. package/dist/mcp-server/index.js +4 -0
  23. package/dist/mcp-server/index.js.map +1 -1
  24. package/dist/mcp-server/schemas.d.ts +2 -0
  25. package/dist/mcp-server/schemas.d.ts.map +1 -1
  26. package/dist/mcp-server/schemas.js +2 -0
  27. package/dist/mcp-server/schemas.js.map +1 -1
  28. package/dist/mcp-server/tools/capture-baseline.d.ts +3 -0
  29. package/dist/mcp-server/tools/capture-baseline.d.ts.map +1 -0
  30. package/dist/mcp-server/tools/capture-baseline.js +42 -0
  31. package/dist/mcp-server/tools/capture-baseline.js.map +1 -0
  32. package/dist/mcp-server/tools/monitor-snapshot.d.ts +3 -0
  33. package/dist/mcp-server/tools/monitor-snapshot.d.ts.map +1 -0
  34. package/dist/mcp-server/tools/monitor-snapshot.js +53 -0
  35. package/dist/mcp-server/tools/monitor-snapshot.js.map +1 -0
  36. package/dist/monitor/baseline.d.ts +6 -0
  37. package/dist/monitor/baseline.d.ts.map +1 -0
  38. package/dist/monitor/baseline.js +64 -0
  39. package/dist/monitor/baseline.js.map +1 -0
  40. package/dist/monitor/browser-scanner.d.ts +4 -0
  41. package/dist/monitor/browser-scanner.d.ts.map +1 -0
  42. package/dist/monitor/browser-scanner.js +141 -0
  43. package/dist/monitor/browser-scanner.js.map +1 -0
  44. package/dist/monitor/clipboard-scanner.d.ts +3 -0
  45. package/dist/monitor/clipboard-scanner.d.ts.map +1 -0
  46. package/dist/monitor/clipboard-scanner.js +49 -0
  47. package/dist/monitor/clipboard-scanner.js.map +1 -0
  48. package/dist/monitor/correlation.d.ts +9 -0
  49. package/dist/monitor/correlation.d.ts.map +1 -0
  50. package/dist/monitor/correlation.js +117 -0
  51. package/dist/monitor/correlation.js.map +1 -0
  52. package/dist/monitor/index.d.ts +13 -0
  53. package/dist/monitor/index.d.ts.map +1 -0
  54. package/dist/monitor/index.js +11 -0
  55. package/dist/monitor/index.js.map +1 -0
  56. package/dist/monitor/known-good.d.ts +24 -0
  57. package/dist/monitor/known-good.d.ts.map +1 -0
  58. package/dist/monitor/known-good.js +82 -0
  59. package/dist/monitor/known-good.js.map +1 -0
  60. package/dist/monitor/network-scanner.d.ts +4 -0
  61. package/dist/monitor/network-scanner.d.ts.map +1 -0
  62. package/dist/monitor/network-scanner.js +123 -0
  63. package/dist/monitor/network-scanner.js.map +1 -0
  64. package/dist/monitor/persistence-scanner.d.ts +4 -0
  65. package/dist/monitor/persistence-scanner.d.ts.map +1 -0
  66. package/dist/monitor/persistence-scanner.js +156 -0
  67. package/dist/monitor/persistence-scanner.js.map +1 -0
  68. package/dist/monitor/process-scanner.d.ts +6 -0
  69. package/dist/monitor/process-scanner.d.ts.map +1 -0
  70. package/dist/monitor/process-scanner.js +101 -0
  71. package/dist/monitor/process-scanner.js.map +1 -0
  72. package/dist/monitor/shadow-ai-scanner.d.ts +3 -0
  73. package/dist/monitor/shadow-ai-scanner.d.ts.map +1 -0
  74. package/dist/monitor/shadow-ai-scanner.js +70 -0
  75. package/dist/monitor/shadow-ai-scanner.js.map +1 -0
  76. package/dist/monitor/types.d.ts +79 -0
  77. package/dist/monitor/types.d.ts.map +1 -0
  78. package/dist/monitor/types.js +12 -0
  79. package/dist/monitor/types.js.map +1 -0
  80. package/dist/reporter/monitor-report.d.ts +3 -0
  81. package/dist/reporter/monitor-report.d.ts.map +1 -0
  82. package/dist/reporter/monitor-report.js +89 -0
  83. package/dist/reporter/monitor-report.js.map +1 -0
  84. package/dist/reporter/risk-scorer.d.ts +2 -0
  85. package/dist/reporter/risk-scorer.d.ts.map +1 -1
  86. package/dist/reporter/risk-scorer.js +12 -0
  87. package/dist/reporter/risk-scorer.js.map +1 -1
  88. package/dist/reporter/shared.d.ts.map +1 -1
  89. package/dist/reporter/shared.js +5 -3
  90. package/dist/reporter/shared.js.map +1 -1
  91. package/dist/rules/exfiltration-rules.d.ts +3 -0
  92. package/dist/rules/exfiltration-rules.d.ts.map +1 -0
  93. package/dist/rules/exfiltration-rules.js +181 -0
  94. package/dist/rules/exfiltration-rules.js.map +1 -0
  95. package/dist/rules/index.d.ts +2 -1
  96. package/dist/rules/index.d.ts.map +1 -1
  97. package/dist/rules/index.js +3 -1
  98. package/dist/rules/index.js.map +1 -1
  99. package/dist/rules/types.d.ts +9 -1
  100. package/dist/rules/types.d.ts.map +1 -1
  101. package/dist/scanner/filesystem-scanner.d.ts.map +1 -1
  102. package/dist/scanner/filesystem-scanner.js +27 -10
  103. package/dist/scanner/filesystem-scanner.js.map +1 -1
  104. package/dist/tui/App.d.ts.map +1 -1
  105. package/dist/tui/App.js +10 -2
  106. package/dist/tui/App.js.map +1 -1
  107. package/dist/tui/components/Footer.d.ts +2 -3
  108. package/dist/tui/components/Footer.d.ts.map +1 -1
  109. package/dist/tui/components/Footer.js +11 -5
  110. package/dist/tui/components/Footer.js.map +1 -1
  111. package/dist/tui/components/WelcomeScreen.d.ts.map +1 -1
  112. package/dist/tui/components/WelcomeScreen.js +1 -1
  113. package/dist/tui/components/WelcomeScreen.js.map +1 -1
  114. package/dist/tui/educational.d.ts +6 -0
  115. package/dist/tui/educational.d.ts.map +1 -1
  116. package/dist/tui/educational.js +37 -0
  117. package/dist/tui/educational.js.map +1 -1
  118. package/dist/tui/hooks/useLogs.d.ts +1 -1
  119. package/dist/tui/hooks/useLogs.d.ts.map +1 -1
  120. package/dist/tui/hooks/useMonitor.d.ts +28 -0
  121. package/dist/tui/hooks/useMonitor.d.ts.map +1 -0
  122. package/dist/tui/hooks/useMonitor.js +127 -0
  123. package/dist/tui/hooks/useMonitor.js.map +1 -0
  124. package/dist/tui/screens/AuditPanel.d.ts.map +1 -1
  125. package/dist/tui/screens/AuditPanel.js +109 -9
  126. package/dist/tui/screens/AuditPanel.js.map +1 -1
  127. package/dist/tui/screens/MonitorPanel.d.ts +2 -0
  128. package/dist/tui/screens/MonitorPanel.d.ts.map +1 -0
  129. package/dist/tui/screens/MonitorPanel.js +370 -0
  130. package/dist/tui/screens/MonitorPanel.js.map +1 -0
  131. package/dist/tui/screens/OverviewPanel.d.ts.map +1 -1
  132. package/dist/tui/screens/OverviewPanel.js +9 -3
  133. package/dist/tui/screens/OverviewPanel.js.map +1 -1
  134. package/dist/tui/screens/ScanPanel.d.ts.map +1 -1
  135. package/dist/tui/screens/ScanPanel.js +5 -5
  136. package/dist/tui/screens/ScanPanel.js.map +1 -1
  137. package/dist/tui/screens/ScanResultsPanel.d.ts.map +1 -1
  138. package/dist/tui/screens/ScanResultsPanel.js +104 -32
  139. package/dist/tui/screens/ScanResultsPanel.js.map +1 -1
  140. package/dist/tui/state.d.ts +7 -3
  141. package/dist/tui/state.d.ts.map +1 -1
  142. package/dist/tui/state.js +1 -0
  143. package/dist/tui/state.js.map +1 -1
  144. package/dist/tui/utils/open-file.d.ts +4 -0
  145. package/dist/tui/utils/open-file.d.ts.map +1 -0
  146. package/dist/tui/utils/open-file.js +29 -0
  147. package/dist/tui/utils/open-file.js.map +1 -0
  148. package/install.sh +23 -12
  149. package/package.json +1 -1
  150. package/patterns/exfiltration.yaml +160 -0
  151. package/uninstall.sh +14 -10
@@ -0,0 +1,370 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useCallback, useEffect, useMemo } from 'react';
3
+ import { Box, Text, useInput } from 'ink';
4
+ import { ProgressBar } from '@inkjs/ui';
5
+ import Spinner from 'ink-spinner';
6
+ import { useAppContext } from '../state.js';
7
+ import { useMonitor } from '../hooks/useMonitor.js';
8
+ import { useTermSize } from '../App.js';
9
+ import { THEME, ICONS, SEVERITY_COLORS } from '../theme.js';
10
+ import { SectionHeader } from '../components/SectionHeader.js';
11
+ import { RiskGauge } from '../components/RiskGauge.js';
12
+ import { RemediationMenu } from '../components/RemediationMenu.js';
13
+ import { MONITOR_EXPLAINERS } from '../educational.js';
14
+ import { getActionsForMonitorFinding, restoreBackup } from '../../auditor/remediation.js';
15
+ import { openFile } from '../utils/open-file.js';
16
+ import { existsSync } from 'node:fs';
17
+ import { execFileSync } from 'node:child_process';
18
+ const MODE_OPTIONS = [
19
+ { label: 'Quick Scan', desc: 'Processes + network connections (~3s)' },
20
+ { label: 'Full Scan', desc: 'All 6 scanners: process, network, browser, shadow AI, clipboard, persistence (~8s)' },
21
+ ];
22
+ const CATEGORY_ORDER = ['process', 'network', 'browser', 'shadow_ai', 'clipboard', 'persistence'];
23
+ const CATEGORY_LABELS = {
24
+ process: 'Process Monitor',
25
+ network: 'Network Monitor',
26
+ browser: 'Browser Extensions',
27
+ shadow_ai: 'Shadow AI Tools',
28
+ clipboard: 'Clipboard',
29
+ persistence: 'Persistence',
30
+ };
31
+ const SEVERITY_ICON = {
32
+ critical: '[!]',
33
+ high: '[H]',
34
+ medium: '[M]',
35
+ low: '[-]',
36
+ };
37
+ const SEVERITY_CYCLE = [null, 'critical', 'high', 'medium', 'low'];
38
+ function buildVirtualList(result, expandedSections, severityFilter) {
39
+ const items = [];
40
+ for (let i = 0; i < CATEGORY_ORDER.length; i++) {
41
+ const cat = CATEGORY_ORDER[i];
42
+ let catFindings = result.findings.filter(f => f.category === cat);
43
+ if (severityFilter) {
44
+ catFindings = catFindings.filter(f => f.severity === severityFilter);
45
+ }
46
+ items.push({ type: 'section-header', sectionIndex: i, category: cat, count: catFindings.length });
47
+ if (expandedSections.has(i)) {
48
+ if (catFindings.length === 0) {
49
+ items.push({ type: 'section-empty', sectionIndex: i });
50
+ }
51
+ else {
52
+ for (const finding of catFindings) {
53
+ items.push({ type: 'finding', sectionIndex: i, finding });
54
+ }
55
+ }
56
+ }
57
+ }
58
+ return items;
59
+ }
60
+ export function MonitorPanel() {
61
+ const { setNumberKeysOverridden, setPanelState, setFocusArea, state: appState } = useAppContext();
62
+ const monitor = useMonitor();
63
+ const termSize = useTermSize();
64
+ const [modeIndex, setModeIndex] = useState(1); // Default: Full
65
+ const isFocused = appState.focusArea === 'content';
66
+ // In idle: combined selection of mode options (0,1) and history items (2+)
67
+ const [idleIndex, setIdleIndex] = useState(1); // Default: Full (index 1)
68
+ const totalIdleItems = MODE_OPTIONS.length + monitor.history.length;
69
+ // Results navigation state
70
+ const [selectedIndex, setSelectedIndex] = useState(0);
71
+ const [expandedSections, setExpandedSections] = useState(new Set());
72
+ const [detailExpanded, setDetailExpanded] = useState(false);
73
+ const [severityFilter, setSeverityFilter] = useState(null);
74
+ // Remediation state
75
+ const [showRemediation, setShowRemediation] = useState(false);
76
+ const [remediationActions, setRemediationActions] = useState([]);
77
+ const [remediationTitle, setRemediationTitle] = useState('');
78
+ // Undo state
79
+ const [lastBackup, setLastBackup] = useState(null);
80
+ const [undoStatus, setUndoStatus] = useState(null);
81
+ const [openStatus, setOpenStatus] = useState(null);
82
+ // Sync panel state for footer
83
+ useEffect(() => {
84
+ if (monitor.phase === 'idle') {
85
+ setPanelState('mode-selection');
86
+ }
87
+ else if (monitor.phase === 'error') {
88
+ setPanelState('error');
89
+ }
90
+ else if (monitor.phase === 'done') {
91
+ setPanelState(showRemediation ? 'remediating' : 'results');
92
+ }
93
+ else {
94
+ setPanelState('running');
95
+ }
96
+ }, [monitor.phase, showRemediation, setPanelState]);
97
+ // Override number keys when viewing results
98
+ useEffect(() => {
99
+ setNumberKeysOverridden(monitor.phase === 'done');
100
+ return () => setNumberKeysOverridden(false);
101
+ }, [monitor.phase, setNumberKeysOverridden]);
102
+ const virtualList = useMemo(() => {
103
+ if (!monitor.result)
104
+ return [];
105
+ return buildVirtualList(monitor.result, expandedSections, severityFilter);
106
+ }, [monitor.result, expandedSections, severityFilter]);
107
+ // handleStart is no longer needed; idle handler uses idleIndex directly
108
+ const handleRemediationComplete = useCallback((res) => {
109
+ if (res.success && res.backupPath) {
110
+ const item = virtualList[selectedIndex];
111
+ if (item?.type === 'finding' && item.finding.target) {
112
+ setLastBackup({ backupPath: res.backupPath, originalPath: item.finding.target });
113
+ }
114
+ }
115
+ }, [virtualList, selectedIndex]);
116
+ useInput((input, key) => {
117
+ if (!isFocused)
118
+ return;
119
+ // Idle: mode selection + history navigation
120
+ if (monitor.phase === 'idle') {
121
+ if (key.upArrow || input === 'k') {
122
+ setIdleIndex(i => Math.max(i - 1, 0));
123
+ }
124
+ if (key.downArrow || input === 'j') {
125
+ setIdleIndex(i => Math.min(i + 1, totalIdleItems - 1));
126
+ }
127
+ if (key.return) {
128
+ if (idleIndex < MODE_OPTIONS.length) {
129
+ // Mode option selected — start scan
130
+ const mode = idleIndex === 0 ? 'quick' : 'full';
131
+ monitor.startMonitor(mode);
132
+ }
133
+ else {
134
+ // History item selected — review it
135
+ const histIdx = idleIndex - MODE_OPTIONS.length;
136
+ monitor.reviewHistory(histIdx);
137
+ }
138
+ }
139
+ if (key.escape)
140
+ setFocusArea('sidebar');
141
+ return;
142
+ }
143
+ // Scanning: allow cancel
144
+ if (monitor.phase === 'scanning' || monitor.phase === 'correlating') {
145
+ if (key.escape)
146
+ monitor.cancel();
147
+ return;
148
+ }
149
+ // Error: reset
150
+ if (monitor.phase === 'error') {
151
+ if (key.return || key.escape)
152
+ monitor.reset();
153
+ return;
154
+ }
155
+ // Done: navigate results
156
+ if (monitor.phase === 'done' && monitor.result) {
157
+ // Remediation menu is active — let it handle input
158
+ if (showRemediation)
159
+ return;
160
+ // Esc: cascading dismiss — final step returns to mode selection, not sidebar
161
+ if (key.escape) {
162
+ if (detailExpanded) {
163
+ setDetailExpanded(false);
164
+ }
165
+ else if (severityFilter) {
166
+ setSeverityFilter(null);
167
+ }
168
+ else {
169
+ monitor.reset();
170
+ setSelectedIndex(0);
171
+ setExpandedSections(new Set());
172
+ setDetailExpanded(false);
173
+ setSeverityFilter(null);
174
+ }
175
+ return;
176
+ }
177
+ // Undo last action
178
+ if (input === 'u' && lastBackup) {
179
+ const res = restoreBackup(lastBackup.backupPath, lastBackup.originalPath);
180
+ setUndoStatus(res.success ? res.message : `Undo failed: ${res.message}`);
181
+ setLastBackup(null);
182
+ setTimeout(() => setUndoStatus(null), 3000);
183
+ return;
184
+ }
185
+ // j/k navigation — keep detail expanded, clear status messages
186
+ if (input === 'j' || key.downArrow) {
187
+ setSelectedIndex(i => Math.min(i + 1, virtualList.length - 1));
188
+ setOpenStatus(null);
189
+ setUndoStatus(null);
190
+ return;
191
+ }
192
+ if (input === 'k' || key.upArrow) {
193
+ setSelectedIndex(i => Math.max(i - 1, 0));
194
+ setOpenStatus(null);
195
+ setUndoStatus(null);
196
+ return;
197
+ }
198
+ // Enter: toggle section expand or detail
199
+ if (key.return) {
200
+ const item = virtualList[selectedIndex];
201
+ if (!item)
202
+ return;
203
+ if (item.type === 'section-header') {
204
+ setExpandedSections(prev => {
205
+ const next = new Set(prev);
206
+ if (next.has(item.sectionIndex)) {
207
+ next.delete(item.sectionIndex);
208
+ }
209
+ else {
210
+ next.add(item.sectionIndex);
211
+ }
212
+ return next;
213
+ });
214
+ }
215
+ else if (item.type === 'finding') {
216
+ setDetailExpanded(v => !v);
217
+ }
218
+ return;
219
+ }
220
+ // 1-6 jump to section
221
+ const num = parseInt(input, 10);
222
+ if (num >= 1 && num <= 6) {
223
+ const targetIdx = virtualList.findIndex(item => item.type === 'section-header' && item.sectionIndex === num - 1);
224
+ if (targetIdx >= 0) {
225
+ setSelectedIndex(targetIdx);
226
+ setExpandedSections(prev => {
227
+ const next = new Set(prev);
228
+ if (next.has(num - 1)) {
229
+ next.delete(num - 1);
230
+ }
231
+ else {
232
+ next.add(num - 1);
233
+ }
234
+ return next;
235
+ });
236
+ }
237
+ return;
238
+ }
239
+ // Tab: cycle sections
240
+ if (key.tab) {
241
+ const currentSection = virtualList[selectedIndex]?.type === 'section-header'
242
+ ? virtualList[selectedIndex].sectionIndex
243
+ : -1;
244
+ const nextSection = (currentSection + 1) % CATEGORY_ORDER.length;
245
+ const targetIdx = virtualList.findIndex(item => item.type === 'section-header' && item.sectionIndex === nextSection);
246
+ if (targetIdx >= 0)
247
+ setSelectedIndex(targetIdx);
248
+ return;
249
+ }
250
+ // f: cycle severity filter
251
+ if (input === 'f') {
252
+ setSeverityFilter(prev => {
253
+ const currentIdx = SEVERITY_CYCLE.indexOf(prev);
254
+ return SEVERITY_CYCLE[(currentIdx + 1) % SEVERITY_CYCLE.length];
255
+ });
256
+ setSelectedIndex(0);
257
+ return;
258
+ }
259
+ // r: open remediation
260
+ if (input === 'r') {
261
+ const item = virtualList[selectedIndex];
262
+ if (item?.type !== 'finding')
263
+ return;
264
+ const actions = getActionsForMonitorFinding(item.finding);
265
+ setRemediationActions(actions);
266
+ setRemediationTitle(item.finding.title);
267
+ setShowRemediation(true);
268
+ return;
269
+ }
270
+ // a: quick-add to allowlist
271
+ if (input === 'a') {
272
+ const item = virtualList[selectedIndex];
273
+ if (item?.type !== 'finding')
274
+ return;
275
+ const actions = getActionsForMonitorFinding(item.finding);
276
+ const allowlistAction = actions.find(a => a.type.includes('allowlist'));
277
+ if (allowlistAction) {
278
+ allowlistAction.execute().then(res => {
279
+ setUndoStatus(res.success ? res.message : `Failed: ${res.message}`);
280
+ setTimeout(() => setUndoStatus(null), 3000);
281
+ });
282
+ }
283
+ return;
284
+ }
285
+ // o: locate/open target
286
+ if (input === 'o') {
287
+ const item = virtualList[selectedIndex];
288
+ if (item?.type !== 'finding')
289
+ return;
290
+ const f = item.finding;
291
+ if (f.target && existsSync(f.target)) {
292
+ const msg = openFile(f.target);
293
+ setOpenStatus(msg);
294
+ }
295
+ else if (f.pid) {
296
+ try {
297
+ const output = execFileSync('ps', ['-p', String(f.pid), '-o', 'pid,ppid,user,%cpu,%mem,command'], {
298
+ timeout: 5000, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'],
299
+ });
300
+ setOpenStatus(output.trim());
301
+ }
302
+ catch {
303
+ setOpenStatus(`Process ${f.pid} not found (may have exited)`);
304
+ }
305
+ }
306
+ else {
307
+ setOpenStatus('No file path or process to locate');
308
+ }
309
+ return;
310
+ }
311
+ }
312
+ });
313
+ // Idle mode — mode selector + history
314
+ if (monitor.phase === 'idle') {
315
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "MONITOR" }), _jsx(Text, { color: THEME.primaryDim, wrap: "wrap", children: "Analyzes runtime behavior \u2014 running processes, network connections, browser extensions, clipboard, and persistence mechanisms. Compares against baseline to detect new threats." }), _jsx(SectionHeader, { title: "SELECT MODE" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: MODE_OPTIONS.map((opt, i) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: i === idleIndex ? THEME.brand : THEME.muted, children: i === idleIndex ? ICONS.arrow : ' ' }), _jsx(Text, { color: i === idleIndex ? THEME.brand : THEME.primary, bold: i === idleIndex, children: opt.label }), _jsx(Text, { color: THEME.label, children: opt.desc })] }), i < MODE_OPTIONS.length - 1 && _jsx(Text, { children: " " })] }, i))) }), monitor.history.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(SectionHeader, { title: "PREVIOUS SCANS" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: monitor.history.map((entry, i) => {
316
+ const idx = MODE_OPTIONS.length + i;
317
+ const isSelected = idx === idleIndex;
318
+ const riskColor = entry.result.riskLabel === 'critical' ? THEME.critical
319
+ : entry.result.riskLabel === 'high' ? THEME.warning
320
+ : entry.result.riskLabel === 'low' ? THEME.success : THEME.info;
321
+ const time = new Date(entry.timestamp).toLocaleTimeString();
322
+ return (_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: isSelected ? THEME.brand : THEME.muted, children: isSelected ? ICONS.arrow : ' ' }), _jsx(Text, { color: isSelected ? THEME.brand : THEME.primary, children: entry.mode === 'quick' ? 'Quick' : 'Full' }), _jsx(Text, { color: riskColor, children: entry.result.riskLabel }), _jsxs(Text, { color: THEME.value, children: [entry.result.findings.length, " findings"] }), _jsx(Text, { color: THEME.muted, children: time })] }, i));
323
+ }) })] }))] }));
324
+ }
325
+ // Scanning / correlating
326
+ if (monitor.phase === 'scanning' || monitor.phase === 'correlating') {
327
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "MONITOR IN PROGRESS", color: THEME.brand }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.brand, children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { color: THEME.primary, children: [monitor.currentStep, " (", monitor.progress, "%)"] })] }), _jsx(Box, { marginTop: 1, children: _jsx(ProgressBar, { value: monitor.progress }) }), _jsx(Text, { color: THEME.muted, children: "Press Esc to cancel" })] })] }));
328
+ }
329
+ // Error
330
+ if (monitor.phase === 'error') {
331
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "MONITOR ERROR", color: THEME.critical }), _jsx(Text, { color: THEME.critical, children: monitor.error }), _jsx(Text, { color: THEME.primaryDim, children: "Press Enter to try again." })] }));
332
+ }
333
+ // Done — results view
334
+ if (monitor.phase === 'done' && monitor.result) {
335
+ const result = monitor.result;
336
+ const listHeight = termSize.listHeight;
337
+ const currentItem = virtualList[selectedIndex];
338
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "MONITOR RESULTS" }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(RiskGauge, { score: result.riskScore, label: result.riskLabel }), _jsxs(Box, { gap: 2, children: [_jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Findings:" }), " ", _jsx(Text, { color: THEME.value, children: result.findings.length })] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Duration:" }), " ", _jsxs(Text, { color: THEME.primaryDim, children: [result.durationMs, "ms"] })] })] }), result.baselineDelta && (_jsx(Box, { children: (result.baselineDelta.newProcesses.length + result.baselineDelta.newConnections.length +
339
+ result.baselineDelta.newExtensions.length + result.baselineDelta.newPersistence.length) > 0 ? (_jsx(Text, { color: THEME.warning, children: "[NEW] Changes since baseline detected" })) : (_jsx(Text, { color: THEME.success, children: "No changes since baseline" })) })), severityFilter && (_jsxs(Text, { color: SEVERITY_COLORS[severityFilter], children: ["Filter: ", severityFilter.toUpperCase(), " only (f to cycle, Esc to clear)"] }))] }), _jsx(SectionHeader, { title: "SCANNER RESULTS" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: (() => {
340
+ const viewportSize = Math.max(listHeight, 6);
341
+ const viewportStart = Math.max(0, Math.min(selectedIndex - Math.floor(viewportSize / 2), virtualList.length - viewportSize));
342
+ const viewportEnd = Math.min(viewportStart + viewportSize, virtualList.length);
343
+ const aboveCount = viewportStart;
344
+ const belowCount = virtualList.length - viewportEnd;
345
+ return (_jsxs(_Fragment, { children: [aboveCount > 0 && (_jsxs(Text, { color: THEME.muted, children: [" ", ICONS.scrollUp, " ", aboveCount, " more above"] })), virtualList.slice(viewportStart, viewportEnd).map((item, vi) => {
346
+ const i = viewportStart + vi;
347
+ const isSelected = i === selectedIndex;
348
+ if (item.type === 'section-header') {
349
+ const isExpanded = expandedSections.has(item.sectionIndex);
350
+ const scannerResult = result.scannerResults.find(sr => sr.category === item.category);
351
+ const hasCritical = result.findings.some(f => f.category === item.category && f.severity === 'critical');
352
+ const hasHigh = result.findings.some(f => f.category === item.category && f.severity === 'high');
353
+ const statusColor = hasCritical ? THEME.critical : hasHigh ? THEME.warning :
354
+ item.count > 0 ? THEME.info : THEME.success;
355
+ return (_jsxs(Box, { backgroundColor: isSelected ? THEME.rowHighlight : undefined, children: [_jsxs(Text, { color: THEME.muted, children: [item.sectionIndex + 1, ". "] }), _jsxs(Text, { color: isSelected ? THEME.brand : THEME.muted, children: [isExpanded ? '\u25bc' : '\u25b6', ' '] }), _jsx(Text, { color: isSelected ? THEME.title : THEME.primary, bold: isSelected, children: CATEGORY_LABELS[item.category] }), _jsxs(Text, { color: statusColor, children: [" (", item.count, ")"] }), scannerResult && _jsxs(Text, { color: THEME.muted, children: [" ", scannerResult.durationMs, "ms"] })] }, `sh-${item.sectionIndex}`));
356
+ }
357
+ if (item.type === 'section-empty') {
358
+ return (_jsx(Box, { paddingLeft: 4, children: _jsx(Text, { color: THEME.success, children: "No findings." }) }, `empty-${item.sectionIndex}`));
359
+ }
360
+ // Finding row
361
+ const f = item.finding;
362
+ const sevColor = SEVERITY_COLORS[f.severity] ?? THEME.muted;
363
+ const icon = SEVERITY_ICON[f.severity] ?? '[-]';
364
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { backgroundColor: isSelected ? THEME.rowHighlight : undefined, paddingLeft: 4, children: [_jsxs(Text, { color: sevColor, children: [icon, " "] }), _jsx(Text, { color: isSelected ? THEME.title : sevColor, children: f.title }), f.pid && _jsxs(Text, { color: THEME.muted, children: [" PID:", f.pid] }), f.signals.length > 1 && (_jsxs(Text, { color: THEME.muted, children: [" (", f.signals.length, " signals)"] }))] }), isSelected && detailExpanded && (_jsxs(Box, { paddingLeft: 6, flexDirection: "column", borderStyle: "round", borderColor: THEME.border, marginLeft: 4, marginRight: 2, paddingX: 1, children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: sevColor, bold: true, children: f.severity.toUpperCase() }), _jsx(Text, { color: THEME.title, children: f.title })] }), _jsx(Text, { color: THEME.primaryDim, wrap: "wrap", children: f.description }), f.pid && (_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "PID: " }), _jsx(Text, { color: THEME.value, children: f.pid })] })), f.processName && (_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Process: " }), _jsx(Text, { color: THEME.value, children: f.processName })] })), f.target && (_jsxs(Box, { children: [_jsx(Text, { color: THEME.label, children: "Target: " }), _jsx(Text, { color: THEME.primaryDim, children: f.target })] })), f.signals.length > 0 && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.label, children: "Signals:" }), f.signals.map((sig, si) => (_jsxs(Text, { color: THEME.primaryDim, children: [' ', _jsx(Text, { color: THEME.brand, children: '\u25cf' }), " ", sig.type, " (w:", sig.weight.toFixed(1), ") ", sig.detail] }, si)))] })), MONITOR_EXPLAINERS[f.category] && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: THEME.warning, wrap: "wrap", children: ["Risk: ", MONITOR_EXPLAINERS[f.category].risk] }), _jsxs(Text, { color: THEME.primaryDim, wrap: "wrap", children: ["AI Impact: ", MONITOR_EXPLAINERS[f.category].aiImpact] }), _jsxs(Text, { color: THEME.success, wrap: "wrap", children: ["Action: ", MONITOR_EXPLAINERS[f.category].action] })] })), _jsx(Text, { color: THEME.title, children: "[r] remediate [a] allowlist [o] locate" })] }))] }, f.id));
365
+ }), belowCount > 0 && (_jsxs(Text, { color: THEME.muted, children: [" ", ICONS.scrollDown, " ", belowCount, " more below"] }))] }));
366
+ })() }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: THEME.hint, children: ["j/k:navigate Enter:expand r:remediate a:allowlist o:locate f:filter", lastBackup ? ' u:undo' : '', " Esc:back"] }) }), undoStatus && _jsx(Text, { color: THEME.brand, children: undoStatus }), openStatus && _jsx(Text, { color: THEME.brand, children: openStatus }), showRemediation && (_jsx(RemediationMenu, { title: remediationTitle, actions: remediationActions, onClose: () => setShowRemediation(false), onActionComplete: handleRemediationComplete }))] }));
367
+ }
368
+ return null;
369
+ }
370
+ //# sourceMappingURL=MonitorPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MonitorPanel.js","sourceRoot":"","sources":["../../../src/tui/screens/MonitorPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OverviewPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/OverviewPanel.tsx"],"names":[],"mappings":"AA4CA,wBAAgB,aAAa,4CAsM5B"}
1
+ {"version":3,"file":"OverviewPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/OverviewPanel.tsx"],"names":[],"mappings":"AA4CA,wBAAgB,aAAa,4CAwN5B"}
@@ -36,9 +36,15 @@ export function OverviewPanel() {
36
36
  const termSize = useTermSize();
37
37
  const [tools, setTools] = useState([]);
38
38
  const [toolsLoaded, setToolsLoaded] = useState(false);
39
+ const [toolsError, setToolsError] = useState(null);
39
40
  useEffect(() => {
40
- const detected = detectInstalledTools();
41
- setTools(detected);
41
+ try {
42
+ const detected = detectInstalledTools();
43
+ setTools(detected);
44
+ }
45
+ catch (err) {
46
+ setToolsError(err instanceof Error ? err.message : 'Failed to detect AI tools');
47
+ }
42
48
  setToolsLoaded(true);
43
49
  }, []);
44
50
  useEffect(() => {
@@ -79,6 +85,6 @@ export function OverviewPanel() {
79
85
  const auditTools = state.auditResult?.tools ?? tools;
80
86
  const focus = computeFocusLine(auditTools, exposures);
81
87
  return focus ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: THEME.warning, wrap: "wrap", children: ['\u26a0', " ", focus] }) })) : null;
82
- })(), _jsxs(Box, { marginTop: 1, gap: 4, flexWrap: "wrap", children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(StatusIndicator, { label: "Protection", value: hookStatus.protectionEnabled ? 'ON' : 'OFF', status: hookStatus.protectionEnabled ? 'ok' : 'error' }), _jsx(StatusIndicator, { label: "Hooks", value: hookStatus.checked ? (hookStatus.installed ? 'Installed' : 'Not installed') : 'Checking...', status: hookStatus.checked ? (hookStatus.installed ? 'ok' : 'warning') : 'inactive' })] }), _jsxs(Box, { flexDirection: "column", children: [_jsx(StatusIndicator, { label: "Last Scan", value: state.scanResult ? `${findingsCount} findings` : 'Not run', status: state.scanResult ? (findingsCount > 0 ? 'warning' : 'ok') : 'inactive' }), _jsx(StatusIndicator, { label: "Last Audit", value: state.auditResult ? `${state.auditResult.tools.length} tools` : 'Not run', status: state.auditResult ? 'ok' : 'inactive' })] })] }), _jsx(SectionHeader, { title: "DETECTED AI TOOLS", rightLabel: tools.length > 0 ? `${tools.length} found` : undefined }), tools.length > 0 ? (_jsxs(_Fragment, { children: [_jsx(Box, { marginTop: 1, borderStyle: "single", borderColor: THEME.border, paddingX: 1, flexDirection: "column", children: _jsx(Table, { columns: toolColumns, data: tools, selectedIndex: -1, height: Math.min(tools.length + 1, 8), keyExtractor: (t) => t.name, emptyMessage: "No AI tools detected." }) }), _jsx(Text, { color: THEME.primaryDim, children: "Full Access = entire filesystem | Workspace = project only | Limited = open file only" })] })) : (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: THEME.success, children: "No AI tools detected. Run an audit for a deeper check." }) })), _jsx(SectionHeader, { title: "GETTING STARTED" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", gap: 0, children: [_jsxs(Text, { color: THEME.primaryDim, wrap: "wrap", children: ["Press ", _jsx(Text, { color: THEME.title, bold: true, children: "1" }), "-", _jsx(Text, { color: THEME.title, bold: true, children: "5" }), " to jump between panels, or use the sidebar with arrow keys."] }), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '2 Scan ' }), _jsx(Text, { color: THEME.primaryDim, children: "Find exposed secrets, credentials, crypto keys, and PII on your machine" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '3 Audit ' }), _jsx(Text, { color: THEME.primaryDim, children: "Discover which AI tools are installed and what they can access" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '4 Settings' }), _jsx(Text, { color: THEME.primaryDim, children: "Configure allowlists, blocklists, and toggle real-time protection" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '5 Logs ' }), _jsx(Text, { color: THEME.primaryDim, children: "View hook activity, scan history, and blocked operations" })] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: THEME.muted, children: ["Tip: Start with ", _jsx(Text, { color: THEME.title, bold: true, children: "Audit" }), " to see what's exposed, then ", _jsx(Text, { color: THEME.title, bold: true, children: "Scan" }), " to find specific secrets. Press ", _jsx(Text, { color: THEME.title, bold: true, children: "?" }), " for all keybindings."] })] })] }));
88
+ })(), _jsxs(Box, { marginTop: 1, gap: 4, flexWrap: "wrap", children: [_jsxs(Box, { flexDirection: "column", children: [_jsx(StatusIndicator, { label: "Protection", value: hookStatus.protectionEnabled ? 'ON' : 'OFF', status: hookStatus.protectionEnabled ? 'ok' : 'error' }), _jsx(StatusIndicator, { label: "Hooks", value: hookStatus.checked ? (hookStatus.installed ? 'Installed' : 'Not installed') : 'Checking...', status: hookStatus.checked ? (hookStatus.installed ? 'ok' : 'warning') : 'inactive' })] }), _jsxs(Box, { flexDirection: "column", children: [_jsx(StatusIndicator, { label: "Last Scan", value: state.scanResult ? `${findingsCount} findings` : 'Not run', status: state.scanResult ? (findingsCount > 0 ? 'warning' : 'ok') : 'inactive' }), _jsx(StatusIndicator, { label: "Last Audit", value: state.auditResult ? `${state.auditResult.tools.length} tools` : 'Not run', status: state.auditResult ? 'ok' : 'inactive' }), _jsx(StatusIndicator, { label: "Last Monitor", value: state.monitorResult ? `${state.monitorResult.findings.length} findings` : 'Not run', status: state.monitorResult ? (state.monitorResult.findings.length > 0 ? 'warning' : 'ok') : 'inactive' })] })] }), _jsx(SectionHeader, { title: "DETECTED AI TOOLS", rightLabel: tools.length > 0 ? `${tools.length} found` : undefined }), toolsError ? (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: THEME.warning, children: ["Tool detection failed: ", toolsError] }) })) : tools.length > 0 ? (_jsxs(_Fragment, { children: [_jsx(Box, { marginTop: 1, borderStyle: "single", borderColor: THEME.border, paddingX: 1, flexDirection: "column", children: _jsx(Table, { columns: toolColumns, data: tools, selectedIndex: -1, height: Math.min(tools.length + 1, 8), keyExtractor: (t) => t.name, emptyMessage: "No AI tools detected." }) }), _jsx(Text, { color: THEME.primaryDim, children: "Full Access = entire filesystem | Workspace = project only | Limited = open file only" })] })) : (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: THEME.success, children: "No AI tools detected. Run an audit for a deeper check." }) })), _jsx(SectionHeader, { title: "GETTING STARTED" }), _jsxs(Box, { marginTop: 1, flexDirection: "column", gap: 0, children: [_jsxs(Text, { color: THEME.primaryDim, wrap: "wrap", children: ["Press ", _jsx(Text, { color: THEME.title, bold: true, children: "1" }), "-", _jsx(Text, { color: THEME.title, bold: true, children: "6" }), " to jump between panels, or use the sidebar with arrow keys."] }), _jsx(Text, { children: " " }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '2 Scan ' }), _jsx(Text, { color: THEME.primaryDim, children: "Find exposed secrets, credentials, crypto keys, and PII on your machine" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '3 Audit ' }), _jsx(Text, { color: THEME.primaryDim, children: "Discover which AI tools are installed and what they can access" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '4 Monitor ' }), _jsx(Text, { color: THEME.primaryDim, children: "Runtime behavioral analysis \u2014 processes, network, browser, persistence" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '5 Settings' }), _jsx(Text, { color: THEME.primaryDim, children: "Configure allowlists, blocklists, and toggle real-time protection" })] }), _jsxs(Box, { gap: 1, children: [_jsx(Text, { color: THEME.title, bold: true, children: '6 Logs ' }), _jsx(Text, { color: THEME.primaryDim, children: "View hook activity, scan history, and blocked operations" })] }), _jsx(Text, { children: " " }), _jsxs(Text, { color: THEME.muted, children: ["Tip: Start with ", _jsx(Text, { color: THEME.title, bold: true, children: "Audit" }), " to see what's exposed, then ", _jsx(Text, { color: THEME.title, bold: true, children: "Scan" }), " to find specific secrets. Press ", _jsx(Text, { color: THEME.title, bold: true, children: "?" }), " for all keybindings."] })] })] }));
83
89
  }
84
90
  //# sourceMappingURL=OverviewPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverviewPanel.js","sourceRoot":"","sources":["../../../src/tui/screens/OverviewPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OverviewPanel.js","sourceRoot":"","sources":["../../../src/tui/screens/OverviewPanel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ScanPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/ScanPanel.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,SAAS,4CA+QxB"}
1
+ {"version":3,"file":"ScanPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/ScanPanel.tsx"],"names":[],"mappings":"AAsDA,wBAAgB,SAAS,4CAqRxB"}
@@ -20,9 +20,9 @@ const STAGE_LABELS = {
20
20
  done: 'Complete',
21
21
  };
22
22
  const MODES = [
23
- { key: 'quick', label: 'Quick Scan', desc: 'System credentials & permissions only' },
24
- { key: 'standard', label: 'Standard Scan', desc: 'Current project + system targets' },
25
- { key: 'deep', label: 'Deep Scan', desc: 'Full home directory + system targets' },
23
+ { key: 'quick', label: 'Quick Scan', desc: 'System credentials & permissions only (~2s)' },
24
+ { key: 'standard', label: 'Standard Scan', desc: 'Current project + system targets (~5s)' },
25
+ { key: 'deep', label: 'Deep Scan', desc: 'Full home directory + system targets (~15s)' },
26
26
  { key: 'custom', label: 'Custom Path', desc: 'Specify a directory to scan' },
27
27
  ];
28
28
  function formatElapsed(ms) {
@@ -155,7 +155,7 @@ export function ScanPanel() {
155
155
  return (_jsxs(BorderedSection, { title: "SCAN ERROR", borderColor: THEME.critical, children: [_jsx(Text, { color: THEME.critical, children: scan.error }), _jsx(Text, { color: THEME.primaryDim, children: "Press Esc to go back" })] }));
156
156
  }
157
157
  if (scan.phase === 'idle' || scan.phase === 'selecting') {
158
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "SELECT SCAN MODE" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: MODES.map((mode, i) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: i === modeIndex ? THEME.brand : THEME.muted, children: i === modeIndex ? ICONS.arrow : ' ' }), _jsx(Text, { color: i === modeIndex ? THEME.brand : THEME.primary, bold: i === modeIndex, children: mode.label }), _jsx(Text, { color: THEME.label, children: mode.desc })] }), i < MODES.length - 1 && _jsx(Text, { children: " " })] }, mode.key))) }), enteringPath && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: THEME.brand, children: "Path: " }), _jsx(TextInput, { placeholder: "~/Projects", onSubmit: (value) => {
158
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "SCAN" }), _jsx(Text, { color: THEME.primaryDim, wrap: "wrap", children: "Scans your filesystem for exposed secrets, credentials, crypto keys, PII, and dangerous patterns. Findings are matched against 197 rules with severity ratings." }), _jsx(SectionHeader, { title: "SELECT MODE" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: MODES.map((mode, i) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { gap: 1, children: [_jsx(Text, { color: i === modeIndex ? THEME.brand : THEME.muted, children: i === modeIndex ? ICONS.arrow : ' ' }), _jsx(Text, { color: i === modeIndex ? THEME.brand : THEME.primary, bold: i === modeIndex, children: mode.label }), _jsx(Text, { color: THEME.label, children: mode.desc })] }), i < MODES.length - 1 && _jsx(Text, { children: " " })] }, mode.key))) }), enteringPath && (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: THEME.brand, children: "Path: " }), _jsx(TextInput, { placeholder: "~/Projects", onSubmit: (value) => {
159
159
  const path = value.trim();
160
160
  if (path) {
161
161
  setCustomPath(path);
@@ -175,7 +175,7 @@ export function ScanPanel() {
175
175
  }
176
176
  // Cancelled state
177
177
  if (scan.phase === 'cancelled') {
178
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "SCAN CANCELLED", color: THEME.warning }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: THEME.warning, children: ["Scan cancelled ", ICONS.dash, " ", scan.scannedFiles, " files scanned, ", scan.findingsCount, " finding", scan.findingsCount !== 1 ? 's' : ''] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Elapsed:" }), " ", _jsx(Text, { color: THEME.value, children: formatElapsed(scan.elapsedMs) })] })] }), scan.findingsCount > 0 && (_jsxs(_Fragment, { children: [_jsx(SectionHeader, { title: `FINDINGS (${scan.findingsCount})` }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [scan.findings.slice(0, 8).map((f, i) => (_jsxs(Box, { gap: 1, children: [_jsx(SeverityBadge, { severity: f.severity }), _jsx(Text, { color: THEME.primary, children: f.ruleName }), _jsx(FileLink, { path: f.filePath, display: f.filePath.split('/').pop() ?? f.filePath })] }, i))), scan.findingsCount > 8 && (_jsxs(Text, { color: THEME.muted, children: ["...and ", scan.findingsCount - 8, " more"] }))] })] }))] }));
178
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHeader, { title: "SCAN CANCELLED", color: THEME.warning }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: THEME.warning, children: ["Scan cancelled ", ICONS.dash, " ", scan.scannedFiles, " files scanned, ", scan.findingsCount, " finding", scan.findingsCount !== 1 ? 's' : ''] }), _jsxs(Text, { children: [_jsx(Text, { color: THEME.label, children: "Elapsed:" }), " ", _jsx(Text, { color: THEME.value, children: formatElapsed(scan.elapsedMs) })] })] }), scan.findingsCount > 0 && (_jsxs(_Fragment, { children: [_jsx(SectionHeader, { title: `FINDINGS (${scan.findingsCount})` }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [scan.findings.slice(0, 8).map((f, i) => (_jsxs(Box, { gap: 1, children: [_jsx(SeverityBadge, { severity: f.severity }), _jsx(Text, { color: THEME.primary, children: f.ruleName }), _jsx(FileLink, { path: f.filePath, display: f.filePath.split('/').pop() ?? f.filePath })] }, i))), scan.findingsCount > 8 && (_jsxs(Text, { color: THEME.muted, children: ["...and ", scan.findingsCount - 8, " more"] }))] }), _jsx(Text, { color: THEME.primaryDim, children: "Press Esc to view partial results" })] }))] }));
179
179
  }
180
180
  // Scanning state
181
181
  const progressPercent = scan.progress;
@@ -1 +1 @@
1
- {"version":3,"file":"ScanPanel.js","sourceRoot":"","sources":["../../../src/tui/screens/ScanPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScanPanel.js","sourceRoot":"","sources":["../../../src/tui/screens/ScanPanel.tsx"],"names":[],"mappings":"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"}