#!/usr/bin/env bash
set -euo pipefail
set -a; source /srv/sub2api-80/shared/env/sub2api-80.env; set +a
export PGPASSWORD="$DATABASE_PASSWORD"
API_KEY=$(psql -h "$DATABASE_HOST" -p "$DATABASE_PORT" -U "$DATABASE_USER" -d "$DATABASE_DBNAME" -Atc "select key from api_keys where group_id=25 and status='active' and deleted_at is null order by id desc limit 1")
if [[ -z "$API_KEY" ]]; then echo "NO_ACTIVE_KEY"; exit 2; fi
MODEL="claude-sonnet-4-6"
for host in 127.0.0.1:48090 74.48.114.71:48090 103.114.163.226:48090 103.125.219.164:48090; do
  echo "== $host =="
  for ep in messages responses chat; do
    tmp=$(mktemp)
    if [[ "$ep" == "messages" ]]; then
      data=$(printf '{"model":"%s","max_tokens":8,"messages":[{"role":"user","content":"ping"}]}' "$MODEL")
      url="http://$host/v1/messages"
    elif [[ "$ep" == "responses" ]]; then
      data=$(printf '{"model":"%s","input":"ping"}' "$MODEL")
      url="http://$host/v1/responses"
    else
      data=$(printf '{"model":"%s","messages":[{"role":"user","content":"ping"}],"max_tokens":8}' "$MODEL")
      url="http://$host/v1/chat/completions"
    fi
    code=$(curl --noproxy "*" -sS --connect-timeout 4 --max-time 45 -o "$tmp" -w "%{http_code}" -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" "$url" -d "$data" || true)
    body=$(tr -d "\n" < "$tmp" | cut -c1-360)
    rm -f "$tmp"
    printf "%s HTTP_STATUS=%s BODY=%s\n" "$ep" "$code" "$body"
  done
done
