import CodexBarCore import Foundation struct ProviderPresentationContext { let provider: UsageProvider let settings: SettingsStore let store: UsageStore let metadata: ProviderMetadata } struct ProviderAvailabilityContext { let provider: UsageProvider let settings: SettingsStore let environment: [String: String] } struct ProviderSourceLabelContext { let provider: UsageProvider let settings: SettingsStore let store: UsageStore let descriptor: ProviderDescriptor } struct ProviderSourceModeContext { let provider: UsageProvider let settings: SettingsStore } struct ProviderVersionContext { let provider: UsageProvider let browserDetection: BrowserDetection } struct ProviderSettingsSnapshotContext { let settings: SettingsStore let tokenOverride: TokenAccountOverride? let codexActiveSourceOverride: CodexActiveSource? init( settings: SettingsStore, tokenOverride: TokenAccountOverride?, codexActiveSourceOverride: CodexActiveSource? = nil) { self.settings = settings self.tokenOverride = tokenOverride self.codexActiveSourceOverride = codexActiveSourceOverride } }