using System.Collections.Generic; using Microsoft.Extensions.AI; using xAiModels.Models; using xCommons.Extensions; using xModels.Base; namespace xAiApi.AI.Models.Dtos { public class XAiRequirementDto : XBaseDto { /// /// Prepared Ai Project ... /// if Exists one Using Project ID, /// if not Created Default Project ... /// public XAiProjectDto AiProject { get; set; } /// /// Prepared Ai Conversation ... /// if Exists one Using Conversation ID, /// if not Created new Conversation ... /// public XAiConversationDto AiConversation { get; set; } /// /// Prepared Chat History for Asking ... /// including Asked Prompt ... /// public IList ChatHistory { get; set; } = new List(); /// /// Check User has Permission on /// Project, Conversation and LLM Usages also ... /// public bool HasPermission { get; set; } = false; /// /// Check Ai Project is Default Project of Specified User or not ... /// Default Project is Main Conversations Contains ... /// public bool IsDefaultProject { get; set; } = false; /// /// Check Ai Conversations is New Conversation or not ... /// public bool IsFirstConversation { get; set; } = false; /// /// Check Model is Validate or not ... /// /// public bool IsValid() { // var result = HasPermission && !AiProject.IsNullOrDefault() && !AiConversation.IsNullOrDefault(); // return result; } } }