Refactor scrolling methods in ScrollState to accept an amount parameter

- Updated `scroll_up` and `scroll_down` methods to take an `amount` parameter for more flexible scrolling.
- Removed the `AgentMode` enum and related methods from the types module to simplify state management.
- Modified `AppStateRest` to remove the `mode` field and adjusted related logic.
- Enhanced `run_subagent` to build tool definitions and handle API key resolution from configuration.
- Updated command parsing to reflect changes in login handling.
- Removed onboarding overlays and related logic from input handling and rendering.
- Improved status bar to reflect connection status and agent readiness.
- Adjusted workflow panel rendering to simplify phase status display.
- Refactored edit log initialization to load from disk if available.
- Updated settings structure to use a HashMap for API keys.
- Enhanced error handling in LlmClient for authentication issues.
This commit is contained in:
asepharyana
2026-07-12 03:14:52 +07:00
parent 71d3494372
commit 36573e7e3b
28 changed files with 435 additions and 482 deletions
+4 -5
View File
@@ -69,11 +69,10 @@ pub fn draw_workflow_panel(frame: &mut Frame, area: Rect, state: &crate::app::st
))));
}
let phase_status = match state.mode {
crate::app::state::types::AgentMode::Auto => "Auto-running",
crate::app::state::types::AgentMode::Normal => "Awaiting input",
crate::app::state::types::AgentMode::Plan => "Planning",
crate::app::state::types::AgentMode::Yolo => "Full autonomy",
let phase_status = if state.turn_in_flight() {
"Auto-running"
} else {
"Awaiting input"
};
items.push(ListItem::new(Line::from(Span::styled(