29 lines
761 B
Bash
Executable File
29 lines
761 B
Bash
Executable File
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
CONFIG_PATH="${1:-$ROOT_DIR/local-agent/config.example.json}"
|
|
NODE_BIN="${BOSS_NODE_BIN:-}"
|
|
|
|
if [[ -z "$NODE_BIN" ]]; then
|
|
NODE_BIN="$(command -v node 2>/dev/null || true)"
|
|
fi
|
|
|
|
if [[ -z "$NODE_BIN" ]]; then
|
|
NODE_CANDIDATES=("$HOME"/.boss-runtime/node-*/bin/node(N) /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node)
|
|
for candidate in "${NODE_CANDIDATES[@]}"; do
|
|
if [[ -x "$candidate" ]]; then
|
|
NODE_BIN="$candidate"
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
|
|
if [[ -z "$NODE_BIN" || ! -x "$NODE_BIN" ]]; then
|
|
echo "Node.js 22 or newer is required. Set BOSS_NODE_BIN or install Node.js." >&2
|
|
exit 1
|
|
fi
|
|
|
|
cd "$ROOT_DIR"
|
|
exec "$NODE_BIN" ./local-agent/server.mjs "$CONFIG_PATH"
|