<?php

declare(strict_types=1);

namespace Distantmagic\Resonance;

use Distantmagic\Resonance\Attribute\Singleton;

#[Singleton]
readonly class LlmChatHistoryRenderer
{
    public function __construct(
        private LlmChatMessageRendererInterface $llmChatMessageRenderer,
    ) {}

    public function renderLlmChatHistory(
        LlmChatHistory $llmChatHistory,
    ): string {
        $ret = '';

        foreach ($llmChatHistory->messages as $message) {
            $ret .= $this->llmChatMessageRenderer->renderLlmChatMessage($message)."\n";
        }

        return $ret;
    }
}