namespace Deal.Ai.Llm;
///
/// Абстракция одного HTTP-вызова LLM-провайдера.
///
public interface IProviderClient
{
///
/// Выполняет один вызов модели по системному и пользовательскому сообщениям.
///
/// Конфиг активного провайдера (стиль API выбирается по ApiStyle).
/// Системный промпт (заполненный ядром либо фиксированный сервиса).
/// Пользовательское сообщение/контекст.
/// Текст ответа модели и usage API-ответа (null — провайдер usage не вернул).
public Task ChatAsync(
LlmConfig config,
string systemPrompt,
string userText,
CancellationToken cancellationToken);
}