2024-08-21 06:30:01 +00:00
|
|
|
using AIStudio.Assistants.Coding;
|
|
|
|
using AIStudio.Assistants.IconFinder;
|
|
|
|
using AIStudio.Assistants.TextSummarizer;
|
2024-08-05 19:12:52 +00:00
|
|
|
|
|
|
|
namespace AIStudio.Settings.DataModel.PreviousModels;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The data model for the settings file.
|
|
|
|
/// </summary>
|
|
|
|
public sealed class DataV1V3
|
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// The version of the settings file. Allows us to upgrade the settings
|
|
|
|
/// when a new version is available.
|
|
|
|
/// </summary>
|
|
|
|
public Version Version { get; init; } = Version.V3;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// List of configured providers.
|
|
|
|
/// </summary>
|
|
|
|
public List<Provider> Providers { get; init; } = [];
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The next provider number to use.
|
|
|
|
/// </summary>
|
|
|
|
public uint NextProviderNum { get; set; } = 1;
|
|
|
|
|
|
|
|
#region App Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Should we save energy? When true, we will update content streamed
|
|
|
|
/// from the server, i.e., AI, less frequently.
|
|
|
|
/// </summary>
|
|
|
|
public bool IsSavingEnergy { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Should we enable spellchecking for all input fields?
|
|
|
|
/// </summary>
|
|
|
|
public bool EnableSpellchecking { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// If and when we should look for updates.
|
|
|
|
/// </summary>
|
|
|
|
public UpdateBehavior UpdateBehavior { get; set; } = UpdateBehavior.ONCE_STARTUP;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The navigation behavior.
|
|
|
|
/// </summary>
|
|
|
|
public NavBehavior NavigationBehavior { get; set; } = NavBehavior.EXPAND_ON_HOVER;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Chat Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Shortcuts to send the input to the AI.
|
|
|
|
/// </summary>
|
|
|
|
public SendBehavior ShortcutSendBehavior { get; set; } = SendBehavior.MODIFER_ENTER_IS_SENDING;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any chat options?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectChatOptions { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Should we preselect a provider for the chat?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedChatProvider { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Workspace Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The chat storage behavior.
|
|
|
|
/// </summary>
|
|
|
|
public WorkspaceStorageBehavior WorkspaceStorageBehavior { get; set; } = WorkspaceStorageBehavior.STORE_CHATS_AUTOMATICALLY;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The chat storage maintenance behavior.
|
|
|
|
/// </summary>
|
|
|
|
public WorkspaceStorageTemporaryMaintenancePolicy WorkspaceStorageTemporaryMaintenancePolicy { get; set; } = WorkspaceStorageTemporaryMaintenancePolicy.DELETE_OLDER_THAN_90_DAYS;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Assiatant: Icon Finder Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Do we want to preselect any icon options?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectIconOptions { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The preselected icon source.
|
|
|
|
/// </summary>
|
|
|
|
public IconSources PreselectedIconSource { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The preselected icon provider.
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedIconProvider { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Assistant: Translation Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The live translation interval for debouncing in milliseconds.
|
|
|
|
/// </summary>
|
|
|
|
public int LiveTranslationDebounceIntervalMilliseconds { get; set; } = 1_500;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Do we want to preselect any translator options?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectTranslationOptions { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the live translation?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectLiveTranslation { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Hide the web content reader?
|
|
|
|
/// </summary>
|
|
|
|
public bool HideWebContentReaderForTranslation { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the web content reader?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectWebContentReaderForTranslation { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the content cleaner agent?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectContentCleanerAgentForTranslation { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the target language?
|
|
|
|
/// </summary>
|
|
|
|
public CommonLanguages PreselectedTranslationTargetLanguage { get; set; } = CommonLanguages.EN_US;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any other language?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectTranslationOtherLanguage { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// The preselected translator provider.
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedTranslationProvider { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Assistant: Coding Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any coding options?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectCodingOptions { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the compiler messages?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectCodingCompilerMessages { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the coding language for new contexts?
|
|
|
|
/// </summary>
|
|
|
|
public CommonCodingLanguages PreselectedCodingLanguage { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Do you want to preselect any other language?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedCodingOtherLanguage { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Which coding provider should be preselected?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedCodingProvider { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Assistant: Text Summarizer Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any text summarizer options?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectTextSummarizerOptions { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Hide the web content reader?
|
|
|
|
/// </summary>
|
|
|
|
public bool HideWebContentReaderForTextSummarizer { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the web content reader?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectWebContentReaderForTextSummarizer { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the content cleaner agent?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectContentCleanerAgentForTextSummarizer { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the target language?
|
|
|
|
/// </summary>
|
|
|
|
public CommonLanguages PreselectedTextSummarizerTargetLanguage { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any other language?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedTextSummarizerOtherLanguage { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect the complexity?
|
|
|
|
/// </summary>
|
|
|
|
public Complexity PreselectedTextSummarizerComplexity { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any expertise in a field?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedTextSummarizerExpertInField { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect a text summarizer provider?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedTextSummarizerProvider { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Agent: Text Content Cleaner Settings
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect any text content cleaner options?
|
|
|
|
/// </summary>
|
|
|
|
public bool PreselectAgentTextContentCleanerOptions { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Preselect a text content cleaner provider?
|
|
|
|
/// </summary>
|
|
|
|
public string PreselectedAgentTextContentCleanerProvider { get; set; } = string.Empty;
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
}
|