#!/bin/bash
set -e

ENV_FILE=/opt/bridgestack/dev-agent/.env
SERVICE=bridgestack-dev-agent

if [ -f "$ENV_FILE" ]; then
    echo "Existing configuration found at $ENV_FILE — keeping it."
else
    echo ""
    echo "=== Bridgestack Dev Agent Configuration ==="
    echo ""

    read -p "Anthropic API Key: " ANTHROPIC_API_KEY
    read -p "Agent API Key: " AGENT_API_KEY
    read -p "Projects API URL [https://projects.bridgestack.systems]: " PROJECTS_API_URL
    PROJECTS_API_URL=${PROJECTS_API_URL:-https://projects.bridgestack.systems}
    read -p "GitHub Token: " GITHUB_TOKEN
    read -p "GCP Project ID: " GCP_PROJECT_ID
    read -p "Google Application Credentials path [/opt/bridgestack/devagent-sa-key.json]: " GOOGLE_APPLICATION_CREDENTIALS
    GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS:-/opt/bridgestack/devagent-sa-key.json}
    read -p "Sentry DSN (optional, press Enter to skip): " SENTRY_DSN

    cat > "$ENV_FILE" << ENVEOF
ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY
AGENT_API_KEY=$AGENT_API_KEY
PROJECTS_API_URL=$PROJECTS_API_URL
GITHUB_TOKEN=$GITHUB_TOKEN
GCP_PROJECT_ID=$GCP_PROJECT_ID
GOOGLE_APPLICATION_CREDENTIALS=$GOOGLE_APPLICATION_CREDENTIALS
SENTRY_DSN=$SENTRY_DSN
WS_URL=wss://projects.bridgestack.systems/ws/agent
ENVEOF

    chmod 600 "$ENV_FILE"

    echo ""
    echo "=== Configuration Summary ==="
    echo "  ANTHROPIC_API_KEY=*****${ANTHROPIC_API_KEY: -4}"
    echo "  AGENT_API_KEY=*****${AGENT_API_KEY: -4}"
    echo "  PROJECTS_API_URL=$PROJECTS_API_URL"
    echo "  GITHUB_TOKEN=*****${GITHUB_TOKEN: -4}"
    echo "  GCP_PROJECT_ID=$GCP_PROJECT_ID"
    echo "  GOOGLE_APPLICATION_CREDENTIALS=$GOOGLE_APPLICATION_CREDENTIALS"
    echo "  SENTRY_DSN=${SENTRY_DSN:-<not set>}"
    echo ""
    echo "Config written to $ENV_FILE"
fi

chown -R nayana:nayana /opt/bridgestack/dev-agent/

systemctl daemon-reload
systemctl enable ${SERVICE}.service

if systemctl is-active --quiet ${SERVICE}.service; then
    systemctl restart ${SERVICE}.service
    echo "${SERVICE} restarted."
else
    systemctl start ${SERVICE}.service
    echo "${SERVICE} started."
fi

echo "Logs: journalctl -u ${SERVICE} -f"
