| 1 | import type { ProviderPresetView } from "./providerCatalogTypes"; |
| 2 | import type { AgentView, BotSettingsView, NetworkView, PermissionsView, ProviderView, SandboxView, ToolApprovalMode } from "./types"; |
| 3 | |
| 4 | export interface SettingsView { |
| 5 | modelSettingsFingerprint?: string; |
| 6 | defaultModel: string; |
| 7 | plannerModel: string; |
| 8 | visionModel: string; |
| 9 | webSearchModel?: string; |
| 10 | webSearchModels?: string[]; |
| 11 | webSearchModelStatus?: string; |
| 12 | webSearchModelReason?: string; |
| 13 | effectiveWebSearchModel?: string; |
| 14 | webSearchModelOverridden?: boolean; |
| 15 | subagentModel: string; |
| 16 | subagentEffort: string; |
| 17 | autoPlan: string; |
| 18 | providers: ProviderView[]; |
| 19 | officialProviders: ProviderView[]; |
| 20 | providerPresets: ProviderPresetView[]; |
| 21 | permissions: PermissionsView; |
| 22 | sandbox: SandboxView; |
| 23 | network: NetworkView; |
| 24 | agent: AgentView; |
| 25 | bot: BotSettingsView; |
| 26 | desktopLanguage: string; // "" | "en" | "zh"; empty = auto |
| 27 | desktopCurrency?: string; // "" | "CNY" | "USD"; absent/empty = follow language |
| 28 | desktopTheme: string; // "auto" | "dark" | "light" |
| 29 | desktopThemeStyle: string; |
| 30 | desktopTerminalTheme: string; // "auto" follows app | "dark" | "light" |
| 31 | closeBehavior: string; // "background" | "quit" |
| 32 | displayMode: string; sessionExperience?: "standard" | "deep"; reasoningDisplayMode: string; reasoningDisplayModeExplicit?: boolean; |
| 33 | statusBarStyle: string; // "icon" | "text" |
| 34 | statusBarItems: string[]; // ordered visible status bar item ids |
| 35 | defaultToolApprovalMode: ToolApprovalMode | string; // default for newly-created sessions |
| 36 | checkUpdates: boolean; // check for new versions on startup |
| 37 | updaterEnabled?: boolean; // build capability; absent/unknown is disabled |
| 38 | updateChannel: string; // compatibility field; always "stable" |
| 39 | telemetry: boolean; // anonymous launch ping + scrubbed next-launch native crash diagnostics |
| 40 | metrics: boolean; // aggregate quality/lifecycle metrics (anonymous signal/bucket counts) |
| 41 | configPath: string; |
| 42 | shadowedByPath?: string; // workspace reasonix.toml that outranks configPath, when one exists |
| 43 | providerKinds: string[]; // provider implementations the kernel registered (for the kind picker) |
| 44 | autoApproveTools: boolean; |
| 45 | bypass: boolean; // legacy JSON key for live YOLO/full-access tool auto-approval |
| 46 | conversationWidth?: string; // "standard" | "full"; absent from older Wails payloads |
| 47 | } |
| 48 |