30#if defined(YAZE_ENABLE_AGENT_CLI)
39 void OnSubmit(
const std::string& message);
40 void LaunchAgentPrompt(
const std::string& prompt);
41 void CleanupWorkers();
43 void InitializeAutocomplete();
48 void ToggleTodoPopup();
49 ftxui::Component CreateTodoPopup();
50 ftxui::Component BuildShortcutPalette();
51 bool IsPopupOpen()
const;
52 void ToggleShortcutPalette();
54 ftxui::ScreenInteractive screen_ = ftxui::ScreenInteractive::Fullscreen();
58 std::optional<std::string> last_error_;
60 std::string rom_header_;
62 std::atomic<bool> agent_busy_{
false};
63 std::atomic<bool> spinner_running_{
false};
64 std::atomic<int> spinner_index_{0};
66 std::vector<std::future<void>> worker_futures_;
67 mutable std::mutex worker_mutex_;
68 std::chrono::steady_clock::time_point last_send_time_{};
69 double last_response_seconds_ = 0.0;
70 std::vector<double> latency_history_;
72 std::vector<std::string> quick_actions_;
74 std::thread spinner_thread_;
77 bool todo_popup_visible_ =
false;
78 ftxui::Component todo_popup_component_;
79 ftxui::Component shortcut_palette_component_;
80 bool shortcut_palette_visible_ =
false;
81 bool todo_manager_ready_ =
false;