
    hH              
       t    d dl m Z  d dlmZmZ d dlZd dlmZmZ d dlm	Z	  G d d      Z
ded	ed
e dedef
dZy)    )datetime)OptionalcastN)print_verboseverbose_logger)StandardLoggingPayloadc                   6    e Zd Z	 	 	 	 	 	 	 	 	 	 	 ddZd Zd Zy)S3LoggerNc                 N   dd l }	 t        j                  dt        j                          d}t        j                  t        j                  j                         D ]N  \  }}t        |t              s|j                  d      s)t        j                  |      t        j                  |<   P 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        t        j                  j                  d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 Fz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_paths3_use_team_prefixz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
isinstancestr
startswith
get_secretgetboolr   bucket_namer   client	s3_client	Exceptionr   )selfr   r   r   r   r   r   r   r   r   r   r   kwargsr"   r   keyvaluees                     S/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/integrations/s3.py__init__zS3Logger.__init__   sW    	6	  9':T:T9UV "'))5")"<"<"B"B"DJC!%-%2B2B=2Q: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%)..223GO&" '9D#-D"DL  #@@Q!RS)U\\*,*" "6&>"6  DN  	<SVHEFG	s%   A-I= 4I= G6I= =	J$JJ$c                 6   K   | j                  |||||       y w)N)	log_event)r1   r2   response_obj
start_timeend_timer   s         r6   _async_log_eventzS3Logger._async_log_eventW   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|
||	<    t        t        t           |j                  dd             }|y |d   j                  d      }d}t        j                  r| j                  r|| d}t        j                  j                  ||      xs d}t        t        t        t           | j                         xs d|||      }d	|j#                  d
      z   dz   |d   z   dz   }ddlm}  ||      } |d|        | j(                  j+                  | j,                  ||ddd| dd      } |dt        |               |d|        |S # t.        $ r+}t        j0                  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user_api_key_team_alias /ztime-z%Y-%m-%dT%H-%M-%S-%f_id.jsonr   )
safe_dumpsz
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+   r'   dictr&   r   r   r   r$   enable_preview_featuresr   utilsget_logging_idget_s3_object_keyr(   r   strftime*litellm.litellm_core_utils.safe_json_dumpsrL   r/   
put_objectr-   r0   	exception)r1   r2   r:   r;   r<   r   r?   r@   clean_metadatar3   r4   payload
team_aliasteam_alias_prefixs3_file_names3_object_keys3_object_download_filenamerL   payload_strresponser5   s                        r6   r9   zS3Logger.log_event\   s:   V	  A&J $ZZ(8"=N"":r28b   N(D)"*.."2JC   !.3s+ #3 9=/0

4d;9G
  ,001JKJ "//++*'1l!$4!"==77
GLRPRL-Xc]DLL17R!	M %%&<=> $-  	 ( N$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F8  DF8 8	G,!G''G,)NNNNTNNNNNN)__name__
__module____qualname__r7   r=   r9        r6   r
   r
      s8     !!%!GRR
Wrl   r
   r   rb   r;   rc   returnc                 v    | r| j                  d      dz   nd|z   |j                  d      z   dz   |z   }|dz  }|S )NrH   rG   z%Y-%m-%drK   )rstripr[   )r   rb   r;   rc   rd   s        r6   rZ   rZ      s_     '.	s	"2
	


j
)	* 	 		  WMrl   )r   typingr   r   r$   litellm._loggingr   r   litellm.types.utilsr   r
   r(   rZ   rk   rl   r6   <module>rs      sV     !  : 6g gT  	
 	rl   