Chat Message
data class ChatMessage @JvmOverloads constructor(var role: ChatUser, var content: String?, var toolCalls: List<ToolCall>? = null, var toolCallId: String? = null)
ChatGPT's biggest innovation is its conversation memory. To remember the conversation, we need to map each message to who sent it. This data class wraps a message with the user who sent the message.