from __future__ import annotations from dataclasses import asdict, dataclass @dataclass class ChatlogContext: account: str = "" work_dir: str = "" data_dir: str = "" platform: str = "windows" version: int = 4 chatlog_exe: str = "" chatlog_version: str = "" _context = ChatlogContext() def update_chatlog_context(payload: dict) -> dict: global _context _context = ChatlogContext( account=str(payload.get("account") or ""), work_dir=str(payload.get("workDir") or payload.get("work_dir") or ""), data_dir=str(payload.get("dataDir") or payload.get("data_dir") or ""), platform=str(payload.get("platform") or "windows"), version=int(payload.get("version") or 4), chatlog_exe=str(payload.get("chatlogExe") or payload.get("chatlog_exe") or ""), chatlog_version=str(payload.get("chatlogVersion") or payload.get("chatlog_version") or ""), ) return get_chatlog_context() def get_chatlog_context() -> dict: return asdict(_context)