import Foundation /// Wiring for one Atomenta Feature Control module deployment. public struct FeatureControlConfiguration: Sendable { public var baseURL: String public var evaluatePath: String public var notificationsPath: String public var telemetryPath: String public var environment: String public var auth: any FeatureControlAuthorizing /// In-memory cache TTL. FC-060 §5 recommends 30–60s client-side. public var cacheTTL: TimeInterval /// FC-060 §5 recommends 1.5–3s at the BFF; same budget applies here. public var requestTimeout: TimeInterval public init(baseURL: String, environment: String, auth: any FeatureControlAuthorizing, evaluatePath: String = "/api/feature-control/evaluate", notificationsPath: String = "/api/feature-control/notifications", telemetryPath: String = "/api/feature-control/telemetry/exposure", cacheTTL: TimeInterval = 45, requestTimeout: TimeInterval = 3) { self.baseURL = baseURL self.environment = environment self.auth = auth self.evaluatePath = evaluatePath self.notificationsPath = notificationsPath self.telemetryPath = telemetryPath self.cacheTTL = cacheTTL self.requestTimeout = requestTimeout } }