| 123456789101112131415161718192021222324252627282930 |
- import Foundation
- enum AIConfiguration {
- private static let apiKeyDefaultsKey = "openai_api_key"
- static var apiKey: String? {
- if let envKey = ProcessInfo.processInfo.environment["OPENAI_API_KEY"],
- !envKey.trimmingCharacters(in: .whitespaces).isEmpty {
- return envKey.trimmingCharacters(in: .whitespaces)
- }
- let stored = UserDefaults.standard.string(forKey: apiKeyDefaultsKey)?
- .trimmingCharacters(in: .whitespaces)
- guard let stored, !stored.isEmpty else { return nil }
- return stored
- }
- static var usesLiveAI: Bool {
- apiKey != nil
- }
- static func setAPIKey(_ key: String?) {
- let trimmed = key?.trimmingCharacters(in: .whitespaces)
- if let trimmed, !trimmed.isEmpty {
- UserDefaults.standard.set(trimmed, forKey: apiKeyDefaultsKey)
- } else {
- UserDefaults.standard.removeObject(forKey: apiKeyDefaultsKey)
- }
- }
- }
|