diff --git a/core/agents/task_completer.py b/core/agents/task_completer.py index bda0c9ab8..98094968f 100644 --- a/core/agents/task_completer.py +++ b/core/agents/task_completer.py @@ -38,8 +38,16 @@ async def run(self) -> AgentResponse: if current_task_index1 == len(tasks): if source == "app": - await self.ui.send_app_finished() + await self.ui.send_app_finished( + app_id=str(self.state_manager.project.id), + app_name=self.state_manager.project.name, + folder_name=self.state_manager.project.folder_name, + ) elif source == "feature": - await self.ui.send_feature_finished() + await self.ui.send_feature_finished( + app_id=str(self.state_manager.project.id), + app_name=self.state_manager.project.name, + folder_name=self.state_manager.project.folder_name, + ) return AgentResponse.done(self) diff --git a/core/ui/base.py b/core/ui/base.py index 26d6df720..0cb8dbdd2 100644 --- a/core/ui/base.py +++ b/core/ui/base.py @@ -121,15 +121,33 @@ async def send_key_expired(self, message: Optional[str] = None): """ raise NotImplementedError() - async def send_app_finished(self): + async def send_app_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): """ Send the app finished message. + + :param app_id: App ID. + :param app_name: App name. + :param folder_name: Folder name. """ raise NotImplementedError() - async def send_feature_finished(self): + async def send_feature_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): """ Send the feature finished message. + + :param app_id: App ID. + :param app_name: App name. + :param folder_name: Folder name. """ raise NotImplementedError() diff --git a/core/ui/console.py b/core/ui/console.py index 813f00259..ed3128120 100644 --- a/core/ui/console.py +++ b/core/ui/console.py @@ -33,14 +33,24 @@ async def send_message(self, message: str, *, source: Optional[UISource] = None) else: print(message) - async def send_key_expired(self, message: Optional[str]): + async def send_key_expired(self, message: Optional[str] = None): if message: await self.send_message(message) - async def send_app_finished(self): + async def send_app_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): pass - async def send_feature_finished(self): + async def send_feature_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): pass async def ask_question( diff --git a/core/ui/ipc_client.py b/core/ui/ipc_client.py index 53eff7aba..891574547 100644 --- a/core/ui/ipc_client.py +++ b/core/ui/ipc_client.py @@ -199,11 +199,35 @@ async def send_message(self, message: str, *, source: Optional[UISource] = None) async def send_key_expired(self, message: Optional[str] = None): await self._send(MessageType.KEY_EXPIRED) - async def send_app_finished(self): - await self._send(MessageType.APP_FINISHED) + async def send_app_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): + await self._send( + MessageType.APP_FINISHED, + content={ + "app_id": app_id, + "app_name": app_name, + "folder_name": folder_name, + }, + ) - async def send_feature_finished(self): - await self._send(MessageType.FEATURE_FINISHED) + async def send_feature_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): + await self._send( + MessageType.FEATURE_FINISHED, + content={ + "app_id": app_id, + "app_name": app_name, + "folder_name": folder_name, + }, + ) async def ask_question( self, diff --git a/core/ui/virtual.py b/core/ui/virtual.py index 1d3f51b19..0d07a58fc 100644 --- a/core/ui/virtual.py +++ b/core/ui/virtual.py @@ -34,13 +34,23 @@ async def send_message(self, message: str, *, source: Optional[UISource] = None) else: print(message) - async def send_key_expired(self, message: Optional[str]): + async def send_key_expired(self, message: Optional[str] = None): pass - async def send_app_finished(self): + async def send_app_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): pass - async def send_feature_finished(self): + async def send_feature_finished( + self, + app_id: Optional[str] = None, + app_name: Optional[str] = None, + folder_name: Optional[str] = None, + ): pass async def ask_question(