import json import os import logging from config import DATA_DIR FILE = os.path.join(DATA_DIR, 'voice_tuning.json') def _load() -> dict: if not os.path.exists(FILE): return {} try: with open(FILE, 'r', encoding='utf-8') as f: return json.load(f) except Exception as _friday_exc: logging.getLogger(__name__).debug('suppressed optional failure', exc_info=_friday_exc) return {} def _save(data: dict): os.makedirs(os.path.dirname(FILE), exist_ok=True) with open(FILE, 'w', encoding='utf-8') as f: json.dump(data, f, indent=4) def update_voice_tuning(bot_name: str, params: dict) -> None: """Save granular voice tuning settings per assistant.""" data = _load() bot_name = bot_name.lower() if bot_name not in data: data[bot_name] = {} data[bot_name].update(params) _save(data) def get_voice_tuning(bot_name: str) -> dict: """Retrieve granular voice tuning settings per assistant.""" data = _load() return data.get(bot_name.lower(), {})