#!/usr/bin/env bash
# bin/chats - sync, import, index, facts, apply for Telegram/WhatsApp/LinkedIn.
# Builds the chats binary on first run / when source changes, then execs it.
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
BIN="$ROOT/var/bin/chats"
SRC="$ROOT/bin/chats"

mkdir -p "$ROOT/var/bin"

need_build=0
if [ ! -x "$BIN" ]; then
    need_build=1
else
    while IFS= read -r -d '' f; do
        if [ "$f" -nt "$BIN" ]; then
            need_build=1
            break
        fi
    done < <(find "$SRC" -name '*.go' -print0 2>/dev/null)
fi

if [ "$need_build" -eq 1 ]; then
    echo "Building chats..." >&2
    (cd "$SRC" && go build -o "$BIN" .) || exit 1
fi

exec "$BIN" "$@"
