overseer v2 1

This commit is contained in:
legop3
2026-05-03 22:51:50 -04:00
parent 32e4afdbe8
commit 850f89c8ed
26 changed files with 929 additions and 128 deletions
@@ -5,6 +5,7 @@ import { useEffect, useMemo, useState } from 'react';
import { useSession } from '../../context/SessionContext.jsx';
import RoverRoster from '../RoverRoster/index.jsx';
import LlmCommentaryPanel from './LlmCommentaryPanel.jsx';
import OverseerControlPanel from './OverseerControlPanel.jsx';
import ReplaySnapshotHealth from './ReplaySnapshotHealth.jsx';
import AdminIpLogPanel from './AdminIpLogPanel.jsx';
@@ -28,14 +29,17 @@ export default function AdminPanelContent() {
setAudioLevels,
setPrivateSafety,
llmControl,
overseerControl,
adminLogs,
llmCommentaryState,
overseerControlState,
} = useSession();
const roster = useMemo(() => session?.roster ?? [], [session?.roster]);
const [lockStates, setLockStates] = useState({});
const [rebootStates, setRebootStates] = useState({});
const [serverRebooting, setServerRebooting] = useState(false);
const [clearingLlmHistory, setClearingLlmHistory] = useState(false);
const [clearingOverseerHistory, setClearingOverseerHistory] = useState(false);
const health = session?.health || null;
const currentGoal = session?.globalObjective?.text || '';
const goalUpdatedAt = session?.globalObjective?.updatedAt || null;
@@ -126,6 +130,19 @@ export default function AdminPanelContent() {
}
};
const handleClearOverseerHistory = async () => {
const ok = window.confirm('Clear Overseer Control history now?');
if (!ok) return;
setClearingOverseerHistory(true);
try {
await overseerControl('clearHistory');
} catch (err) {
alert(err.message);
} finally {
setClearingOverseerHistory(false);
}
};
const handleGoalSave = async () => {
try {
await setGlobalObjective(goalDraft);
@@ -491,6 +508,11 @@ export default function AdminPanelContent() {
onClearHistory={handleClearLlmHistory}
clearingHistory={clearingLlmHistory}
/>
<OverseerControlPanel
state={overseerControlState}
onClearHistory={handleClearOverseerHistory}
clearingHistory={clearingOverseerHistory}
/>
<AdminIpLogPanel entries={adminLogs} />
</section>
);