#ifndef CHAT_MESSAGE_H__
#define CHAT_MESSAGE_H__

#include <string>
#include <vector>

enum class ChatMessageType { SYSTEM, USER, ASSISTANT };

struct ChatMessageItem {
    ChatMessageType type_{ChatMessageType::USER};
    std::string message_;
};

struct _ChatMessage {
    std::string systemMessage_;
    std::vector<ChatMessageItem> messages_;

    std::string generateJsonString() const;
};

#endif  // CHAT_MESSAGE_H__