#!/usr/bin/env bash
# Compila los dos agentes (W/E) desde agent_sweep.ts reemplazando los placeholders.
# Los DEFAULTS de compilación son "home" (W/E, server auto=0); el cambio de región/server
# en runtime lo hace el backend via ctl scan_cfg (perfiles), sin recompilar.
# Uso: ./build_agents.sh            -> defaults home (W/0, E/0)
#      ./build_agents.sh W 0 E 0    -> explícito (regionW serverW regionE serverE)
set -e
HERE="$(cd "$(dirname "$0")" && pwd)"
WORK="/tmp/il2cpp_work"
NODE_BIN="/Users/danicosta/.nvm/versions/node/v22.11.0/bin"
export PATH="$NODE_BIN:$PATH"

RW="${1:-W}"; SW="${2:-0}"; RE="${3:-E}"; SE="${4:-0}"

cp "$HERE/agent_sweep.ts" "$WORK/agent_sweep.ts"
cd "$WORK"
# W
sed -e "s/SCANHALF_PLACEHOLDER/$RW/" -e "s/FORCESERVER_PLACEHOLDER/$SW/" agent_sweep.ts > agent_sweep_W.ts
# E
sed -e "s/SCANHALF_PLACEHOLDER/$RE/" -e "s/FORCESERVER_PLACEHOLDER/$SE/" agent_sweep.ts > agent_sweep_E.ts
echo "[build] W=region:$RW server:$SW | E=region:$RE server:$SE"
node_modules/.bin/frida-compile agent_sweep_W.ts -o agent_W.js
node_modules/.bin/frida-compile agent_sweep_E.ts -o agent_E.js
cp agent_W.js agent_E.js "$HERE/"
echo "[build] OK -> agent_W.js ($(wc -c < "$HERE/agent_W.js")b) agent_E.js ($(wc -c < "$HERE/agent_E.js")b)"
