§
     ’jÕ  ã                  ó8  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ  ed	¬
¦  «        d„ ¦   «         Z ed	¬
¦  «        dd„¦   «         Z ed	¬
¦  «        dd„¦   «         Z ed	¬
¦  «        dd„¦   «         Z ed	¬
¦  «        dd„¦   «         ZdS )z!Application dependency factories.é    )Úannotations)Ú	lru_cache)ÚTaskOrchestrator©Úget_settings)ÚEmbeddingService)Ú	LLMClient)ÚQdrantStoreé   )Úmaxsizec                 ó   — t          ¦   «         S )z"Return a shared settings instance.r   © ó    ú*C:\Projects\DSCons\app\api\dependencies.pyÚget_settings_cachedr      s   € õ ‰>Œ>Ðr   Úreturnr	   c                 ó<   — t          ¦   «         } t          | ¦  «        S )z$Create a shared LLM client instance.)r   r	   ©Úsettingss    r   Úget_llm_clientr      s   € õ #Ñ$Ô$€HÝ�XÑÔÐr   r   c                 ó<   — t          ¦   «         } t          | ¦  «        S )z+Create a shared embedding service instance.)r   r   r   s    r   Úget_embedding_servicer      s   € õ #Ñ$Ô$€HÝ˜HÑ%Ô%Ð%r   r
   c                 óX   — t          ¦   «         } t          | t          ¦   «         ¬¦  «        S )z&Create a shared Qdrant store instance.)r   Úembedding_service)r   r
   r   r   s    r   Úget_qdrant_storer   %   s2   € õ #Ñ$Ô$€HÝØÝ/Ñ1Ô1ðñ ô ð r   r   c                 ón   — t          t          ¦   «         t          ¦   «         t          ¦   «         ¬¦  «        S )zCreate the task orchestrator.)Ú
llm_clientÚqdrant_storer   )r   r   r   r   r   r   r   Úget_orchestratorr   0   s6   € õ Ý!Ñ#Ô#Ý%Ñ'Ô'Ý/Ñ1Ô1ðñ ô ð r   N)r   r	   )r   r   )r   r
   )r   r   )Ú__doc__Ú
__future__r   Ú	functoolsr   Úapp.agents.orchestratorr   Úapp.core.settingsr   Ú'app.modules.core.application.embeddingsr   Ú)app.modules.agents.application.llm_clientr	   Ú)app.modules.core.application.qdrant_storer
   r   r   r   r   r   r   r   r   ú<module>r(      st  ðØ 'Ð 'à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø *Ð *Ð *Ð *Ð *Ð *Ø DÐ DÐ DÐ DÐ DÐ DØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø AÐ AÐ AÐ AÐ AÐ Að €�1ÐÑÔðð ñ Ôðð €�1ÐÑÔðð ð ñ Ôðð €�1ÐÑÔð&ð &ð &ñ Ôð&ð €�1ÐÑÔðð ð ñ Ôðð €�1ÐÑÔðð ð ñ Ôðð ð r   