"""路径工具：区分「数据根（只读）」与「运行根（可写）」。

开发模式：两者都是项目根（pod_trend_agent/）。
打包模式（PyInstaller -F）：
  - 数据根 = sys._MEIPASS（解压的临时目录，只读；config.yaml / configs / prompts 在这里）
  - 运行根 = exe 所在目录（可写；output/ 产物与 .cache/ 缓存写到这，避免重启丢失）
"""
import sys
from pathlib import Path


def project_root() -> Path:
    """数据根：开发=graph 上级目录；打包=_MEIPASS（数据文件解压处）。"""
    if getattr(sys, "frozen", False):
        return Path(getattr(sys, "_MEIPASS", Path(sys.executable).parent))
    return Path(__file__).resolve().parent.parent


def runtime_root() -> Path:
    """运行根（可写）：打包=exe 旁；开发=项目根。output/.cache 写这里。"""
    if getattr(sys, "frozen", False):
        return Path(sys.executable).resolve().parent
    return Path(__file__).resolve().parent.parent
