using System.Collections.Generic; using System.Text.Json.Serialization; namespace AxCopilot.Models; public class AppSettings { [JsonPropertyName("version")] public string Version { get; set; } = "1.0"; [JsonPropertyName("ai_enabled")] public bool AiEnabled { get; set; } = false; [JsonPropertyName("hotkey")] public string Hotkey { get; set; } = "Alt+Space"; [JsonPropertyName("launcher")] public LauncherSettings Launcher { get; set; } = new LauncherSettings(); [JsonPropertyName("indexPaths")] public List IndexPaths { get; set; } = new List { "%USERPROFILE%\\Desktop", "%APPDATA%\\Microsoft\\Windows\\Start Menu" }; [JsonPropertyName("indexExtensions")] public List IndexExtensions { get; set; } = new List { ".exe", ".lnk", ".bat", ".ps1", ".url", ".cmd", ".msi", ".pdf", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".hwp", ".hwpx", ".txt", ".md", ".csv", ".json", ".xml", ".yaml", ".yml", ".log", ".ini", ".cfg", ".conf", ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".svg", ".webp", ".ico", ".tiff", ".zip", ".7z", ".rar" }; [JsonPropertyName("indexSpeed")] public string IndexSpeed { get; set; } = "normal"; [JsonPropertyName("monitorMismatch")] public string MonitorMismatch { get; set; } = "warn"; [JsonPropertyName("profiles")] public List Profiles { get; set; } = new List(); [JsonPropertyName("aliases")] public List Aliases { get; set; } = new List(); [JsonPropertyName("clipboardTransformers")] public List ClipboardTransformers { get; set; } = new List(); [JsonPropertyName("apiAdapters")] public List ApiAdapters { get; set; } = new List(); [JsonPropertyName("plugins")] public List Plugins { get; set; } = new List(); [JsonPropertyName("snippets")] public List Snippets { get; set; } = new List(); [JsonPropertyName("clipboardHistory")] public ClipboardHistorySettings ClipboardHistory { get; set; } = new ClipboardHistorySettings(); [JsonPropertyName("systemCommands")] public SystemCommandSettings SystemCommands { get; set; } = new SystemCommandSettings(); [JsonPropertyName("screenCapture")] public ScreenCaptureSettings ScreenCapture { get; set; } = new ScreenCaptureSettings(); [JsonPropertyName("reminder")] public ReminderSettings Reminder { get; set; } = new ReminderSettings(); [JsonPropertyName("llm")] public LlmSettings Llm { get; set; } = new LlmSettings(); }