#!/usr/bin/env sh
set -eu

PLACEHOLDER_KEY="sk-tt-REPLACE_ME"
PLACEHOLDER_MODEL="provider/model-id"
API_KEY="${TOKEN_TOOL_API_KEY:-$PLACEHOLDER_KEY}"
MODEL_ID="${TOKEN_TOOL_MODEL_ID:-$PLACEHOLDER_MODEL}"
BASE_URL="https://api.tokentool.ru/api/v1"

if [ "$API_KEY" = "$PLACEHOLDER_KEY" ]; then
  echo "Задайте TOKEN_TOOL_API_KEY в переменной окружения текущей сессии." >&2
  exit 2
fi

case "$API_KEY" in
  sk-tt-*) ;;
  *)
    echo "TOKEN_TOOL_API_KEY не похож на ключ TokenTool." >&2
    exit 2
    ;;
esac

if [ "$MODEL_ID" = "$PLACEHOLDER_MODEL" ]; then
  echo "Задайте актуальный TOKEN_TOOL_MODEL_ID." >&2
  exit 2
fi

case "$MODEL_ID" in
  *[!A-Za-z0-9._~:/-]*|"")
    echo "TOKEN_TOOL_MODEL_ID содержит неподдерживаемые символы." >&2
    exit 2
    ;;
esac

curl --fail-with-body --silent --show-error \
  --request POST \
  --url "$BASE_URL/chat/completions" \
  --header "Authorization: Bearer $API_KEY" \
  --header "Content-Type: application/json" \
  --data "{
    \"model\": \"$MODEL_ID\",
    \"messages\": [
      {
        \"role\": \"user\",
        \"content\": \"Ответьте одним предложением: что такое API?\"
      }
    ]
  }"
