
    g                         d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dl	m
Z
 d dlmZmZ d dlmZ  G d de      Z G d	 d
ee      Z G d d      Zy)    N)Enum)AnyDict
NamedTuple)LiteralString)print_verboseverbose_logger)redact_user_api_key_infoc                   ,    e Zd ZU eed<   eeef   ed<   y)
SpanConfigmessage_template	span_dataN)__name__
__module____qualname__r   __annotations__r   strr        X/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/logfire_logger.pyr   r      s    ##CH~r   r   c                       e Zd ZdZdZy)LogfireLevelinfoerrorN)r   r   r   INFOERRORr   r   r   r   r      s    DEr   r   c                   6    e Zd Zd ZdefdZdefdZdefdZy)LogfireLoggerc                    	 t        j                  d       dd l}|j                  j                  j
                  r&|j                  t        j                  d             y y # t        $ r}t        dt        |              |d }~ww xY w)Nzin init logfire loggerr   LOGFIRE_TOKEN)tokenz%Got exception on init logfire client )r	   debuglogfireDEFAULT_LOGFIRE_INSTANCEconfigsend_to_logfire	configureosgetenv	Exceptionr   r   )selfr#   es      r   __init__zLogfireLogger.__init__   sy    
	  !9: //66FF!!		/(B!C G 	A#a&JKG	s   AA" "	B	+BB	returnc                     |d   dk(  s|d   dk(  rt        dd|i      S |d   dk(  s|d   dk(  rt        d	d|i      S |d   d
k(  s|d   dk(  rt        dd|i      S t        dd|i      S )N	call_type
completionacompletionz,Chat Completion with {request_data[model]!r}request_data)r   r   	embedding
aembeddingz/Embedding Creation with {request_data[model]!r}image_generationaimage_generationz-Image Generation with {request_data[model]!r}z)Litellm Call with {request_data[model]!r})r   )r+   payloads     r   _get_span_configzLogfireLogger._get_span_config)   s    K L0{#}4!O)73 
 K K/7;3G<3W!R)73 
 K $66{#'::!P)73 
 !L)73 r   levelc                 :   K   | j                  ||||||       y w)N)kwargsresponse_obj
start_timeend_timer   r:   )	log_event)r+   r<   r=   r>   r?   r   r:   s          r   _async_log_eventzLogfireLogger._async_log_eventG   s+      	%!' 	 	
s   c                    	 dd l }t        j                  d|        |si }|j                  di       }|j                  di       xs i }	|j                  d      }
|j                  di       }|j                  dd      }|j                  d	d
      }|j                  di       }|j                  dt	        t        j                                     }	 ||z
  j                         }i }t        |	t              r"|	j                         D ]  \  }}|dv r|||<    t        |      }|||||||j                  dd      |j                  dd      ||j                  dd      |
|||d}|j                  d      }| j                  |      \  }}|t        j                   k(  r |j"                  |fi | n*|t        j$                  k(  r |j&                  |fi |ddi  |d|         |d|        y # t        $ r d }Y w xY w# t        $ r@}t        j                  dt	        |       dt)        j*                                 Y d }~y d }~ww xY w)Nr   z4logfire Logging - Enters logging function for model litellm_paramsmetadatamessagesoptional_paramsr0   r1   	cache_hitFusageid)endpointcaching_groupsprevious_models)rD   model userresponse_cost)rI   r0   rG   	startTimeendTimezresponseTime (seconds)rM   rO   modelParametersspendrE   responserH   rD   openai)custom_scope_suffix	_exc_infoTz
dd Logger - Logging payload = z/Logfire Layer Logging - final response object: zLogfire Layer Error - 
)r#   r	   r"   getr   uuiduuid4total_secondsr*   
isinstancedictitemsr
   with_settingsr9   r   r   r   r   r   	traceback
format_exc)r+   r<   r>   r?   r   r:   r=   r#   rC   rD   rE   rF   r0   rG   rH   rI   response_timeclean_metadatakeyvaluer8   logfire_openair   r   r,   s                            r   r@   zLogfireLogger.log_eventY   s   Q	  FvhO  !#ZZ(8"=N"":r28b  zz*-H$jj):B?O

;=I

;6I $$Wb1E!!$DJJL(9:B%!)J!6 E E G  N(D)"*.."2JC  
 !.3s+ #3 6~NN &&'#*7GR0

62.#2OQ7$(*G  %22x2PN*.*?*?*H'i)))###$ ,,,,$$$$ #
 <WIFGA,Pk  % $%p  	  (Q93G3G3I2JK 		s=   CH G3 $DH 3H>H HH 	I6I		IN)	r   r   r   r-   r   r9   r   rA   r@   r   r   r   r   r      s3    : <
 
$Z Zr   r   )r(   rb   r[   enumr   typingr   r   r   typing_extensionsr   litellm._loggingr   r	   *litellm.litellm_core_utils.redact_messagesr
   r   r   r   r   r   r   r   <module>rn      sH    
    ( ( + : O 
3 
Y Yr   