#!/bin/bash
set -e
cd /root/knowledge

echo "=== 1. 替换二进制并重启服务 ==="
tmux kill-session -t knowledge-3 2>/dev/null || true
pkill -f "knowledge-new\|./knowledge" 2>/dev/null || true
sleep 2
mv knowledge-new knowledge
tmux new-session -d -s knowledge-3 './knowledge > /root/knowledge/run.log 2>&1'
sleep 6
curl -sS --max-time 5 http://127.0.0.1:8081/api/healthz 2>/dev/null | head -c 100 || echo "(healthz 端点可能不存在，看端口)"
echo
ss -tlnp | grep 8081 | head -1 && echo PORT_OK

echo ""
echo "=== 2. 重建测试用户 ==="
PG=$(docker ps --format "{{.Names}}" | grep -i postgres | head -1)
docker exec $PG psql -U knowledge -d yunwoai -tAc "INSERT INTO users (username,password,phone) VALUES ('m1verify','M1verify123','13900009999') ON CONFLICT DO NOTHING RETURNING id" 2>/dev/null || docker exec $PG psql -U knowledge -d yunwoai -tAc "SELECT id FROM users WHERE username='m1verify'"

echo ""
echo "=== 3. 登录拿 JWT ==="
TOKEN=$(curl -sS --max-time 10 -X POST -H "Content-Type: application/json" -d '{"username":"m1verify","password":"M1verify123"}' http://127.0.0.1:8081/api/login | python3 -c "import sys,json; print(json.load(sys.stdin)['data']['token'])")
echo "TOKEN_LEN=${#TOKEN}"
echo "$TOKEN" > /tmp/m1_token.txt

echo ""
echo "=== 4. 初始化实例（全自动收敛）==="
curl -sS --max-time 300 -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" -d "{}" http://127.0.0.1:8081/api/user/friend-agent/initialize | head -c 500
echo
echo DONE
