
    g`                     D    d dl Z d dlZd dlZd dlmZ d dlZ G d d      Zy)    N)Anyc                       e Zd Zd Zd Zd Zy)DyanmoDBLoggerc                     dd l }|j                  dt        j                  d         | _        t
        j                  t        d      t
        j                  | _        y )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     R/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/dynamodb.py__init__zDyanmoDBLogger.__init__   sY    "^^BJJ/@$A , 
 &&. U  "55    c                 6   K   | j                  |||||       y w)N)	log_event)r   kwargsresponse_obj
start_timeend_timeprint_verboses         r   _async_log_eventzDyanmoDBLogger._async_log_event   s      	v|Z=Qs   c                    	  |d|        |j                  di       }|j                  di       xs i }|j                  d      }|j                  di       }	|j                  dd      }
|d   }|j                  d	t        t        j                                     }||
|||j                  d
d      |j                  dd      |	||||d}|j	                         D ]  \  }}	 t        |      ||<     |d|        | j                  j                  | j                        }|j                  |      } |dt        |               |d|        |S # t
        $ r Y w xY w# t
        $ r   |dt        j                                 Y y w xY w)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   z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#&u:GCL . B7)LM MM''8E~~7~3H3CM?CDB<.Q O! ! "  	3I4H4H4J3KLM	s7   CE# !E/A$E# 	E E# E  E# #&FFN)__name__
__module____qualname__r   r   r    r   r   r   r      s    6R
8r   r   )r   r6   r0   typingr   r   r   r?   r   r   <module>rA      s"    
    M Mr   