feat(tui): diff viewer, workflow picker, cursor support, and approval reconnect fix
- Add unified diff viewer for file_write/file_edit tools across all layers: ToolReceipt.diff → DiffUtil (LCS-based) → SandboxedToolExecutor → ToolCompleted → TuiToolRecord.diff → DiffViewer widget (colored +/- lines) - Add workflow selection panel: WorkflowList server message, WorkflowListPanel widget, ↑↓ seamlessly extends into workflow picker from session list - Add cursor/caret support: inputCursor in TuiState, CursorLeft/CursorRight actions and key events, AppendChar inserts at cursor, Backspace deletes before - Colorize event history strip (green/red/yellow/blue by type) and input bar (blue/yellow prompt, cyan session name, blue keybindings) - Show 5 recent events instead of 3; increase event strip height to 6 - Remove lastEventAt sort so display and navigation use consistent order - Fix approval reconnect: register pending approvals with ApprovalCoordinator during snapshot replay so lookupSession works after reconnect - 167 tests pass (126 TUI + 41 server)
This commit is contained in:
@@ -17,5 +17,6 @@ data class ToolReceipt(
|
||||
val affectedEntities: List<String> = emptyList(),
|
||||
val durationMs: Long,
|
||||
val tier: Tier,
|
||||
val timestamp: Instant
|
||||
val timestamp: Instant,
|
||||
val diff: String? = null,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user