#!/bin/bash
set -e

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"

echo "=== Meeting Bot セットアップ ==="
echo ""

# 依存パッケージのインストール
echo "1. npm依存パッケージをインストール中..."
npm install

# ディレクトリ作成
echo "2. 必要なディレクトリを作成..."
mkdir -p recordings logs config

# config.json を作成（なければ）
if [ ! -f config/config.json ]; then
  echo "3. config/config.json を作成（テンプレートからコピー）..."
  cp config/config.example.json config/config.json
  echo "   ⚠️  config/config.json を編集してAPIキーを設定してください"
else
  echo "3. config/config.json は既に存在します"
fi

# Pulseaudio virtual sink を起動時に自動作成
echo "4. Pulseaudio virtual sink を設定..."
pactl load-module module-null-sink sink_name=virtual_meeting \
  sink_properties=device.description="VirtualMeetingAudio" 2>/dev/null && \
  echo "   Virtual sink 'virtual_meeting' created" || \
  echo "   Virtual sink already exists or pactl not available"

# openclaw cron で5分ごとのカレンダー監視を設定
echo "5. openclaw cron でカレンダー監視を登録..."
MONITOR_SCRIPT="$SCRIPT_DIR/src/calendar-monitor.js"
openclaw cron add \
  --schedule "*/5 * * * *" \
  --message "node $MONITOR_SCRIPT" \
  --label "meeting-bot-calendar-monitor" 2>&1 || \
  echo "   ⚠️  cron登録に失敗しました。手動で実行してください"

echo ""
echo "=== セットアップ完了 ==="
echo ""
echo "次のステップ:"
echo "  1. config/config.json を編集してAPIキーを設定"
echo "  2. Google Cloud ConsoleでOAuth2認証情報を取得"
echo "  3. Zoom App MarketplaceでServer-to-Server OAuthアプリを作成"
echo "  4. Google Chat でWebhook URLを取得"
echo ""
echo "テスト実行:"
echo "  node src/calendar-monitor.js  # カレンダー確認"
echo "  MEETING_URL=https://meet.google.com/xxx node src/meet-bot.js  # Meet参加テスト"
