Refactor verdict handling and editor state management

- Removed the Escalate variant from the Verdict enum and associated parsing logic.
- Cleaned up the EditorState struct by removing unused fields and methods.
- Simplified MCP connection functions by removing unnecessary disconnect and handle dismiss functions.
- Added tick count to MiscState for managing UI updates during processing.
- Updated chat and status views to display a spinner during AI processing using the tick count.
- Created a README.md file to document the project, its features, architecture, usage, key bindings, agent modes, security measures, installation instructions, and configuration details.
This commit is contained in:
asepharyana
2026-07-12 03:19:25 +07:00
parent 36573e7e3b
commit df5775a272
9 changed files with 193 additions and 1468 deletions
+1 -6
View File
@@ -275,6 +275,7 @@ pub fn apply_action(state: &mut AppStateRest, action: Action) {
state.dirty = true;
}
Action::Tick => {
state.misc.tick_count = state.misc.tick_count.wrapping_add(1);
let now_ms = chrono::Utc::now().timestamp_millis();
state.misc.drain_expired_toasts(now_ms);
crate::app::review::maybe_run_staleness_sweep(state);
@@ -693,12 +694,6 @@ fn run_agent_turn(
Err(e) => (e.to_string(), true, false),
},
Verdict::Block(reason) => (format!("Blocked: {}", reason), true, false),
Verdict::Escalate => (
"Tool requires approval. Provide explicit approval."
.to_string(),
true,
false,
),
};
if is_edit {