133 lines · 4.5 KB · Swift
RawDownload
import Foundation public struct ProviderSettingsSnapshot: Sendable {    public struct CodexProviderSettings: Sendable {        public let usageDataSource: CodexUsageDataSource        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?         public init(            usageDataSource: CodexUsageDataSource,            cookieSource: ProviderCookieSource,            manualCookieHeader: String?)        {            self.usageDataSource = usageDataSource            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader        }    }     public struct ClaudeProviderSettings: Sendable {        public let usageDataSource: ClaudeUsageDataSource        public let webExtrasEnabled: Bool        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?         public init(            usageDataSource: ClaudeUsageDataSource,            webExtrasEnabled: Bool,            cookieSource: ProviderCookieSource,            manualCookieHeader: String?)        {            self.usageDataSource = usageDataSource            self.webExtrasEnabled = webExtrasEnabled            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader        }    }     public struct CursorProviderSettings: Sendable {        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?         public init(cookieSource: ProviderCookieSource, manualCookieHeader: String?) {            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader        }    }     public struct OpenCodeProviderSettings: Sendable {        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?        public let workspaceID: String?         public init(cookieSource: ProviderCookieSource, manualCookieHeader: String?, workspaceID: String?) {            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader            self.workspaceID = workspaceID        }    }     public struct FactoryProviderSettings: Sendable {        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?         public init(cookieSource: ProviderCookieSource, manualCookieHeader: String?) {            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader        }    }     public struct MiniMaxProviderSettings: Sendable {        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?         public init(cookieSource: ProviderCookieSource, manualCookieHeader: String?) {            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader        }    }     public struct ZaiProviderSettings: Sendable {        public init() {}    }     public struct CopilotProviderSettings: Sendable {        public init() {}    }     public struct AugmentProviderSettings: Sendable {        public let cookieSource: ProviderCookieSource        public let manualCookieHeader: String?         public init(cookieSource: ProviderCookieSource, manualCookieHeader: String?) {            self.cookieSource = cookieSource            self.manualCookieHeader = manualCookieHeader        }    }     public let debugMenuEnabled: Bool    public let codex: CodexProviderSettings?    public let claude: ClaudeProviderSettings?    public let cursor: CursorProviderSettings?    public let opencode: OpenCodeProviderSettings?    public let factory: FactoryProviderSettings?    public let minimax: MiniMaxProviderSettings?    public let zai: ZaiProviderSettings?    public let copilot: CopilotProviderSettings?    public let augment: AugmentProviderSettings?     public init(        debugMenuEnabled: Bool,        codex: CodexProviderSettings?,        claude: ClaudeProviderSettings?,        cursor: CursorProviderSettings?,        opencode: OpenCodeProviderSettings?,        factory: FactoryProviderSettings?,        minimax: MiniMaxProviderSettings?,        zai: ZaiProviderSettings?,        copilot: CopilotProviderSettings?,        augment: AugmentProviderSettings?)    {        self.debugMenuEnabled = debugMenuEnabled        self.codex = codex        self.claude = claude        self.cursor = cursor        self.opencode = opencode        self.factory = factory        self.minimax = minimax        self.zai = zai        self.copilot = copilot        self.augment = augment    }}