using BotSharp.Abstraction.Functions.Models; using BotSharp.Abstraction.Instructs.Models; using BotSharp.Abstraction.Messaging; using BotSharp.Abstraction.Messaging.Models.RichContent; using System.Text.Json.Serialization; namespace BotSharp.OpenAPI.ViewModels.Conversations; public class ChatResponseModel : InstructResult { [JsonPropertyName("conversation_id")] public string ConversationId { get; set; } = string.Empty; public UserViewModel Sender { get; set; } = new UserViewModel(); public string? Function { get; set; } /// /// Planner instruction /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public FunctionCallFromLlm? Instruction { get; set; } /// /// Rich message for UI rendering /// [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] [JsonPropertyName("rich_content")] public RichContent? RichContent { get; set; } [JsonPropertyName("created_at")] public DateTime CreatedAt { get; set; } = DateTime.UtcNow; }