"""수동 DI 컨테이너.""" from api_client import HTTPAPIClient from config import AppConfig from services import ChatService, DocumentService, TTSService class Container: def __init__(self, config: AppConfig): self._config = config self._api_client: HTTPAPIClient | None = None self._chat_service: ChatService | None = None self._document_service: DocumentService | None = None self._tts_service: TTSService | None = None @property def config(self) -> AppConfig: return self._config @property def api_client(self) -> HTTPAPIClient: if self._api_client is None: self._api_client = HTTPAPIClient(self._config.api) return self._api_client @property def chat_service(self) -> ChatService: if self._chat_service is None: self._chat_service = ChatService(self.api_client) return self._chat_service @property def document_service(self) -> DocumentService: if self._document_service is None: self._document_service = DocumentService(self.api_client) return self._document_service @property def tts_service(self) -> TTSService: if self._tts_service is None: self._tts_service = TTSService(self._config) return self._tts_service