#!/usr/bin/env bash
set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="$ROOT/.env"
API_BASE="${OMEMAI_API_BASE:-https://omemai.com}"
HOST="${OMEMAI_GATEWAY_HOST:-127.0.0.1}"
PORT="${OMEMAI_GATEWAY_PORT:-8777}"
AUTO_MESSAGES="${OMEMAI_AUTO_CHECKPOINT_MESSAGES:-10}"
AUTO_MINUTES="${OMEMAI_AUTO_CHECKPOINT_MINUTES:-20}"

if [[ -z "${OMEMAI_API_KEY:-}" ]]; then
  printf 'Enter OMemAI Agent API Key: ' >&2
  stty -echo || true
  read -r OMEMAI_API_KEY
  stty echo || true
  printf '\n' >&2
fi

if [[ -z "${OMEMAI_API_KEY:-}" ]]; then
  echo "ERROR: OMEMAI_API_KEY is required" >&2
  exit 1
fi

umask 077
cat > "$ENV_FILE" <<EOF
OMEMAI_API_BASE=$API_BASE
OMEMAI_API_KEY=$OMEMAI_API_KEY
OMEMAI_GATEWAY_HOST=$HOST
OMEMAI_GATEWAY_PORT=$PORT
OMEMAI_DEFAULT_PROJECT_ID=${OMEMAI_DEFAULT_PROJECT_ID:-}
OMEMAI_AUTO_CHECKPOINT_MESSAGES=$AUTO_MESSAGES
OMEMAI_AUTO_CHECKPOINT_MINUTES=$AUTO_MINUTES
OMEMAI_CONTEXT_LOAD_ON_START=${OMEMAI_CONTEXT_LOAD_ON_START:-true}
OMEMAI_SEARCH_ON_USER_MESSAGE=${OMEMAI_SEARCH_ON_USER_MESSAGE:-true}
OMEMAI_TIMEOUT_SECONDS=${OMEMAI_TIMEOUT_SECONDS:-120}
EOF
chmod 600 "$ENV_FILE"

python3 "$ROOT/doctor.py" --env-file "$ENV_FILE" --json >/tmp/omemai-gateway-doctor.json
python3 "$ROOT/doctor.py" --env-file "$ENV_FILE"

echo "Gateway config written: $ENV_FILE"
echo "Start locally with: python3 $ROOT/server.py --host $HOST --port $PORT"
echo "For full validation: python3 $ROOT/doctor.py --env-file $ENV_FILE --full"
