#!/bin/bash
set -euo pipefail
cd "$(dirname "$0")"
export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
echo
echo " Talksyne Helper をインストール／更新します。Python は不要です。"
echo " 保存先はこのMacの標準の場所です。"
echo
BASE="https://talksyne.top"
DEST="$HOME/Library/Application Support/Talksyne/Helper"
echo " 保存先: $DEST"
mkdir -p "$DEST"
if pgrep -f "$DEST/TalksyneHelper" >/dev/null 2>&1; then
  echo " 起動中の補助アプリを終了して更新します..."
  pkill -f "$DEST/TalksyneHelper" >/dev/null 2>&1 || true
  sleep 1
fi
echo " ファイルを取得しています..."
curl -fsSL "$BASE/helper/files/TalksyneHelper.swift" -o "$DEST/TalksyneHelper.swift"
curl -fsSL "$BASE/helper/files/VERSION.txt" -o "$DEST/VERSION.txt"
if ! command -v swiftc >/dev/null 2>&1; then
  echo " Xcode Command Line Tools が必要です。ダイアログが出たらインストールしてください。"
  xcode-select --install >/dev/null 2>&1 || true
  echo " インストール後、このファイルをもう一度開いてください。"
  read -r -p " Enter で閉じます "
  exit 1
fi
echo " インストールしています..."
swiftc -O -o "$DEST/TalksyneHelper" "$DEST/TalksyneHelper.swift"
xattr -dr com.apple.quarantine "$DEST" >/dev/null 2>&1 || true
chmod +x "$DEST/TalksyneHelper"
launchctl bootout "gui/$(id -u)/com.talksyne.helper" >/dev/null 2>&1 || true
rm -f "$HOME/Library/LaunchAgents/com.talksyne.helper.plist"
APPDIR="$HOME/Applications"
mkdir -p "$APPDIR"
ln -sfn "$DEST/TalksyneHelper" "$APPDIR/Talksyne Helper"
if ! pgrep -f "$DEST/TalksyneHelper" >/dev/null 2>&1; then
  nohup "$DEST/TalksyneHelper" >/dev/null 2>&1 &
fi
echo
echo " 完了しました。メニューバーに TS が出れば、開いているページが自動で接続します。"
echo " 音声入力とオーバーレイ設定を両方閉じると、補助アプリは終了します。"
