from datetime import datetime from persona import persona_path, get_user, get_persona def log_turn( session_id: str, user_msg: str, assistant_msg: str, backend_label: str = "", host: str = "", ) -> None: today = datetime.now().strftime("%Y-%m-%d") sessions_dir = persona_path() / "sessions" sessions_dir.mkdir(exist_ok=True) log_file = sessions_dir / f"{today}.md" timestamp = datetime.now().strftime("%H:%M") is_new = not log_file.exists() meta_parts = [p for p in [backend_label, host] if p] meta = f" · {' / '.join(meta_parts)}" if meta_parts else "" # Use the actual user/persona names from the current request context user_label = get_user().title() persona_label = get_persona().title() with open(log_file, "a") as f: if is_new: f.write(f"# Session Log — {today}\n") f.write( f"\n### [{timestamp}] `{session_id}`{meta}\n" f"**{user_label}:** {user_msg}\n\n" f"**{persona_label}:** {assistant_msg}\n" )