from pathlib import Path
import sys
import os

def root():
    from mini_masukja.engine_payload import active_root
    selected = active_root()
    if selected is not None:
        return selected
    return Path(sys._MEIPASS) if getattr(sys, "frozen", False) else Path(__file__).resolve().parents[1]

def user_data():
    # The integrated UI and native adapters must use the same explicitly selected root.
    selected=os.environ.get("MASUKJA_ENGINE_DATA") if os.environ.get("MASUKJA_ENGINE_PIPE") else None
    selected=selected or os.environ.get("MASUKJA_MAIN_DATA")
    base=Path(sys.executable).parent if getattr(sys,"frozen",False) else root()
    result=Path(selected) if selected else base/"user-data"
    from mini_masukja.web_runtime import contained_directory
    return contained_directory(result)
