
    љiV                     j    S SK JrJr  S SKJrJrJrJr  SSKJ	r	  SSK
Jr  SSKJrJr   " S S	\5      rg
)    )ABCabstractmethod)AnyCallable	AwaitableList   )STSResponse)STSPipeline   )AIAvatarRequestAIAvatarResponsec                       \ rS rSrS\4S jrS\4S jrS\S\4S jr\	S\
4S	 j5       r\	S
\S\4S j5       rS\\\/\S   4   4S jrS\\/\S   4   4S jrS\\\
/\S   4   4S jrSrg)Adapter   stsc                     Xl         U R                  U R                   l        U R                  U R                   l        / U l        / U l        / U l        g N)r   handle_responsestop_response_on_session_start_handlers_on_request_handlers_on_response_handlers)selfr   s     O/home/james-whalen/.local/lib/python3.13/site-packages/aiavatar/adapter/base.py__init__Adapter.__init__	   sG    #'#7#7 !%!3!3 df'XZ!gi"    returnc                     0 $ r    )r   s    r   
get_configAdapter.get_config   s    	r   configc                     U R                  5       R                  5       n0 nUR                  5        H"  u  pEUc  M
  XB;  a  M   [        XU5        XSU'   M$     U$ ! [         a     M5  f = fr   )r"   keysitemssetattr	Exception)r   r$   allowed_keysupdatedkvs         r   
set_configAdapter.set_config   sp    (--/LLNDAy$#
 #   s   A
A'&A'responsec                    #    g 7fr   r!   )r   r0   s     r   r   Adapter.handle_response%           
session_id
context_idc                    #    g 7fr   r!   )r   r5   r6   s      r   r   Adapter.stop_response)   r3   r4   funcNc                 <    U R                   R                  U5        U$ r   )r   appendr   r9   s     r   on_session_startAdapter.on_session_start-   s    ''..t4r   c                 <    U R                   R                  U5        U$ r   )r   r;   r<   s     r   
on_requestAdapter.on_request1   s    !!((.r   c                 <    U R                   R                  U5        U$ r   )r   r;   r<   s     r   on_responseAdapter.on_response5   s    ""))$/r   )r   r   r   r   )__name__
__module____qualname____firstlineno__r   r   dictr"   r.   r   r
   r   strr   r   r   r   r   r=   r@   r   rC   __static_attributes__r!   r   r   r   r      s    jK jD  $  k   c s  X.DiPTo.U%V x(99T?(JK *:K)H)TX/)Y Z r   r   N)abcr   r   typingr   r   r   r   
sts.modelsr
   sts.pipeliner   modelsr   r   r   r!   r   r   <module>rQ      s#    # 1 1 $ & 5/c /r   