#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "$0")" && pwd)"
BIN="$ROOT/bin"
NAME="LLM Agent"

PYINSTALLER="uv run --with pyinstaller pyinstaller"
MAIN="$ROOT/llm_client_window/window.py"
ICON="$ROOT/assets/icon.icns"
DATA="$ROOT/vendor:vendor"

mkdir -p "$BIN"

case "$(uname -s)" in
    Darwin)
        echo "[build] targeting macOS .app bundle"
        $PYINSTALLER \
            --onefile \
            --windowed \
            --name "$NAME" \
            --icon $ICON \
            --add-data $DATA \
            --distpath "$BIN" \
            $MAIN
        ;;
    Linux|*)
        echo "[build] targeting Linux binary"
        $PYINSTALLER \
            --onefile \
            --windowed \
            --name "$NAME" \
            --add-data $DATA \
            --distpath "$BIN" \
            $MAIN
        ;;
esac

echo "[build] done → $BIN"
