
    ^h`                     D    S SK r S SKrS SKrS SKJr  S SKr " S S5      rg)    N)Anyc                   &    \ rS rSrS rS rS rSrg)DyanmoDBLogger   c                     SS K nUR                  S[        R                  S   S9U l        [
        R                  c  [        S5      e[
        R                  U l        g )Nr   dynamodbAWS_REGION_NAME)region_namezLiteLLM Error, trying to use DynamoDB but not table name passed. Create a table and set `litellm.dynamodb_table_name=<your-table>`)	boto3resourceosenvironr   litellmdynamodb_table_name
ValueError
table_name)selfr   s     W/home/james-whalen/.local/lib/python3.13/site-packages/litellm/integrations/dynamodb.py__init__DyanmoDBLogger.__init__   sY    "^^BJJ/@$A , 
 &&. U  "55    c                 2   #    U R                  XX4U5        g 7f)N)	log_event)r   kwargsresponse_obj
start_timeend_timeprint_verboses         r   _async_log_eventDyanmoDBLogger._async_log_event   s      	vZ=Qs   c                 ,    U" SU 35        UR                  S0 5      nUR                  S0 5      =(       d    0 nUR                  S5      nUR                  S0 5      n	UR                  SS5      n
US   nUR                  S	[        [        R                  " 5       5      5      nUU
UUUR                  S
S5      UR                  SS5      U	UUUUS.nUR	                  5        H  u  p [        U5      X'   M     U" SU 35        U R                  R                  U R                  5      nUR                  US9nU" S[        U5       35        U" SU 35        U$ ! [
         a     M  f = f! [
         a!    U" S[        R                  " 5        35         g f = f)Nz5DynamoDB Logging - Enters logging function for model litellm_paramsmetadatamessagesoptional_params	call_typezlitellm.completionusageidmodel user)r(   r&   	startTimeendTimer)   r+   modelParametersr$   responser'   r#   z%
DynamoDB Logger - Logging payload = )ItemzResponse from DynamoDB:z0DynamoDB Layer Logging - final response object: zDynamoDB Layer Error - )getstruuiduuid4items	Exceptionr   Tabler   put_item	traceback
format_exc)r   r   r   r   r   r   r"   r#   r$   r%   r&   r'   r(   payloadkeyvaluetabler/   s                     r   r   DyanmoDBLogger.log_event!   s   7	GxP $ZZ(8"=N"":r28b  zz*-H$jj):B?O

;0DEI )E!!$DJJL(9:B &'#GR0

62.#2$($G &mmo
#&u:GL . B7)LM MM''8E~~7~3H3CM?CDB<.Q O! ! "  	3I4H4H4J3KLM	s7   C#E( &E3A#E( 
E%!E( $E%%E( ((FF)r   r   N)__name__
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r   r      s    6R
8r   r   )r   r9   r3   typingr   r   r   rE   r   r   <module>rG      s"    
    M Mr   