const { useState: aUseState, useEffect: aUseEffect, useCallback: aUseCallback } = React; function AutonomyPanel({ open, onClose }) { if (!open) return null; const [data, setData] = aUseState(null); const [loading, setLoading] = aUseState(true); const [err, setErr] = aUseState(''); const [saving, setSaving] = aUseState(false); const load = aUseCallback(async () => { setLoading(true); try { const r = await fetch('/api/autonomy/status'); if (!r.ok) throw new Error(`HTTP ${r.status}`); setData(await r.json()); setErr(''); } catch (e) { setErr(String(e.message || e)); } finally { setLoading(false); } }, []); const setMode = aUseCallback(async (mode) => { if (saving) return; setSaving(true); try { const r = await fetch('/api/autonomy/mode', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ mode }), }); if (!r.ok) throw new Error(`HTTP ${r.status}`); await load(); } catch (e) { setErr(String(e.message || e)); } finally { setSaving(false); } }, [saving, load]); aUseEffect(() => { load(); }, [load]); const mode = data?.mode || 'copilot'; const modes = data?.allowed_modes || ['manual', 'copilot', 'autonomous']; return (