#!/usr/bin/env bash
# =============================================================================
# Fischer AgentKit — 本地开发环境一键停止脚本
# =============================================================================

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

echo "停止 Fischer AgentKit 开发服务..."

# 停止后端/API/GUI 进程（按端口）
for port in 8000 8001 8002 5173; do
  PID=$(lsof -ti :$port 2>/dev/null || true)
  if [[ -n "$PID" ]]; then
    kill $PID 2>/dev/null && echo "  [OK] 端口 $port 已停止 (PID $PID)" || true
  fi
done

# 停止 Vite/Node 进程
pkill -f "vite" 2>/dev/null && echo "  [OK] Vite 进程已停止" || true

# 停止 Docker 容器（开发专用）
for container in fischer-redis-dev fischer-pg-dev; do
  if docker ps --format '{{.Names}}' 2>/dev/null | grep -q "^${container}$"; then
    docker stop "$container" 2>/dev/null && echo "  [OK] 容器 $container 已停止" || true
  fi
done

echo "停止完成。"
