#!/bin/bash
set -x
C=friend-deploy-d9102e3f-f4f
INST=friend-bf45265e

# 1) create tunnel
RAW=$(curl -s -X POST -H "Authorization: Bearer dev-admin-token" -H "Content-Type: application/json" http://127.0.0.1:19088/api/v1/instances/$INST/tunnels -d '{}')
echo "RAW=$RAW"
TOK=$(echo "$RAW" | python3 -c "import sys,json,urllib.parse as u; d=json.load(sys.stdin); q=u.urlparse(d.get('url','')).query; print(u.parse_qs(q).get('__friend_tunnel',[''])[0])")
echo "TUNNEL_LEN=${#TOK}"
if [ -z "$TOK" ]; then echo "NO_TUNNEL"; exit 1; fi

BASE="http://127.0.0.1:19088/api/v1/instances/$INST/tunnels/http?token=$TOK"

# 2) push llm-proxy config (wrapped format)
curl -s -X PUT -H 'Content-Type: application/json' "$BASE&path=/api/plugins/llm-proxy/config" \
  --data '{"config":{"upstream_base":"http://10.200.0.20:3000","api_key":"sk-m2ZMH0W1EYSL4vrXwE0WjvQTSOKhhX4oMp31zZskZ6xDPl96","listen_addr":"127.0.0.1:39527"}}'
echo
sleep 8

# 3) verify proxy has key
docker exec $C sh -c "wget -q -O- http://127.0.0.1:39527/v1/models 2>/dev/null | head -c 120"
echo

# 4) sync models
curl -s -X POST -H 'Content-Type: application/json' "$BASE&path=/api/llm/channels/1/sync-models" -d '{}'
echo
sleep 3
echo "=== DONE ==="
