AI-Studio/app/MindWork AI Studio/Settings/DataModel/DataERI.cs

124 lines
4.0 KiB
C#
Raw Normal View History

2024-12-14 18:48:47 +00:00
using AIStudio.Assistants.ERI;
2024-12-04 12:49:31 +00:00
using AIStudio.Provider;
2024-12-14 18:48:47 +00:00
using OperatingSystem = AIStudio.Assistants.ERI.OperatingSystem;
2024-12-04 12:49:31 +00:00
namespace AIStudio.Settings.DataModel;
2024-12-14 18:48:47 +00:00
public sealed class DataERI
2024-12-04 12:49:31 +00:00
{
2024-12-19 10:51:38 +00:00
/// <summary>
/// Should we automatically save any input made in the ERI assistant?
/// </summary>
public bool AutoSaveChanges { get; set; } = true;
2024-12-04 12:49:31 +00:00
/// <summary>
2024-12-14 18:48:47 +00:00
/// Preselect any ERI options?
2024-12-04 12:49:31 +00:00
/// </summary>
2024-12-19 10:51:38 +00:00
public bool PreselectOptions { get; set; } = true;
2024-12-09 18:25:22 +00:00
2024-12-09 19:11:37 +00:00
/// <summary>
/// Preselect the server name?
/// </summary>
public string PreselectedServerName { get; set; } = string.Empty;
/// <summary>
/// Preselect the server description?
/// </summary>
public string PreselectedServerDescription { get; set; } = string.Empty;
2024-12-09 18:25:22 +00:00
/// <summary>
2024-12-14 18:48:47 +00:00
/// Preselect the ERI version?
2024-12-09 18:25:22 +00:00
/// </summary>
2024-12-14 18:48:47 +00:00
public ERIVersion PreselectedERIVersion { get; set; } = ERIVersion.NONE;
2024-12-04 12:49:31 +00:00
/// <summary>
2024-12-14 18:48:47 +00:00
/// Preselect the language for implementing the ERI?
2024-12-04 12:49:31 +00:00
/// </summary>
2024-12-04 14:15:59 +00:00
public ProgrammingLanguages PreselectedProgrammingLanguage { get; set; }
2024-12-04 12:49:31 +00:00
/// <summary>
/// Do you want to preselect any other language?
/// </summary>
public string PreselectedOtherProgrammingLanguage { get; set; } = string.Empty;
2024-12-04 20:19:59 +00:00
/// <summary>
/// Preselect a data source?
/// </summary>
public DataSources PreselectedDataSource { get; set; }
/// <summary>
/// Do you want to preselect a product name for the data source?
/// </summary>
public string PreselectedDataSourceProductName { get; set; } = string.Empty;
2024-12-04 20:19:59 +00:00
/// <summary>
/// Do you want to preselect any other data source?
/// </summary>
public string PreselectedOtherDataSource { get; set; } = string.Empty;
/// <summary>
/// Do you want to preselect a hostname for the data source?
/// </summary>
public string PreselectedDataSourceHostname { get; set; } = string.Empty;
/// <summary>
/// Do you want to preselect a port for the data source?
/// </summary>
public int? PreselectedDataSourcePort { get; set; }
2024-12-27 12:01:30 +00:00
/// <summary>
/// Did the user type the port number?
/// </summary>
public bool UserTypedPort { get; set; } = false;
2024-12-04 20:22:39 +00:00
/// <summary>
/// Preselect any authentication methods?
/// </summary>
public HashSet<Auth> PreselectedAuthMethods { get; set; } = [];
/// <summary>
/// Do you want to preselect any authentication description?
/// </summary>
public string PreselectedAuthDescription { get; set; } = string.Empty;
/// <summary>
/// Do you want to preselect an operating system? This is necessary when SSO with Kerberos is used.
/// </summary>
public OperatingSystem PreselectedOperatingSystem { get; set; } = OperatingSystem.NONE;
/// <summary>
/// Do you want to preselect which LLM providers are allowed?
/// </summary>
public AllowedLLMProviders PreselectedAllowedLLMProviders { get; set; } = AllowedLLMProviders.NONE;
2024-12-25 21:50:04 +00:00
/// <summary>
/// Do you want to predefine any embedding information?
/// </summary>
2024-12-27 12:07:12 +00:00
public List<EmbeddingInfo> PreselectedEmbeddingInfos { get; set; } = new();
2024-12-25 21:50:04 +00:00
/// <summary>
/// Do you want to predefine any retrieval information?
/// </summary>
public List<RetrievalInfo> PreselectedRetrievalInfos { get; set; } = new();
/// <summary>
/// Do you want to preselect any additional libraries?
/// </summary>
public string PreselectedAdditionalLibraries { get; set; } = string.Empty;
2024-12-04 20:22:39 +00:00
2024-12-04 12:49:31 +00:00
/// <summary>
/// The minimum confidence level required for a provider to be considered.
/// </summary>
public ConfidenceLevel MinimumProviderConfidence { get; set; } = ConfidenceLevel.NONE;
/// <summary>
/// Which coding provider should be preselected?
/// </summary>
public string PreselectedProvider { get; set; } = string.Empty;
/// <summary>
/// Preselect a profile?
/// </summary>
public string PreselectedProfile { get; set; } = string.Empty;
}