§
    s�’jò  ã                  ó¤   — d Z ddlmZ ddlmZ 	 ddlmZmZ n# e$ r ddl	mZ e
ZY nw xY w G d„ de¦  «        Z ed¬	¦  «        dd„¦   «         ZdS )z Application settings for DSCons.é    )Úannotations)Ú	lru_cache)ÚBaseSettingsÚSettingsConfigDict)r   c            
      óÐ  — e Zd ZU dZdZded<   dZded<   dZded<   d	Zded
<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded<   dZded <   d!Zded"<   d#Zded$<   dZded%<   d&Zded'<   d!Zded(<   d)Zded*<   d+d+d+d,d+d+d+d+d+d-œ	Zd.ed/<   d#d#d#d)d#d#d#d#d#d-œ	Zd.ed0<   d1Zded2<   d3Zded4<   d5Zded6<   d7Zded8<   d9Z ded:<   dZ!ded;<   d<Z"ded=<   d>Z#ded?<   d!Z$ded@<   d!Z%dedA<   dBZ&dedC<   dDZ'dedE<   dFZ(dedG<   dHZ)dedI<   dZ*dedJ<   dKZ+dedL<   d!Z,dedM<   dNZ-dedO<   dZ.dedP<   d!Z/dedQ<   d!Z0dedR<   dSZ1dedT<    e2dUd!d9dV¬W¦  «        Z3dXS )YÚSettingsz8Runtime configuration loaded from environment variables.ÚdevelopmentÚstrÚapp_envz
DSCons APIÚapp_namez0.1.0Úapp_versionÚopenai_compatibleÚllm_providerzstealth/ox-alphaÚllm_model_namezhttps://openrouter.ai/api/v1Úllm_api_base_urlz	lm-studioÚllm_api_keyg      ^@ÚfloatÚrequest_timeout_secondsi @  ÚintÚllm_max_tokensTÚboolÚlmstudio_enabledzhttp://127.0.0.1:1234/v1Úlmstudio_base_urlzlfm2.5-2.6bÚlmstudio_model_nameÚlmstudio_api_keyÚopenrouter_enabledÚopenrouter_base_urlÚ Úopenrouter_api_keyzliquid/lfm-2.5-2.6b:freeÚopenrouter_model_nameÚgemini_enabledz7https://generativelanguage.googleapis.com/v1beta/openaiÚgemini_base_urlÚgemini_api_keyzgemini-3.1-proÚgemini_model_nameÚ
openrouterÚgemini)	ÚthuyÚminhÚtungÚquynhÚhungÚthaoÚnamÚlanÚphuczdict[str, str]Úagent_provider_routingÚagent_model_routingzhttp://127.0.0.1:6333Ú
qdrant_urlÚdscons_knowledgeÚqdrant_collectionzvinai/phobert-base-v2Úembedding_model_namez.cache/huggingfaceÚembedding_cache_dirFÚembedding_local_files_onlyÚembedding_eager_loadz	127.0.0.1Údscons_hosti@  Údscons_portÚgoogle_client_idÚgoogle_client_secretz'dscons-enterprise-super-secret-key-2026Újwt_secret_keyÚHS256Újwt_algorithmi   Újwt_access_token_expire_minuteszhttps://dinhsonconstruction.comÚapp_public_urlÚcloudflared_enabledz
dscons-erpÚcloudflared_tunnel_nameÚdatabase_urlé   Ú database_connect_timeout_secondsÚtelegram_enabledÚtelegram_bot_tokenÚtelegram_chat_idz#dscons-telegram-webhook-secret-2026Útelegram_webhook_secretz.envÚignore)Úenv_fileÚ
env_prefixÚcase_sensitiveÚextraN)4Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r0   r1   r2   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r?   r@   rA   rB   rC   rD   rF   rG   rH   rI   rJ   r   Úmodel_config© ó    ú'C:\Projects\DSCons\app\core\settings.pyr   r      s¶  € € € € € € ØBÐBà €GÐ Ð Ð Ñ Ø €HÐ Ð Ð Ñ Ø€KÐÐÐÑà+€LÐ+Ð+Ð+Ñ+Ø,€NÐ,Ð,Ð,Ñ,Ø:ÐÐ:Ð:Ð:Ñ:Ø"€KÐ"Ð"Ð"Ñ"Ø%*ÐÐ*Ð*Ð*Ñ*Ø€NÐÐÐÑð "ÐÐ!Ð!Ð!Ñ!Ø7ÐÐ7Ð7Ð7Ñ7Ø,ÐÐ,Ð,Ð,Ñ,Ø'ÐÐ'Ð'Ð'Ñ'ð  $ÐÐ#Ð#Ð#Ñ#Ø=ÐÐ=Ð=Ð=Ñ=Ø ÐÐ Ð Ð Ñ Ø!;ÐÐ;Ð;Ð;Ñ;ð  €NÐÐÐÑØT€OÐTÐTÐTÑTØ€NÐÐÐÑØ-ÐÐ-Ð-Ð-Ñ-ð ØØØØØØØØð
.ð 
.Ðð 
ð 
ð 
ñ 
ð +Ø*Ø*Ø!Ø*Ø*Ø)Ø)Ø*ð
+ð 
+Ðð 
ð 
ð 
ñ 
ð .€JÐ-Ð-Ð-Ñ-Ø/ÐÐ/Ð/Ð/Ñ/Ø 7ÐÐ7Ð7Ð7Ñ7Ø3ÐÐ3Ð3Ð3Ñ3Ø',ÐÐ,Ð,Ð,Ñ,Ø!%ÐÐ%Ð%Ð%Ñ%Ø"€KÐ"Ð"Ð"Ñ"Ø€KÐÐÐÑàÐÐÐÐÑØ "ÐÐ"Ð"Ð"Ñ"ØC€NÐCÐCÐCÑCØ €MÐ Ð Ð Ñ Ø+/Ð#Ð/Ð/Ð/Ñ/Ø;€NÐ;Ð;Ð;Ñ;ð !%ÐÐ$Ð$Ð$Ñ$Ø#/ÐÐ/Ð/Ð/Ñ/à€LÐÐÐÑØ,-Ð$Ð-Ð-Ð-Ñ-ð "ÐÐ!Ð!Ð!Ñ!Ø ÐÐ Ð Ð Ñ ØÐÐÐÐÑØ#HÐÐHÐHÐHÑHà%Ð%ØØØØð	ñ ô €L€L€LrW   r   é   )ÚmaxsizeÚreturnc                 ó   — t          ¦   «         S )z"Return a cached settings instance.)r   rV   rW   rX   Úget_settingsr]   o   s   € õ ‰:Œ:ÐrW   N)r[   r   )rS   Ú
__future__r   Ú	functoolsr   Úpydantic_settingsr   r   ÚImportErrorÚpydanticÚdictr   r]   rV   rW   rX   ú<module>rd      só   ðØ &Ð &à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ðØBÐBÐBÐBÐBÐBÐBÐBÐBøØð ð ð Ø%Ð%Ð%Ð%Ð%Ð%àÐÐÐðøøøð]ð ]ð ]ð ]ð ]ˆ|ñ ]ô ]ð ]ð@ €�1ÐÑÔðð ð ñ Ôðð ð s   � ™)¨)