"""技能数据目录与 DB 路径解析(简化版)。 真实模板用 ``jiangchang_skill_core.runtime_env``;本 demo 复用其 mock。 数据目录 = ``{data_root}/{user_id}/{slug}/``,DB 即 ``{slug}.db``。 """ from __future__ import annotations import os from jiangchang_skill_core.runtime_env import get_data_root, get_user_id from util.constants import SKILL_SLUG _SCRIPTS_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) def get_skill_root() -> str: """技能根目录(含 SKILL.md / scripts/ 的目录)。""" return os.path.dirname(_SCRIPTS_DIR) def get_skill_data_dir() -> str: """本技能数据目录:``{data_root}/{user_id}/{slug}/``。""" path = os.path.join(get_data_root(), get_user_id(), SKILL_SLUG) os.makedirs(path, exist_ok=True) return path def get_db_path(filename: str | None = None) -> str: """SQLite 文件路径,默认 ``{slug}.db``。""" name = filename or f"{SKILL_SLUG}.db" return os.path.join(get_skill_data_dir(), name)