Kill UiMessage variants replaced by state-driven rendering

sync_from_agent reads directly from agent entries, so remove:
- UserInput (pending input shown from MindState.input)
- ToolCall, ToolResult (shown from entries on completion)
- ToolStarted, ToolFinished (replaced by shared active_tools)
- replay_session_to_ui (sync_from_agent handles replay)

-139 lines. Remaining variants are streaming (TextDelta, Reasoning),
status bar state, or ephemeral UI messages (Info, Debug).

Co-Authored-By: Proof of Concept <poc@bcachefs.org>
This commit is contained in:
ProofOfConcept 2026-04-05 21:21:08 -04:00
parent 306788e0f1
commit 1745e03550
5 changed files with 5 additions and 139 deletions

View file

@ -459,13 +459,10 @@ pub async fn run(
idle_state.decay_ewma();
app.update_idle(&idle_state);
// One-time: replay conversation after Mind init
// One-time: mark startup done after Mind init
if !startup_done {
if let Ok(ag) = agent.try_lock() {
if !ag.entries().is_empty() {
ui_channel::replay_session_to_ui(ag.entries(), &ui_tx);
let _ = ui_tx.send(UiMessage::Info("--- restored from conversation log ---".into()));
}
// sync_from_agent handles conversation replay
let _ = ui_tx.send(UiMessage::Info(format!(" model: {}", ag.model())));
startup_done = true;
dirty = true;