
    `gj	                    X    d dl mZ ddZ	 d	 	 	 	 	 d	dZ	 d	 	 	 	 	 d	dZ	 	 	 	 	 	 d
dZy)    )annotationsc                T    	 t        |       }|dk  ry |S # t        t        f$ r Y y w xY w)Nr   )float	TypeError
ValueError)rawtimeouts     F/root/.hermes/venv/lib/python3.12/site-packages/hermes_cli/timeouts.py_coerce_timeoutr      s:    * !|N	 z" s    ''Nc                   | sy	 ddl m}  |       }t        |t              r|j                  di       ni }t        |t              r|j                  | i       ni }t        |t              syt        ||      }|t        |j                  d            }||S t        |j                  d            S # t        $ r Y yw xY w)z@Return a configured provider request timeout in seconds, if any.Nr   load_config_readonly	providerstimeout_secondsrequest_timeout_secondshermes_cli.configr   	Exception
isinstancedictget_get_model_configr   provider_idmodelr   configr   provider_configmodel_configr	   s           r
   get_provider_request_timeoutr      s     :%' 0:&$/G

;+RI*4Y*E	k2&2  ot,$_e<L!,"2"23D"EFN?../HIJJ!     B1 1	B=<B=c                   | sy	 ddl m}  |       }t        |t              r|j                  di       ni }t        |t              r|j                  | i       ni }t        |t              syt        ||      }|t        |j                  d            }||S t        |j                  d            S # t        $ r Y yw xY w)z@Return a configured non-stream stale timeout in seconds, if any.Nr   r   r   stale_timeout_secondsr   r   s           r
   get_provider_stale_timeoutr#   +   s     :%' 0:&$/G

;+RI*4Y*E	k2&2  ot,$_e<L!,"2"23J"KLN?../FGHH!  r    c                    |sy | j                  di       }t        |t              r|j                  |i       ni }t        |t              r|S y )Nmodels)r   r   r   )r   r   r%   r   s       r
   r   r   H   sJ       2.F,6vt,D6::eR("L,%    )r   objectreturnfloat | None)N)r   strr   
str | Noner(   r)   )r   zdict[str, object]r   r+   r(   zdict[str, object] | None)
__future__r   r   r   r#   r    r&   r
   <module>r.      sv    " +/KK'KK< +/II'II:
&
/9

r&   