from local_agents.resume_agent import answer_resume_question from utils.central_logging import get_logger from ui.generate_session import generate_session_id logger = get_logger("chat_handler") async def chat_handler(message,history,session_id): if not session_id: session_id = generate_session_id() if history is None: history = [] history.append({"role":"user","content":message}) partial_answer = "" try: async for token in answer_resume_question(message): #print(f"token: {token}") partial_answer += token if len(history) > 0 and history[-1]["role"] == "assistant": history[-1]["content"] = partial_answer else: history.append({"role":"assistant","content":partial_answer}) yield history,session_id,"" if "notified" in partial_answer.lower() and "anthony" in partial_answer.lower(): logger.info({ "type": "escalation", "session_id": session_id, "question": message, "answer_preview": partial_answer[:500] }) except Exception as e: note = f"An error occured: {str(e)}" logger.exception(note) history[-1]["content"] = note yield history,session_id