
    g/                     H    d dl mZ d dlZd dlmZmZ d dlmZ  G d d      Zy)    )OptionalN)print_verboseverbose_logger)StandardLoggingPayloadc                   6    e Zd Z	 	 	 	 	 	 	 	 	 	 	 ddZd Zd Zy)S3LoggerNc                    dd l }	 t        j                  dt        j                          t        j                  t        j                  j                         D ]O  \  }}t        |      t        u s|j                  d      s*t        j                  |      t        j                  |<   Q t        j                  j                  d      }t        j                  j                  d      }t        j                  j                  d      }t        j                  j                  dd      }t        j                  j                  d	      }t        j                  j                  d
      }t        j                  j                  d      }t        j                  j                  d      }	t        j                  j                  d      }
t        j                  j                  d      }t        j                  j                  d      }|| _        || _        t        j                  d|         |j                  	 d|||||||	|
|d	|| _        y # t        $ r}t!        dt        |              |d }~ww xY w)Nr   z'in init s3 logger - s3_callback_params zos.environ/s3_bucket_names3_region_names3_api_version
s3_use_sslT	s3_verifys3_endpoint_urls3_aws_access_key_ids3_aws_secret_access_keys3_aws_session_token	s3_configs3_pathzs3 logger using endpoint url )	region_nameendpoint_urlapi_versionuse_sslverifyaws_access_key_idaws_secret_access_keyaws_session_tokenconfigz Got exception on init s3 client )s3)boto3r   debuglitellms3_callback_paramsitemstypestr
startswith
get_secretgetbucket_namer   client	s3_client	Exceptionr   )selfr
   r   r   r   r   r   r   r   r   r   r   kwargsr   keyvaluees                    L/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/s3.py__init__zS3Logger.__init__   s)    	1	  9':T:T9UV ))5")"<"<"B"B"DJCE{c)e.>.>}.M:A:L:LU:S2237 #E ")!;!;!?!?@P!Q!(!;!;!?!?@P!Q!(!;!;!?!?@P!Q$77;;L$O
#66::;G	")"<"<"@"@AR"S'.'A'A'E'E*($ ,3+E+E+I+I.,( (/'A'A'E'E*($ $66::;G	!4488C  .D"DL  #@@Q!RS)U\\*,*" "6&>"6  DN  	<SVHEFG	s%   A,I 3I GI 	I3I..I3c                 6   K   | j                  |||||       y w)N)	log_event)r-   r.   response_obj
start_timeend_timer   s         r2   _async_log_eventzS3Logger._async_log_eventQ   s      	v|Z=Qs   c           
         	 t        j                  d|        |j                  di       }|j                  di       xs i }i }t        |t              r"|j                         D ]  \  }	}
|	dv r|
||	<    |j                  dd       }|y t        j                  j                  ||      xs d}| j                  r| j                  j                  d      dz   nd|j                  d      z   dz   |z   }|d	z  }d
|j                  d      z   dz   |d   z   d	z   }dd l}|j                  |      } |d|        | j                  j                  | j                   ||ddd| dd      } |dt#        |               |d|        |S # t$        $ r+}t        j&                  dt#        |              Y d }~y d }~ww xY w)Nz/s3 Logging - Enters logging function for model litellm_paramsmetadata)headersendpointcaching_groupsprevious_modelsstandard_logging_object /z%Y-%m-%dz.jsonztime-z%Y-%m-%dT%H-%M-%S-%f_idr   z
s3 Logger - Logging payload = zapplication/jsonenzinline; filename=""z0private, immutable, max-age=31536000, s-maxage=0)BucketKeyBodyContentTypeContentLanguageContentDispositionCacheControlzResponse from s3:z*s3 Layer Logging - final response object: zs3 Layer Error - )r   r    r(   
isinstancedictr#   r!   utilsget_logging_idr   rstripstrftimejsondumpsr+   
put_objectr)   r%   r,   	exception)r-   r.   r6   r7   r8   r   r;   r<   clean_metadatar/   r0   payloads3_file_names3_object_keys3_object_download_filenamerU   payload_strresponser1   s                      r2   r5   zS3Logger.log_eventV   s   L	  A&J $ZZ(8"=N"":r28b   N(D)"*.."2JC   !.3s+ #3 9?

)49G "==77
GLRPRL37<<$$S)C/R%%j12   W$M %%&<=> $-  	 ( **W-K<[MJK~~00''! . $%78S7TTU#VO 1 H -c(m_=>F|nUVO 	$$'8Q%AB	s   BF	 C=F	 		F=!F88F=)NNNNTNNNNNN)__name__
__module____qualname__r3   r9   r5        r2   r   r      s8     !!%!BHR
Mrd   r   )	typingr   r!   litellm._loggingr   r   litellm.types.utilsr   r   rc   rd   r2   <module>rh      s      : 6X Xrd   