diff --git a/app/src/components/intelligence/__tests__/ScreenIntelligenceDebugPanel.test.tsx b/app/src/components/intelligence/__tests__/ScreenIntelligenceDebugPanel.test.tsx index fbe61d6ac..9d1c82c6a 100644 --- a/app/src/components/intelligence/__tests__/ScreenIntelligenceDebugPanel.test.tsx +++ b/app/src/components/intelligence/__tests__/ScreenIntelligenceDebugPanel.test.tsx @@ -74,6 +74,7 @@ const sampleStatus: AccessibilityStatus = { session_ttl_secs: 300, panic_stop_hotkey: 'Cmd+Shift+.', autocomplete_enabled: true, + keep_screenshots: false, allowlist: [], denylist: [], }, diff --git a/app/src/components/settings/panels/ScreenIntelligencePanel.tsx b/app/src/components/settings/panels/ScreenIntelligencePanel.tsx index 686751c03..6d54619bb 100644 --- a/app/src/components/settings/panels/ScreenIntelligencePanel.tsx +++ b/app/src/components/settings/panels/ScreenIntelligencePanel.tsx @@ -71,6 +71,7 @@ const ScreenIntelligencePanel = () => { 'all_except_blacklist' ); const [baselineFps, setBaselineFps] = useState('1'); + const [keepScreenshots, setKeepScreenshots] = useState(false); const [allowlistText, setAllowlistText] = useState(''); const [denylistText, setDenylistText] = useState(''); const [isSavingConfig, setIsSavingConfig] = useState(false); @@ -104,6 +105,7 @@ const ScreenIntelligencePanel = () => { status.config.policy_mode === 'whitelist_only' ? 'whitelist_only' : 'all_except_blacklist' ); setBaselineFps(String(status.config.baseline_fps ?? 1)); + setKeepScreenshots(status.config.keep_screenshots ?? false); setAllowlistText((status.config.allowlist ?? []).join('\n')); setDenylistText((status.config.denylist ?? []).join('\n')); }, [status?.config]); @@ -143,6 +145,7 @@ const ScreenIntelligencePanel = () => { enabled, policy_mode: policyMode, baseline_fps: Number.isFinite(fps) && fps > 0 ? fps : 1, + keep_screenshots: keepScreenshots, allowlist: allowlistText .split('\n') .map(v => v.trim()) @@ -279,6 +282,18 @@ const ScreenIntelligencePanel = () => { /> + +
Allowlist (one rule per line)