From 8642277ef44e29610a5a6e429c8e15f4537fe1fd Mon Sep 17 00:00:00 2001 From: Ed_ Date: Wed, 4 Mar 2026 11:07:05 -0500 Subject: [PATCH] fix(gui): Restore missing UI handler methods --- src/gui_2.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/src/gui_2.py b/src/gui_2.py index b8eb898..92187cd 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -143,6 +143,64 @@ class App: self._discussion_names_cache: list[str] = [] self._discussion_names_dirty: bool = True + def _handle_approve_script(self, user_data=None) -> None: + """Approves the currently pending PowerShell script.""" + with self._pending_dialog_lock: + dlg = self._pending_dialog + if dlg: + with dlg._condition: + dlg._approved = True + dlg._done = True + dlg._condition.notify_all() + self._pending_dialog = None + + def _handle_reject_script(self, user_data=None) -> None: + """Rejects the currently pending PowerShell script.""" + with self._pending_dialog_lock: + dlg = self._pending_dialog + if dlg: + with dlg._condition: + dlg._approved = False + dlg._done = True + dlg._condition.notify_all() + self._pending_dialog = None + + def _handle_approve_tool(self, user_data=None) -> None: + """UI-level wrapper for approving a pending tool execution ask.""" + self._handle_approve_ask() + + def _handle_approve_mma_step(self, user_data=None) -> None: + """UI-level wrapper for approving a pending MMA step.""" + self._handle_mma_respond(approved=True) + + def _handle_approve_spawn(self, user_data=None) -> None: + """UI-level wrapper for approving a pending MMA sub-agent spawn.""" + self._handle_mma_respond(approved=True) + + def _handle_mma_respond(self, approved: bool, payload: str | None = None, abort: bool = False, prompt: str | None = None, context_md: str | None = None) -> None: + """Delegates MMA approval response to the controller.""" + self.controller._handle_mma_respond(approved, payload, abort, prompt, context_md) + + def _handle_approve_ask(self, user_data=None) -> None: + """Delegates tool approval to the controller.""" + self.controller._handle_approve_ask() + + def _handle_reject_ask(self, user_data=None) -> None: + """Delegates tool rejection to the controller.""" + self.controller._handle_reject_ask() + + def _handle_reset_session(self, user_data=None) -> None: + """Delegates session reset to the controller.""" + self.controller._handle_reset_session() + + def _handle_md_only(self, user_data=None) -> None: + """Delegates 'MD Only' logic to the controller.""" + self.controller._handle_md_only() + + def _handle_generate_send(self, user_data=None) -> None: + """Delegates 'Gen + Send' logic to the controller.""" + self.controller._handle_generate_send() + def __getattr__(self, name: str) -> Any: if name != 'controller' and hasattr(self, 'controller') and hasattr(self.controller, name): return getattr(self.controller, name)