import Foundation

/// Injectable base URL. Public TLS by default; Tailscale alternative = GPU 서버 canonical
/// Tailscale IP (infra_inventory.md 단일 진실, 2026-06-07 사용자 확정 — DS 본체 = GPU 서버 유지,
/// contract/CONTRACT.md·CompositionTests 와 동일 값).
public enum DSBaseURL: Sendable {
    case publicTLS
    case tailscale
    case custom(URL)

    public var url: URL {
        switch self {
        case .publicTLS: return URL(string: "https://document.hyungi.net/api")!
        case .tailscale: return URL(string: "http://100.110.63.63:8000/api")!
        case .custom(let u): return u
        }
    }
}
