using AIStudio.Assistants.ERI; using OperatingSystem = AIStudio.Assistants.ERI.OperatingSystem; namespace AIStudio.Settings.DataModel; public sealed class DataERIServer { /// /// Preselect the server name? /// public string ServerName { get; set; } = string.Empty; /// /// Preselect the server description? /// public string ServerDescription { get; set; } = string.Empty; /// /// Preselect the ERI version? /// public ERIVersion ERIVersion { get; set; } = ERIVersion.NONE; /// /// Preselect the language for implementing the ERI? /// public ProgrammingLanguages ProgrammingLanguage { get; set; } /// /// Do you want to preselect any other language? /// public string OtherProgrammingLanguage { get; set; } = string.Empty; /// /// Preselect a data source? /// public DataSources DataSource { get; set; } /// /// Do you want to preselect a product name for the data source? /// public string DataSourceProductName { get; set; } = string.Empty; /// /// Do you want to preselect any other data source? /// public string OtherDataSource { get; set; } = string.Empty; /// /// Do you want to preselect a hostname for the data source? /// public string DataSourceHostname { get; set; } = string.Empty; /// /// Do you want to preselect a port for the data source? /// public int? DataSourcePort { get; set; } /// /// Did the user type the port number? /// public bool UserTypedPort { get; set; } = false; /// /// Preselect any authentication methods? /// public HashSet AuthMethods { get; set; } = []; /// /// Do you want to preselect any authentication description? /// public string AuthDescription { get; set; } = string.Empty; /// /// Do you want to preselect an operating system? This is necessary when SSO with Kerberos is used. /// public OperatingSystem OperatingSystem { get; set; } = OperatingSystem.NONE; /// /// Do you want to preselect which LLM providers are allowed? /// public AllowedLLMProviders AllowedLLMProviders { get; set; } = AllowedLLMProviders.NONE; /// /// Do you want to predefine any embedding information? /// public List EmbeddingInfos { get; set; } = new(); /// /// Do you want to predefine any retrieval information? /// public List RetrievalInfos { get; set; } = new(); /// /// Do you want to preselect any additional libraries? /// public string AdditionalLibraries { get; set; } = string.Empty; /// /// Do you want to write all generated code to the filesystem? /// public bool WriteToFilesystem { get; set; } /// /// The base directory where to write the generated code to. /// public string BaseDirectory { get; set; } = string.Empty; /// /// We save which files were generated previously. /// public List PreviouslyGeneratedFiles { get; set; } = new(); }