+
    Ki                    Z    R t ^ RIHt ^ RIt^ RIHt ^ RIHt R R ltRRRR/R	 R
 llt	R# )zFHelpers for loading Hermes .env files consistently across entrypoints.)annotationsN)Path)load_dotenvc               $    V ^8  d   QhRRRRRR/# )   pathr   overrideboolreturnNone )formats   "2/home/ubuntu/hermes-agent/hermes_cli/env_loader.py__annotate__r      s&     M MT M M M    c               `     \        WR R7       R#   \         d    \        YRR7        R# i ; i)zutf-8)dotenv_pathr   encodingzlatin-1N)r   UnicodeDecodeError)r   r   s   &$r   _load_dotenv_with_fallbackr      s0    M'J M)LLMs    --hermes_homeproject_envc               $    V ^8  d   QhRRRRRR/# )r   r   zstr | os.PathLike | Noner   r
   z
list[Path]r   )r   s   "r   r   r      s(      ) * 	r   c                   . p\        T ;'       g2    \        P                  ! R\         P                  ! 4       R,          4      4      pVR,          pV'       d   \        V4      MRpVP	                  4       '       d   \        VRR7       VP                  V4       V'       d9   VP	                  4       '       d#   \        WR'       * R7       VP                  V4       V# )aC  Load Hermes environment files with user config taking precedence.

Behavior:
- `~/.hermes/.env` overrides stale shell-exported values when present.
- project `.env` acts as a dev fallback and only fills missing values when
  the user env exists.
- if no user env exists, the project `.env` also overrides stale shell vars.
HERMES_HOMEz.hermesz.envNT)r   )r   osgetenvhomeexistsr   append)r   r   loaded	home_pathuser_envproject_env_paths   $$    r   load_hermes_dotenvr$      s     F[UUBIImTYY[9=T$UVI6!H,7tK(T"8d;h,3355"#3jI&'Mr   )
__doc__
__future__r   r   pathlibr   dotenvr   r   r$   r   r   r   <module>r)      s6    L " 	  M,0 -1 r   