# chat_manager.py from typing import Dict, List, Optional from chat_state import ChatState class ChatManager: def __init__(self, system_prompt: str): self.system_prompt = system_prompt def create_new_chat(self) -> List[Dict[str, str]]: return [{"role": "system", "content": self.system_prompt}] def save_chat( self, temp_chat: List[Dict[str, str]], chat_history: Dict[str, List[Dict[str, str]]], ) -> str: if temp_chat and len(temp_chat) > 1: new_chat_id = str(len(chat_history) + 1) chat_history[new_chat_id] = temp_chat return new_chat_id return None def delete_chat(self, chat_id: str, chat_state: ChatState) -> None: if chat_id in chat_state.chat_history: del chat_state.chat_history[chat_id] if chat_state.current_chat_id == chat_id: chat_state.current_chat_id = None chat_state.delete_chat_id = None