File size: 1,486 Bytes
a0a9254
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
set -euo pipefail
cd -- "$(dirname -- "$0")"
source scripts/common.sh
if [[ "$(uname -s)" != Darwin || "$(uname -m)" != arm64 ]]; then
  printf '%s\n' 'This installer targets native macOS Apple Silicon. Use an ARM terminal, without Rosetta.' >&2
  exit 1
fi
nanojev_macos_version="$(sw_vers -productVersion)"
if (( ${nanojev_macos_version%%.*} < 14 )); then
  printf '%s\n' 'macOS 14 or newer is required by the pinned PyTorch build.' >&2
  exit 1
fi
if ! command -v uv >/dev/null; then
  printf '%s\n' 'Install uv first (for example: brew install uv), then run setup.command again.' >&2
  exit 1
fi
command -v npm >/dev/null || { printf '%s\n' 'npm is required; install Node.js with npm.' >&2; exit 1; }
export UV_PYTHON_INSTALL_DIR="$nanojev_root/.runtime/python"
export UV_CACHE_DIR="${NANOJEV_UV_CACHE:-$nanojev_root/.runtime/cache}"
uv python install 3.12.13 --no-bin
uv venv --clear --managed-python --python 3.12.13 "$nanojev_root/.venv"
uv pip sync --python "$nanojev_root/.venv/bin/python" "$nanojev_root/requirements-lock.txt"
if [[ -f package-lock.json ]]; then npm ci --no-audit --no-fund; else npm install --no-audit --no-fund; fi
"$nanojev_root/node_modules/.bin/agent-browser" install
"$nanojev_root/.venv/bin/python" "$nanojev_root/scripts/check-install.py"
printf '%s\n' "$nanojev_node" > "$nanojev_root/.runtime/node-path"
printf '%s\n' 'Ready. Start the model with ./start.command. To execute your page contract, run ./run.command --task your-task.json.'