<?php
require_once __DIR__ . '/../config.php';

header('Content-Type: application/json');

if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) {
    http_response_code(403);
    echo json_encode(['error' => 'Non autorizzato']);
    exit;
}

$input = json_decode(file_get_contents('php://input'), true);
$ip = $input['ip'] ?? '';

if (empty($ip)) {
    http_response_code(400);
    echo json_encode(['error' => 'IP mancante']);
    exit;
}

$prompt = "Sei un analista di sicurezza. Fornisci un approfondimento tecnico sull'indirizzo IP " . $ip . " nel contesto di possibili minacce informatiche. Suggerisci indagini da compiere (geolocalizzazione, reputazione, log firewall) e contromisure immediate.";

$data = [
    'model' => GROQ_MODEL,
    'messages' => [
        ['role' => 'user', 'content' => $prompt]
    ],
    'temperature' => 0.7
];

$options = [
    'http' => [
        'method' => 'POST',
        'header'  => "Content-Type: application/json\r\n" .
                     "Authorization: Bearer " . GROQ_API_KEY . "\r\n",
        'content' => json_encode($data),
        'timeout' => 30
    ]
];

$context = stream_context_create($options);
$result = @file_get_contents('https://api.groq.com/openai/v1/chat/completions', false, $context);

if ($result === FALSE) {
    echo json_encode(['response' => 'Errore nella comunicazione con AI.']);
    exit;
}

$response = json_decode($result, true);
$aiText = $response['choices'][0]['message']['content'] ?? 'Nessuna risposta.';
echo json_encode(['response' => $aiText]);