
    g[                    V   S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	J
r
  SSKJr  SSKrSS	KJr  S
SKJrJr  S
SKJrJrJrJrJr  S
SKJrJrJrJrJrJ r J!r!J"r"J#r#J$r$  \(       a  SSK%J&r&  \
SS j5       r'\RP                  " \RR                  " S5      S\RR                  " S5      \*05      \RV                  \RX                          SS j5       5       5       r-\RP                  " \RR                  " S5      S05      \RV                  \RX                          SS j5       5       5       r.g)Register_commands.    )annotations)TYPE_CHECKINGAny)websocket_api)HomeAssistantcallback)async_dispatcher_connectN   )DOMAIN   )hacs_critical_acknowledgehacs_critical_list)hacs_repositories_addhacs_repositories_clear_newhacs_repositories_listhacs_repositories_removehacs_repositories_removed)
hacs_repository_betahacs_repository_downloadhacs_repository_ignorehacs_repository_infohacs_repository_refreshhacs_repository_release_noteshacs_repository_releaseshacs_repository_removehacs_repository_statehacs_repository_version)HacsBasec                   [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [
        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [        5        [         R                  " U [         5        [         R                  " U ["        5        [         R                  " U [$        5        [         R                  " U [&        5        [         R                  " U [(        5        g)r   N)r   async_register_command	hacs_infohacs_subscriber   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )hasss    4/config/custom_components/hacs/websocket/__init__.py!async_register_websocket_commandsr&   &   sE    ((y9((~>((/CD((/GH((/EF((/DE((/FG((/CD((/FG((/LM((/EF((/HI((/AB((/EF((/DE((/JK((/HI((/GH((/GH    typezhacs/subscribesignalc                   ^^#    [         SSUU4S jjj5       n[        U TS   U5      TR                  TS   '   TR                  [        R
                  " TS   5      5        g7f)zHandle websocket subscriptions.Nc                X   > TR                  [        R                  " TS   U 5      5        g)zForward events to websocket.idN)send_messager   event_message)data
connectionmsgs    r%   forward_messages(hacs_subscribe.<locals>.forward_messagesP   s$     	 ; ;CIt LMr'   r)   r,   )N)r/   zdict | NonereturnNone)r	   r
   subscriptionsr-   r   result_message)r$   r0   r1   r2   s    `` r%   r#   r#   A   sj      N N N +CH+JSY'
 M88TCDs   AA"z	hacs/infoc                  #    U R                   R                  [        5      nUR                  [        R
                  " US   UR                  R                  UR                  R                  UR                  R                  UR                  R                  UR                  R                  UR                  R                  UR                   R"                  UR$                  UR&                  R(                  UR*                  S.
5      5        g7f)zReturn information about HACS.r,   )

categoriescountrydebugdevdisabled_reasonhas_pending_taskslovelace_modestagestartupversionN)r/   getr   r-   r   r7   commonr9   configurationr:   r;   r<   systemr=   queuer>   corer?   r@   statusrA   rB   )r$   r0   r1   hacss       r%   r"   r"   ]   s      YY]]6*D$$I"kk44--55++11))--#';;#>#>%)ZZ%A%A!%!8!8;;..<<	
s   D	D)r$   r   r4   r5   )r$   r   r0   websocket_api.ActiveConnectionr1   dictr4   r5   )r$   r   r0   rK   r1   zdict[str, Any]r4   r5   )/__doc__
__future__r   typingr   r   homeassistant.componentsr   homeassistant.corer   r	    homeassistant.helpers.dispatcherr
   
voluptuousvolconstr   criticalr   r   repositoriesr   r   r   r   r   
repositoryr   r   r   r   r   r   r   r   r   r   baser   r&   websocket_commandRequiredstrrequire_adminasync_responser#   r"    r'   r%   <module>r`      sT    " % 2 6 E   C     
I 
I4   V.X E
E.E 
E 
	E  E(   Vk
 
. 
 
	  r'   