From 3449a55ec801c62bc056ec034d21d421d8aa8ca8 Mon Sep 17 00:00:00 2001 From: haikdc Date: Mon, 30 Mar 2026 09:33:01 -0700 Subject: [PATCH] [Haik]: moved the mcp uvx to be in the folder it belongs in --- .gitignore | 2 +- .vscode/settings.json | 2 +- backend/apps/tools_lib/mcp_config.py | 9 +++++---- linter/pyrightconfig.json | 2 +- run/local.sh | 2 +- run/utils/build-app.sh | 2 +- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 7456e9cb..08bd6c39 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,4 @@ electron/package-lock.json # Frontend build output frontend/dist/ # Bundled uv binaries (downloaded during build) -backend/uv-bin/ +backend/apps/tools_lib/uv-bin/ diff --git a/.vscode/settings.json b/.vscode/settings.json index b95cebde..6d1460f8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,7 +3,7 @@ "python.analysis.include": ["backend"], "python.analysis.exclude": [ "backend/.venv", - "backend/uv-bin", + "backend/apps/tools_lib/uv-bin", "backend/data", "backend/tests" ], diff --git a/backend/apps/tools_lib/mcp_config.py b/backend/apps/tools_lib/mcp_config.py index 5630573b..a92645ac 100644 --- a/backend/apps/tools_lib/mcp_config.py +++ b/backend/apps/tools_lib/mcp_config.py @@ -12,13 +12,15 @@ from backend.apps.tools_lib.oauth_providers import OAUTH_PROVIDERS logger = logging.getLogger(__name__) +_TOOLS_LIB_DIR = os.path.dirname(os.path.abspath(__file__)) +_UV_BIN_DIR = os.path.join(_TOOLS_LIB_DIR, "uv-bin") + def _extra_bin_dirs() -> list[str]: """Well-known user-local bin directories that may not be on PATH in packaged apps.""" home = os.path.expanduser("~") - _backend = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) dirs = [ - os.path.join(_backend, "uv-bin"), + _UV_BIN_DIR, os.path.join(home, ".bun", "bin"), os.path.join(home, ".cargo", "bin"), os.path.join(home, ".local", "bin"), @@ -48,8 +50,7 @@ def _resolve_command(command: str) -> str | None: candidate = os.path.join(d, command) if os.path.isfile(candidate) and os.access(candidate, os.X_OK): return candidate - _backend = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) - candidate = os.path.join(_backend, "uv-bin", command) + candidate = os.path.join(_UV_BIN_DIR, command) if os.path.isfile(candidate) and os.access(candidate, os.X_OK): return candidate return None diff --git a/linter/pyrightconfig.json b/linter/pyrightconfig.json index 4533e7fd..84e72a6e 100644 --- a/linter/pyrightconfig.json +++ b/linter/pyrightconfig.json @@ -2,7 +2,7 @@ "include": ["../backend"], "exclude": [ "../backend/.venv", - "../backend/uv-bin", + "../backend/apps/tools_lib/uv-bin", "../backend/data", "../backend/tests" ], diff --git a/run/local.sh b/run/local.sh index 51f04f97..fb2f0ad7 100755 --- a/run/local.sh +++ b/run/local.sh @@ -67,7 +67,7 @@ trap 'cleanup; exit 0' INT TERM trap cleanup EXIT # --- Ensure bundled uv/uvx for MCP servers --- -UV_BIN_DIR="$PROJECT_ROOT/backend/uv-bin" +UV_BIN_DIR="$PROJECT_ROOT/backend/apps/tools_lib/uv-bin" if [ ! -f "$UV_BIN_DIR/uvx" ]; then echo -e "${YELLOW}${BOLD}[uv]${RESET} Downloading uv/uvx..." mkdir -p "$UV_BIN_DIR" diff --git a/run/utils/build-app.sh b/run/utils/build-app.sh index 8f372b64..227667e2 100755 --- a/run/utils/build-app.sh +++ b/run/utils/build-app.sh @@ -48,7 +48,7 @@ if $PUBLISH_MODE; then fi # Step 0: Ensure bundled uv/uvx binaries exist -UV_BIN_DIR="$PROJECT_ROOT/backend/uv-bin" +UV_BIN_DIR="$PROJECT_ROOT/backend/apps/tools_lib/uv-bin" if [[ ! -f "$UV_BIN_DIR/uvx" ]]; then echo "[0] Downloading uv/uvx binaries..." mkdir -p "$UV_BIN_DIR"