From e4028f58a8f2e5d5195c6e3d62afa5edad8de978 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Fri, 8 May 2026 04:12:31 +0200 Subject: [PATCH] auto-git: [change] concept_api.py --- concept_api.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/concept_api.py b/concept_api.py index 7cf5a07..795c8c6 100644 --- a/concept_api.py +++ b/concept_api.py @@ -31,8 +31,26 @@ import websearch # Paths # ----------------------------- -REPO_ROOT = Path(__file__).resolve().parent -IDEA_HOLE_DIR = REPO_ROOT / ".idea-hole" +REPO_ROOT = Path(getattr(sys, "_MEIPASS", Path(__file__).resolve().parent)) +IDEA_HOLE_DIR = Path(os.environ.get("CONCEPT_MAKER_DATA_DIR", REPO_ROOT / ".idea-hole")).expanduser() +SYSTEM_BIN_DIRS = ["/opt/homebrew/bin", "/usr/local/bin", "/opt/local/bin", "/usr/bin", "/bin"] + + +def resolve_command(name: str) -> Optional[str]: + for base in [None, *SYSTEM_BIN_DIRS]: + p = shutil.which(name) if base is None else os.path.join(base, name) + if p and os.path.exists(p): + return p + return None + + +def subprocess_env() -> Dict[str, str]: + env = os.environ.copy() + current = env.get("PATH", "") + extra = [path for path in SYSTEM_BIN_DIRS if path and path not in current.split(os.pathsep)] + if extra: + env["PATH"] = os.pathsep.join([*extra, current] if current else extra) + return env # -----------------------------