<?php
declare(strict_types=1);

namespace Celena\Core\Ai;

/**
 * Контракт AI-провайдера. Минимальный: complete() → строка.
 * Провайдеры сами знают свои URL и формат запроса.
 */
interface ProviderInterface
{
    /**
     * @param string $system — инструкция модели (system prompt)
     * @param string $user — сообщение пользователя
     * @param array<string, mixed> $opts — доп. параметры (model, max_tokens, temperature)
     */
    public function complete(string $system, string $user, array $opts = []): string;

    public function name(): string;
}
