#!/bin/bash
set -u

DIR="$(cd "$(dirname "$0")/../../.." && pwd)"
LOG_DIR="$HOME/Library/Logs/蜂序客服"
LOG_FILE="$LOG_DIR/launcher.log"
mkdir -p "$LOG_DIR" 2>/dev/null || true
exec >>"$LOG_FILE" 2>&1

echo "============================================"
echo "$(date '+%Y-%m-%d %H:%M:%S') 蜂序客服启动"
echo "DIR=$DIR"

xattr -cr "$DIR" 2>/dev/null || true
chmod +x "$DIR/bin/node" 2>/dev/null || true

if [[ ! -x "$DIR/bin/node" ]]; then
  /usr/bin/osascript -e 'display alert "蜂序客服启动失败" message "客户端运行时不完整，请重新解压完整安装包。" as critical'
  exit 1
fi

if [[ ! -f "$DIR/app/controlled-workbench.cjs" ]]; then
  /usr/bin/osascript -e 'display alert "蜂序客服启动失败" message "客户端文件不完整，请重新解压完整安装包。" as critical'
  exit 1
fi

if [[ ! -f "$DIR/app/node_modules/.bin/electron" ]]; then
  /usr/bin/osascript -e 'display alert "蜂序客服启动失败" message "未找到客服工作台运行时，请重新下载完整客户端。" as critical'
  exit 1
fi

cd "$DIR" || exit 1
export AICS_AGENT_HOME="$DIR"
export AICS_AGENT_DASHBOARD_URL="${AICS_AGENT_DASHBOARD_URL:-http://127.0.0.1:3789}"
unset ELECTRON_RUN_AS_NODE

exec "$DIR/bin/node" "$DIR/app/node_modules/.bin/electron" "$DIR/app/controlled-workbench.cjs"
