Files
2026-07-13 12:22:33 +08:00

44 lines
1.5 KiB
Swift

import CodexBarCore
import Foundation
extension SettingsStore {
var devinBearerToken: String {
get { self.configSnapshot.providerConfig(for: .devin)?.sanitizedCookieHeader ?? "" }
set {
self.updateProviderConfig(provider: .devin) { entry in
entry.cookieHeader = self.normalizedConfigValue(newValue)
}
self.logSecretUpdate(provider: .devin, field: "cookieHeader", value: newValue)
}
}
var devinCookieSource: ProviderCookieSource {
get { self.resolvedCookieSource(provider: .devin, fallback: .auto) }
set {
self.updateProviderConfig(provider: .devin) { entry in
entry.cookieSource = newValue
}
self.logProviderModeChange(provider: .devin, field: "cookieSource", value: newValue.rawValue)
}
}
var devinOrganization: String {
get { self.configSnapshot.providerConfig(for: .devin)?.sanitizedWorkspaceID ?? "" }
set {
self.updateProviderConfig(provider: .devin) { entry in
entry.workspaceID = self.normalizedConfigValue(newValue)
}
}
}
}
extension SettingsStore {
func devinSettingsSnapshot(tokenOverride _: TokenAccountOverride?) -> ProviderSettingsSnapshot
.DevinProviderSettings {
ProviderSettingsSnapshot.DevinProviderSettings(
cookieSource: self.devinCookieSource,
manualBearerToken: self.devinBearerToken,
organization: self.devinOrganization)
}
}