
    j                         d dl Z d dlZd dlZd dlmZ d dlZ e j                  e      Z	de
fdZ G d dej                        ZddZy)	    N)Anyreturnc                  0    t        j                  d      d uS )NAWS_PARTNER_APP_AUTH)osgetenv     y/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/integrations/sagemaker/auth.py_in_aws_sagemakerr      s    99+,D88r
   c                   "    e Zd ZdeddfdZd Zy)SagemakerAuthauth_providerr   Nc                     || _         y N)r   )selfr   s     r   __init__zSagemakerAuth.__init__   s
    *r
   c              #   >  K   t               s| | j                  j                  t        |j                        |j
                  |j                  |j                        \  }}t        j                  |      |_        |j                  j                  |       | y wr   )r   r   get_signed_requeststrurlmethodheaderscontenthttpxURLupdate)r   requestr   signed_headerss       r   	auth_flowzSagemakerAuth.auth_flow   sr      "M"00CCgnngoow
^ iin~.s   BB)__name__
__module____qualname__r   r   r    r	   r
   r   r   r      s    +c +d +r
   r   c                      dt         j                  dd fd} t        j                  j	                  t        j                  j                  | d              y )Nclientr   c                 f    t               sy dd l}|j                         }t        |      }|| _        y )Nr   )r   	sagemakerPartnerAppAuthProviderr   auth)r%   r'   r   sagemaker_auths       r   sagemaker_auth_client_hookzDsetup_aws_sagemaker_session_hook.<locals>.sagemaker_auth_client_hook#   s-     "!88:&}5$r
   )client_modifierclient_init_arguments)r   Clientopikhooksadd_httpx_client_hookHttpxClientHook)r+   s    r    setup_aws_sagemaker_session_hookr3   "   sI    	%5<< 	%D 	% 	JJ$$

""6d 	# 	
r
   )r   N)loggingr   r   typingr   
opik.hooksr/   	getLoggerr!   LOGGERboolr   Authr   r3   r	   r
   r   <module>r;      sG     	   			8	$94 9EJJ $r
   