namespace AIStudio.Settings.DataModel;
///
/// The data model for the settings file.
///
public sealed class Data
{
///
/// The version of the settings file. Allows us to upgrade the settings
/// when a new version is available.
///
public Version Version { get; init; } = Version.V5;
///
/// List of configured providers.
///
public List Providers { get; init; } = [];
///
/// Settings concerning the LLM providers.
///
public DataLLMProviders LLMProviders { get; init; } = new();
///
/// A collection of embedding providers configured.
///
public List EmbeddingProviders { get; init; } = [];
///
/// List of configured profiles.
///
public List Profiles { get; init; } = [];
///
/// The next provider number to use.
///
public uint NextProviderNum { get; set; } = 1;
///
/// The next embedding number to use.
///
public uint NextEmbeddingNum { get; set; } = 1;
///
/// The next profile number to use.
///
public uint NextProfileNum { get; set; } = 1;
public DataApp App { get; init; } = new();
public DataChat Chat { get; init; } = new();
public DataWorkspace Workspace { get; init; } = new();
public DataIconFinder IconFinder { get; init; } = new();
public DataTranslation Translation { get; init; } = new();
public DataCoding Coding { get; init; } = new();
public DataERI ERI { get; init; } = new();
public DataTextSummarizer TextSummarizer { get; init; } = new();
public DataTextContentCleaner TextContentCleaner { get; init; } = new();
public DataAgenda Agenda { get; init; } = new();
public DataGrammarSpelling GrammarSpelling { get; init; } = new();
public DataRewriteImprove RewriteImprove { get; init; } = new();
public DataEMail EMail { get; init; } = new();
public DataLegalCheck LegalCheck { get; init; } = new();
public DataSynonyms Synonyms { get; init; } = new();
public DataMyTasks MyTasks { get; init; } = new();
public DataJobPostings JobPostings { get; init; } = new();
public DataBiasOfTheDay BiasOfTheDay { get; init; } = new();
}