<?php

declare(strict_types=1);

if (PHP_SAPI !== 'cli') {
    http_response_code(403);
    exit(1);
}

function config(string $key, $default = null)
{
    return $default;
}

function getChatHistory(array $context): array
{
    return [
        [
            'role' => 'user',
            'content' => "Или что еще есть в наличии\nМотор NB300 желательно",
            'created_at' => date('c', time() - 60),
        ],
        [
            'role' => 'assistant',
            'content' => 'Менеджер вас сориентирует.',
            'created_at' => date('c', time() - 50),
        ],
    ];
}

require_once __DIR__ . '/../src/bot.php';

$cases = [
    ["Или что еще есть в наличии\nМотор NB300 желательно", true],
    ['Или   что еще есть В НАЛИЧИИ мотор nb300 желательно', true],
    ['Да', false],
    ['Совершенно другой достаточно длинный вопрос клиента', false],
];

$failures = [];
foreach ($cases as [$message, $expected]) {
    $actual = isRecentDuplicateClientMessage([], $message);
    if ($actual !== $expected) {
        $failures[] = compact('message', 'expected', 'actual');
    }
}

echo json_encode([
    'ok' => $failures === [],
    'cases' => count($cases),
    'failures' => $failures,
], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) . PHP_EOL;
exit($failures === [] ? 0 : 1);
