
    ^h                         S SK r S SKrS SKrS SKJr  S SKJrJrJr  S SK	J
r
  S SKJrJr  S SKJr   " S S\5      r " S	 S
\\5      r " S S5      rg)    N)Enum)AnyDict
NamedTuple)LiteralString)print_verboseverbose_logger)redact_user_api_key_infoc                   4    \ rS rSr% \\S'   \\\4   \S'   Sr	g)
SpanConfig   message_template	span_data N)
__name__
__module____qualname____firstlineno__r   __annotations__r   strr   __static_attributes__r       ]/home/james-whalen/.local/lib/python3.13/site-packages/litellm/integrations/logfire_logger.pyr   r      s    ##CH~r   r   c                       \ rS rSrSrSrSrg)LogfireLevel   infoerrorr   N)r   r   r   r   INFOERRORr   r   r   r   r   r      s    DEr   r   c                   D    \ rS rSrS rS\4S jrS\4S jrS\4S jr	Sr
g	)
LogfireLogger   c                 "    [         R                  " S5        SS KnUR                  R                  R
                  (       a$  UR                  [        R                  " S5      S9  g g ! [         a  n[        S[        U5       35        UeS nAff = f)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__LogfireLogger.__init__   sy    
	  !9: //66FF!!		/(B!C G 	A#a&JKG	s   A"A& &
B0B		Breturnc                     US   S:X  d	  US   S:X  a  [        SSU0S9$ US   S:X  d	  US   S:X  a  [        S	SU0S9$ US   S
:X  d	  US   S:X  a  [        SSU0S9$ [        SSU0S9$ )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   )r0   payloads     r   _get_span_config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           	      4   #    U R                  UUUUUUS9  g 7f)N)kwargsresponse_obj
start_timeend_timer   rA   )	log_event)r0   rC   rD   rE   rF   r   rA   s          r   _async_log_eventLogfireLogger._async_log_eventG   s*      	%!' 	 	
s   c                     SS K n[        R                  " SU 35        U(       d  0 n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R                  S	S
5      nUR                  S0 5      nUR                  S[	        [
        R                  " 5       5      5      n X2-
  R                  5       n0 n[        U	[        5      (       a'  U	R                  5        H  u  nnUS;   a  M  UUU'   M     [        US9nUUUUUUUR                  SS5      UR                  SS5      UUR                  SS5      U
UUUS.nUR                  SS9nU R                  U5      u  nnU[        R                   :X  a  UR"                  " U40 UD6  O+U[        R$                  :X  a  UR&                  " U40 UDSS0D6  U" SU 35        U" SU 35        g ! [         a    S n GN$f = f! [         aB  n[        R                  " S[	        U5       S[(        R*                  " 5        35         S nAg S nAff = f)Nr   z4logfire Logging - Enters logging function for model litellm_paramsmetadatamessagesoptional_paramsr6   r7   	cache_hitFusageid)endpointcaching_groupsprevious_models)rL   model userresponse_cost)rQ   r6   rO   	startTimeendTimezresponseTime (seconds)rU   rW   modelParametersspendrM   responserP   rL   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_settingsr?   r   r   r   r    r   	traceback
format_exc)r0   rC   rE   rF   r   rA   rD   r(   rK   rL   rM   rN   r6   rO   rP   rQ   response_timeclean_metadatakeyvaluer>   logfire_openair   r   r1   s                            r   rG   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%!)!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 H /DH HH HH 
I#!8II#r   N)r   r   r   r   r2   r   r?   r   rH   rG   r   r   r   r   r"   r"      s3    : <
 
$Z Zr   r"   )r-   rj   rc   enumr   typingr   r   r   typing_extensionsr   litellm._loggingr   r	   *litellm.litellm_core_utils.redact_messagesr
   r   r   r   r"   r   r   r   <module>rw      sH    
    ( ( + : O 
3 
Y Yr   