
    !<i                     b    d dl Z d dlZd dlmZ d dlmZ d dlmZ ddlmZ  G d de          Z	dS )	    N)Hashable)Any)Optional   )FrameworkIntegrationc                       e Zd ZdefdZdeeeef                  dedeeef         fdZ	deeeef                  dedefdZ
deeeef                  defd	ZddZed             Zd
S )StarletteIntegrationkeyc                    K   | j                             |           d {V }|sd S 	 t          j        |          S # t          t
          f$ r Y d S w xY wN)cachegetjsonloads	TypeError
ValueError)selfr
   values      /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/authlib/integrations/starlette_client/integration.py_get_cache_dataz$StarletteIntegration._get_cache_data   st      jnnS)))))))) 	4	:e$$$:& 	 	 	44	s   < AAsessionstatereturnc                    K   d| j          d| }| j        r|                     |           d {V }n||                    |          }nd }|r|                    d          S d S )N_state__data)namer   r   r   )r   r   r   r
   r   s        r   get_state_dataz#StarletteIntegration.get_state_data   s       ,	++E++: 	..s33333333EE KK$$EEE 	%99V$$$t    r   c                   K   d| j          d}| | }| j        r=| j                            |t          j        d|i          | j                   d {V  d S |st          |                                          D ],}|                    |          r|	                    |           -t          j
                    }||| j        z   d||<   d S d S )Nr   r   r   )r   exp)r   r   setr   dumps
expires_inlistkeys
startswithpoptime)r   r   r   r   
key_prefixr
   old_keynows           r   set_state_dataz#StarletteIntegration.set_state_data#   s       ,ty+++
$U$$: 	H*..dj&$&@&@$/RRRRRRRRRRR // ) )%%j11 )KK((()++C$(t1FGGGCLLL ! r    c                    K   d| j          d| }| j        r"| j                            |           d {V  d S |-|                    |d            |                     |           d S d S )Nr   r   )r   r   deleter)   _clear_session_state)r   r   r   r
   s       r   clear_state_dataz%StarletteIntegration.clear_state_data2   s      +	++E++: 	/*##C((((((((((( KKT"""%%g..... ! r    Nc                     d S r    )r   tokenrefresh_tokenaccess_tokens       r   update_tokenz!StarletteIntegration.update_token:   s    r    c                     | j         si S i }|D ]>}| d|                                 }| j                             |d           }||||<   ?|S )Nr   )default)configupperr   )oauthr   paramsrvkconf_keyvs          r   load_configz StarletteIntegration.load_config=   sn    | 	I 	 	A}}}}**,,H  4 88A}1	r    )NN)__name__
__module____qualname__r   r   r   dictstrr   r   r.   r2   r8   staticmethodrC   r4   r    r   r	   r	   
   s           S#X/8;	c3h   HS#X/H8;HCFH H H H/htCH~.F /s / / / /    
 
 \
 
 
r    r	   )
r   r*   collections.abcr   typingr   r   base_clientr   r	   r4   r    r   <module>rM      s      $ $ $ $ $ $             . . . . . .> > > > >/ > > > > >r    