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

# Skull Pi - AI Service Wrapper
# Description: Démarre le service d'intelligence artificielle
# Author: DevOps Team

PROJECT_DIR="/opt/Skull"
LOG_FILE="${PROJECT_DIR}/logs/ai.log"
PROMPT_FILE="${PROJECT_DIR}/config/prompt.txt"

# Activation de l'environnement virtuel
source "${PROJECT_DIR}/venv/bin/activate"

# Chargement des variables d'environnement
if [ -f "${PROJECT_DIR}/config/.env" ]; then
    set -a
    source "${PROJECT_DIR}/config/.env"
    set +a
fi

# Configuration des logs
exec > >(tee -a "${LOG_FILE}")
exec 2>&1

echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] Démarrage du service AI"
echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] Prompt système: ${PROMPT_FILE}"

# Vérification des clés API
if [ -z "${OPENAI_API_KEY:-}" ] && [ -z "${ANTHROPIC_API_KEY:-}" ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] ATTENTION: Aucune clé API configurée"
    echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] Fonctionnement en mode dégradé"
else
    if [ -n "${OPENAI_API_KEY:-}" ]; then
        echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] Clé OpenAI configurée"
    fi
    if [ -n "${ANTHROPIC_API_KEY:-}" ]; then
        echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] Clé Anthropic configurée"
    fi
fi

# Vérification du fichier prompt
if [ ! -f "${PROMPT_FILE}" ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - [AI] ATTENTION: Fichier prompt manquant: ${PROMPT_FILE}"
fi

# Changement vers le répertoire du projet
cd "${PROJECT_DIR}/apps"

# Lancement du module AI avec le prompt système
exec python -m ai.main --prompt "${PROMPT_FILE}"