#!/bin/bash
# 手动补完 e2etest 用户的初始化后半段：LLM 注入 + connector 回连配置
INST="friend-bb2f6f43"
TOKEN=$(docker exec postgres_db psql -U knowledge -d yunwoai -t -A -c "SELECT friend_token FROM user_friend_agents WHERE user_id='100';")
echo "friend_token_len=${#TOKEN}"

TUN=$(curl -sS -X POST -H "Authorization: Bearer dev-admin-token" -H "Content-Type: application/json" \
  -d '{"instance_id":"'$INST'","ttl_seconds":600}' \
  "http://127.0.0.1:19088/api/v1/instances/$INST/tunnels")
TK=$(echo "$TUN" | python3 -c "import sys,json,re;u=json.load(sys.stdin).get('url','');m=re.search(r'fctun_[a-f0-9]+',u);print(m.group(0) if m else '')")
BASE="http://127.0.0.1:19088/panel/$INST"

echo "=== LLM 注入（复用本地事实源逻辑，直接 REST 调用）==="
curl -sS -m 10 -X PUT -H "Cookie: friend_cluster_tunnel=$TK" -H "Content-Type: application/json" \
  -d '{"config":{"api_key":"sk-m2ZMH0W1EYSL4vrXwE0WjvQTSOKhhX4oMp31zZskZ6xDPl96","upstream_base":"http://10.200.0.20:3000","listen_addr":"127.0.0.1:39527"}}' \
  "$BASE/api/plugins/llm-proxy/config" | head -c 100; echo
for M in mistral-medium-latest nvidia/nemotron-3-super-120b-a12b:free openrouter/free; do
  curl -sS -m 15 -X POST -H "Cookie: friend_cluster_tunnel=$TK" -H "Content-Type: application/json" \
    -d '{"model_key":"'$M'","upstream_model_id":"'$M'","display_name":"'$M'","enabled":true}' \
    "$BASE/api/llm/channels/1/models" > /dev/null && echo "model ok: $M"
done

echo "=== connector 回连配置（含 host_token）==="
curl -sS -m 10 -X PUT -H "Cookie: friend_cluster_tunnel=$TK" -H "Content-Type: application/json" \
  -d '{"config":{"host_ws_url":"ws://10.168.3.36:8081/connector/ws","host_token":"'$TOKEN'","reconnect_min_seconds":2,"reconnect_max_seconds":30,"idle_threshold_seconds":300,"check_interval_seconds":30,"stream_batch_ms":100}}' \
  "$BASE/api/plugins/friend-cloud-connector/config" | head -c 120; echo

sleep 15
echo "=== connector 回连检查 ==="
ss -tn | grep ":8081" | grep ESTAB | head -3 || echo "(no estab)"
grep -E "connector online|friendbridge" /root/knowledge/run.log | tail -4
