namespace AIStudio.Settings; /// /// 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.V3; /// /// List of configured providers. /// public List Providers { get; init; } = []; /// /// The next provider number to use. /// public uint NextProviderNum { get; set; } = 1; /// /// Should we save energy? When true, we will update content streamed /// from the server, i.e., AI, less frequently. /// public bool IsSavingEnergy { get; set; } /// /// Shortcuts to send the input to the AI. /// public SendBehavior ShortcutSendBehavior { get; set; } = SendBehavior.MODIFER_ENTER_IS_SENDING; /// /// Should we enable spellchecking for all input fields? /// public bool EnableSpellchecking { get; set; } /// /// If and when we should look for updates. /// public UpdateBehavior UpdateBehavior { get; set; } = UpdateBehavior.ONCE_STARTUP; /// /// The chat storage behavior. /// public WorkspaceStorageBehavior WorkspaceStorageBehavior { get; set; } = WorkspaceStorageBehavior.STORE_CHATS_AUTOMATICALLY; /// /// The chat storage maintenance behavior. /// public WorkspaceStorageTemporaryMaintenancePolicy WorkspaceStorageTemporaryMaintenancePolicy { get; set; } = WorkspaceStorageTemporaryMaintenancePolicy.DELETE_OLDER_THAN_90_DAYS; /// /// The navigation behavior. /// public NavBehavior NavigationBehavior { get; set; } = NavBehavior.EXPAND_ON_HOVER; }