Ë
    y[êjâ	  ã                  ó®   — d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	 dZ
dZdd„Zdd	„Zdd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zddd„Zy)z"Agnosticke cesty pro CyberBrain26.é    )ÚannotationsN)ÚPath)Úuser_cache_dirÚuser_config_dirÚuser_data_dirÚcyberbrain26Ú
CyberBrainc                óz   — t         j                  j                  | «      }|rt        |«      j	                  «       S |S ©N)ÚosÚenvironÚgetr   Ú
expanduser)Úenv_varÚdefaultÚraws      ú8/home/oem/CyberBrain26-unified/src/cyberbrain26/paths.pyÚ_resolver      s.   € Ü
�*‰*�.‰.˜Ó
!€CÙ%(Œ4�‹9×ÑÓ!Ð5¨gÐ5ó    c            	     óP   — t        dt        t        t        t        «      «      «      S )NÚCB26_CONFIG_DIR)r   r   r   ÚAPP_NAMEÚ
APP_AUTHOR© r   r   Ú
config_dirr      s   € ÜÐ%¤t¬O¼HÄjÓ,QÓ'RÓSÐSr   c            	     óP   — t        dt        t        t        t        «      «      «      S )NÚCB26_DATA_DIR)r   r   r   r   r   r   r   r   Údata_dirr      s   € Ü�O¤T¬-¼Ä*Ó*MÓ%NÓOÐOr   c            	     óP   — t        dt        t        t        t        «      «      «      S )NÚCB26_CACHE_DIR)r   r   r   r   r   r   r   r   Ú	cache_dirr!      s   € ÜÐ$¤d¬>¼(ÄJÓ+OÓ&PÓQÐQr   c                 ó0   — t        dt        «       dz  «      S )NÚCB26_WORKSPACE_DIRÚ	workspace©r   r   r   r   r   Úworkspace_dirr&      s   € ÜÐ(¬(«*°{Ñ*BÓCÐCr   c                 ó0   — t        dt        «       dz  «      S )NÚCB26_CONVERSATIONS_DIRÚconversationsr%   r   r   r   Úconversations_dirr*   "   s   € ÜÐ,¬h«j¸?Ñ.JÓKÐKr   c                 ó0   — t        dt        «       dz  «      S )NÚCB26_CHROMA_DIRÚ	chroma_db)r   r&   r   r   r   Ú
chroma_dirr.   &   s   € ÜÐ%¤}£¸Ñ'DÓEÐEr   c                 ó0   — t        dt        «       dz  «      S )NÚCB26_LOGS_DIRÚlogsr%   r   r   r   Úlogs_dirr2   *   s   € Ü�O¤X£Z°&Ñ%8Ó9Ð9r   c                 ó   — t        «       dz  S )Nz.env)r   r   r   r   Úenv_filer4   .   s   € Ü‹<˜&Ñ Ð r   c                 ó„   — t        «       t        «       t        «       t        «       t	        «       t        «       t        «       fS r   )r   r   r!   r&   r*   r.   r2   r   r   r   Úall_dirsr6   2   s0   € ä‹Ü‹
Ü‹Ü‹ÜÓÜ‹Ü‹
ðð r   c                 óH   — t        «       D ]  } | j                  dd¬«       Œ y )NT)ÚparentsÚexist_ok)r6   Úmkdir)Úds    r   Úensure_dirsr<   >   s#   € Ü‹Zò -ˆØ	�‰˜ tˆÕ,ñ-r   c                 óÊ   — t         j                  j                  d«      } | rt        | «      j	                  «       S t        t
        «      j                  «       j                  d   S )zØVrati koren projektu (repo).

    Priorita:
      1) CB26_PROJECT_ROOT env promenna (explicitni override)
      2) Odvozeno z umisteni tohoto souboru:
         src/cyberbrain26/paths.py -> parents[2] = repo root
    ÚCB26_PROJECT_ROOTé   )r   r   r   r   r   Ú__file__Úresolver8   )r   s    r   Úproject_rootrB   C   sK   € ô �*‰*�.‰.Ð,Ó
-€CÙ
Ü�C‹y×#Ñ#Ó%Ð%ä”‹>×!Ñ!Ó#×+Ñ+¨AÑ.Ð.r   c                óz   — t        «       }|j                  «       sy	 ddlm}  ||| ¬«       y# t        $ r Y yw xY w)aY  Nacte .env z config_dir() do os.environ.

    Pouziva se v CLI pred spustenim sluzeb, aby API klice a dalsi
    nastaveni byly k dispozici subprocessum.

    Args:
        override: pokud True, hodnoty z .env prebiji jiz existujici env.
                  Default False - existujici env (napr. CB26_* z env.sh)
                  ma prednost.
    Nr   )Úload_dotenv)Úoverride)r4   ÚexistsÚdotenvrD   ÚImportError)rE   ÚenvrD   s      r   Úload_envrJ   R   s?   € ô ‹*€CØ�:‰:Œ<ØðÝ&ñ �˜hÖ'øô ò Ùðús   �. ®	:¹:)r   Ústrr   r   Úreturnr   )rL   r   )rL   ztuple[Path, ...])rL   ÚNone)F)rE   ÚboolrL   rM   )Ú__doc__Ú
__future__r   r   Úpathlibr   Úplatformdirsr   r   r   r   r   r   r   r   r!   r&   r*   r.   r2   r4   r6   r<   rB   rJ   r   r   r   ú<module>rS      sh   ðÙ (Ý "ã 	Ý ç GÑ Gà€Ø€
ó6ó
TóPóRóDóLóFó:ó!ó	ó-ó
/õ(r   