#!/bin/bash

# Cursor MCP Setup Script for NL-to-SQL Server
set -e

echo "🚀 Cursor用MCP NL-to-SQLサーバーをセットアップしています..."
echo "🚀 Setting up MCP NL-to-SQL Server for Cursor..."

# Get current directory
CURRENT_DIR=$(pwd)
echo "📁 現在のディレクトリ / Current directory: $CURRENT_DIR"

# Check if we're in the right directory
if [ ! -f "package.json" ]; then
    echo "❌ エラー: package.json が見つかりません。プロジェクトルートからこのスクリプトを実行してください。"
    echo "❌ Error: package.json not found. Please run this script from the project root."
    exit 1
fi

# Install dependencies
echo "📦 依存関係をインストール中... / Installing dependencies..."
npm install

# Build the project  
echo "🔨 TypeScriptをビルド中... / Building TypeScript..."
npm run build

# Create necessary directories
echo "📂 ディレクトリを作成中... / Creating directories..."
mkdir -p logs .cache .secrets config

# Generate config if it doesn't exist
if [ ! -f "config/mcp-db.config.yaml" ]; then
    echo "⚙️ 設定テンプレートを生成中... / Generating configuration template..."
    cp config/mcp-db.config.example.yaml config/mcp-db.config.yaml
    echo "✏️ config/mcp-db.config.yaml にデータベース接続情報を設定してください"
    echo "✏️ Please edit config/mcp-db.config.yaml with your database credentials"
fi

# Set permissions
chmod 755 logs .cache
chmod 600 config/mcp-db.config.yaml 2>/dev/null || true

# Generate Cursor MCP config
CURSOR_CONFIG_FILE="cursor-mcp-config.json"
echo "📄 Cursor MCP設定を生成中... / Generating Cursor MCP configuration..."

cat > "$CURSOR_CONFIG_FILE" << EOF
{
  "mcpServers": {
    "nl-to-sql": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "$CURRENT_DIR",
      "env": {
        "CONFIG_PATH": "$CURRENT_DIR/config/mcp-db.config.yaml",
        "NODE_ENV": "production"
      }
    }
  }
}
EOF

echo "✅ セットアップ完了！ / Setup complete!"
echo ""
echo "📋 次の手順 / Next steps:"
echo "1. config/mcp-db.config.yaml にデータベース接続情報を設定"
echo "   Edit config/mcp-db.config.yaml with your database credentials"
echo "2. データベース接続をテスト / Test database connection:"
echo "   npx mcp-db test-connection"
echo "3. $CURSOR_CONFIG_FILE の内容をCursorのMCP設定に追加"
echo "   Add the contents of $CURSOR_CONFIG_FILE to your Cursor MCP settings"
echo "4. MCPサーバーを読み込むためにCursorを再起動"
echo "   Restart Cursor to load the MCP server"
echo ""
echo "📖 詳細なセットアップ手順 / For detailed setup instructions:"
echo "   日本語: docs/cursor-setup-ja.md"
echo "   English: docs/cursor-setup.md"
echo "🔧 生成された設定ファイル / Generated config file: $CURSOR_CONFIG_FILE"