set -euo pipefail
APP=$(docker ps --format '{{.Names}}' | grep -E '^sub2api-80-app-1$|^sub2api.*app' | head -n1)
PSQLC=$(docker ps --format '{{.Names}}' | grep -E 'sub2api.*postgres|sub2api.*pg' | head -n1)
DB_HOST=$(docker exec "$APP" printenv DATABASE_HOST)
DB_PORT=$(docker exec "$APP" printenv DATABASE_PORT)
DB_USER=$(docker exec "$APP" printenv DATABASE_USER)
DB_NAME=$(docker exec "$APP" printenv DATABASE_DBNAME)
DB_PASS=$(docker exec "$APP" printenv DATABASE_PASSWORD)
KEY=$(docker exec -e PGPASSWORD="$DB_PASS" "$PSQLC" \
  psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -At \
  -c "select key from api_keys where status='active' and deleted_at is null and (expires_at is null or expires_at > now()) order by id asc limit 1;")
[ -n "$KEY" ]
for base in http://74.48.114.71:48090 http://31.58.223.35:38090; do
  echo "=== $base ==="
  models_json=$(mktemp)
  curl --noproxy '*' -sS -H "Authorization: Bearer $KEY" "$base/v1/models" > "$models_json"
  python3 - <<'PY' "$models_json"
import json,sys
obj=json.load(open(sys.argv[1]))
items=obj.get('data') or []
print('models_count=%s first=%s' % (len(items), items[0].get('id') if items else 'NONE'))
PY
  MODEL=$(python3 - <<'PY' "$models_json"
import json,sys
obj=json.load(open(sys.argv[1]))
ids=[x.get('id') for x in obj.get('data') or [] if isinstance(x,dict)]
for want in ['gpt-4.1-nano','gpt-4o-mini','gpt-5-nano']:
    if want in ids:
        print(want)
        raise SystemExit
print(ids[0] if ids else '')
PY
)
  body=$(python3 - <<PY
import json
print(json.dumps({"model": "$MODEL", "input": "reply with ok only", "max_output_tokens": 32}, separators=(",", ":")))
PY
)
  resp_json=$(mktemp)
  curl --noproxy '*' -sS -H "Authorization: Bearer $KEY" -H 'Content-Type: application/json' \
    -d "$body" "$base/v1/responses" > "$resp_json"
  python3 - <<'PY' "$resp_json"
import json,sys
obj=json.load(open(sys.argv[1]))
out=''
for item in obj.get('output',[]) or []:
    for c in item.get('content',[]) or []:
        if c.get('type') in ('output_text','text') and c.get('text'):
            out += c['text']
print('response_id=%s text=%s' % (obj.get('id'), out[:120].replace('\n',' ')))
PY
  echo
 done
