Ë
    tPêj  ã                   ó8   — d dl Z d dlmZ d dlmZ  G d„ d«      Zy)é    N)ÚFinal)Úverbose_loggerc                   ó"   — e Zd ZdZd„ Z	 	 dd„Zy)ÚTraceloopLoggerzT
    WARNING: DEPRECATED
    Use the OpenTelemetry standard integration instead
    c                 óÔ   — 	 ddl m} ddlm} |j                  dd¬«        |«       | _
        y # t        $ r0}t        j                  d|t        j                  «       «       |‚d }~ww xY w)Nr   )Ú	Traceloop)ÚTracerWrapperzYTraceloop not installed, try running 'pip install traceloop-sdk' to fix this error: %s
%szLitellm-ServerT)Úapp_nameÚdisable_batch)Útraceloop.sdkr   Útraceloop.sdk.tracing.tracingr	   ÚModuleNotFoundErrorr   ÚerrorÚ	tracebackÚ
format_excÚinitÚtracer_wrapper)Úselfr   r	   Úes       úc/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/integrations/traceloop.pyÚ__init__zTraceloopLogger.__init__   sk   € ð		Ý/ÝCð 	�‰Ø%Øð 	ô 	
ñ ,›oˆÕøô #ò 	Ü× Ñ ØlØÜ×$Ñ$Ó&ôð
 ˆGûð	ús   ‚. ®	A'·+A"Á"A'Nc	           	      óú	  — ddl m}	 ddlm}
m}m} 	  |d|› �«       | j                  j                  «       }|j                  di «      }t        |j                  «       «      }t        |j                  «       «      }|j                  d|
j                  |¬«      }|j                  «       �rÍ|j                  |	j                  |j                  d«      «       d	|v r+|j                  |	j                   |j                  d	«      «       d
|v r+|j                  |	j"                  |j                  d
«      «       d|v r+|j                  |	j$                  |j                  d«      «       d|v r+|j                  |	j&                  |j                  d«      «       d|v sd|v r;|j                  |	j(                  |j                  d|j                  d«      «      «       d|v r+|j                  |	j*                  |j                  d«      «       d|v r+|j                  |	j,                  |j                  d«      «       d|v r+|j                  |	j.                  |j                  d«      «       t1        |j                  d«      «      D ]g  \  }}|j                  |	j2                  › d|› d�|j                  d«      «       |j                  |	j2                  › d|› d�|j                  d«      «       Œi |j                  |	j4                  |j                  d«      «       |j                  d«      }|r�|j                  |	j6                  |j                  d«      «       |j                  |	j8                  |j                  d«      «       |j                  |	j:                  |j                  d«      «       t1        |j                  d«      «      D ]¶  \  }}|j                  |	j<                  › d|› d�|j                  d«      «       |j                  |	j<                  › d|› d�|j                  d«      j                  d«      «       |j                  |	j<                  › d|› d�|j                  d«      j                  d«      «       Œ¸ |d k(  rN|�Lt?        |t@        «      r<|jC                  tE        |«      «       |jG                   ||jH                  |«      «       |jK                  |«       y # tD        $ r} |d!|› �«       Y d }~y d }~ww xY w)"Nr   )ÚSpanAttributes)ÚSpanKindÚStatusÚ
StatusCodez6Traceloop Logging - Enters logging function for model Úoptional_paramszlitellm.completion)ÚkindÚ
start_timeÚmodelÚstopÚfrequency_penaltyÚpresence_penaltyÚtop_pÚtoolsÚ	functionsÚuserÚ
max_tokensÚtemperatureÚmessagesú.z.roleÚrolez.contentÚcontentÚusageÚtotal_tokensÚcompletion_tokensÚprompt_tokensÚchoicesz.finish_reasonÚfinish_reasonÚmessageÚERRORzTraceloop Layer Error - )&Úopentelemetry.semconv.air   Úopentelemetry.tracer   r   r   r   Ú
get_tracerÚgetÚintÚ	timestampÚ
start_spanÚCLIENTÚis_recordingÚset_attributeÚLLM_REQUEST_MODELÚLLM_CHAT_STOP_SEQUENCESÚLLM_FREQUENCY_PENALTYÚLLM_PRESENCE_PENALTYÚLLM_REQUEST_TOP_PÚLLM_REQUEST_FUNCTIONSÚLLM_USERÚLLM_REQUEST_MAX_TOKENSÚLLM_REQUEST_TEMPERATUREÚ	enumerateÚLLM_PROMPTSÚLLM_RESPONSE_MODELÚLLM_USAGE_TOTAL_TOKENSÚLLM_USAGE_COMPLETION_TOKENSÚLLM_USAGE_PROMPT_TOKENSÚLLM_COMPLETIONSÚ
isinstanceÚstrÚrecord_exceptionÚ	ExceptionÚ
set_statusr5   Úend)r   ÚkwargsÚresponse_objr   Úend_timeÚuser_idÚprint_verboseÚlevelÚstatus_messager   r   r   r   Útracerr   ÚspanÚidxÚpromptr.   Úchoicer   s                        r   Ú	log_eventzTraceloopLogger.log_event   s©  € õ 	<ßDÑDð^	:ÙÐRÐSYÐRZÐ[Ô\à ×/Ñ/×:Ñ:Ó<ˆFà%+§Z¡ZÐ0AÀ2Ó%FˆOÜ˜Z×1Ñ1Ó3Ó4ˆJÜ˜8×-Ñ-Ó/Ó0ˆHØ ×+Ñ+Ð,@ÀxÇÁÐcmÐ+ÓnˆDà× Ñ Õ"Ø×"Ñ" >×#CÑ#CÀVÇZÁZÐPWÓEXÔYØ˜_Ñ,Ø×&Ñ&Ø&×>Ñ>Ø'×+Ñ+¨FÓ3ôð '¨/Ñ9Ø×&Ñ&Ø&×<Ñ<Ø'×+Ñ+Ð,?Ó@ôð &¨Ñ8Ø×&Ñ&Ø&×;Ñ;Ø'×+Ñ+Ð,>Ó?ôð ˜oÑ-Ø×&Ñ& ~×'GÑ'GÈ×I\ÑI\Ð]dÓIeÔfØ˜oÑ-°ÀÑ1OØ×&Ñ&Ø&×<Ñ<Ø'×+Ñ+¨G°_×5HÑ5HÈÓ5UÓVôð ˜_Ñ,Ø×&Ñ& ~×'>Ñ'>À×@SÑ@SÐTZÓ@[Ô\Ø ?Ñ2Ø×&Ñ&Ø&×=Ñ=ØŸ
™
 <Ó0ôð ! OÑ3Ø×&Ñ&Ø&×>Ñ>ØŸ
™
 =Ó1ôô
 $-¨V¯Z©Z¸
Ó-CÓ#Dò ‘K�C˜Ø×&Ñ&Ø)×5Ñ5Ð6°a¸°u¸EÐBØŸ
™
 6Ó*ôð ×&Ñ&Ø)×5Ñ5Ð6°a¸°u¸HÐEØŸ
™
 9Ó-õðð ×"Ñ" >×#DÑ#DÀl×FVÑFVÐW^ÓF_Ô`Ø+×/Ñ/°Ó8�ÙØ×&Ñ&Ø&×=Ñ=ØŸ	™	 .Ó1ôð ×&Ñ&Ø&×BÑBØŸ	™	Ð"5Ó6ôð ×&Ñ&Ø&×>Ñ>ØŸ	™	 /Ó2ôô
 $-¨\×-=Ñ-=¸iÓ-HÓ#Iò ‘K�C˜Ø×&Ñ&Ø)×9Ñ9Ð:¸!¸C¸5ÀÐOØŸ
™
 ?Ó3ôð ×&Ñ&Ø)×9Ñ9Ð:¸!¸C¸5ÀÐFØŸ
™
 9Ó-×1Ñ1°&Ó9ôð ×&Ñ&Ø)×9Ñ9Ð:¸!¸C¸5ÀÐIØŸ
™
 9Ó-×1Ñ1°)Ó<õðð ˜Ò NÐ$>Ä:ÈnÔ^aÔCbØ×%Ñ%¤i°Ó&?Ô@Ø—‘¡ z×'7Ñ'7¸Ó HÔIà�H‰H�XÕøäò 	:ÙÐ4°Q°CÐ8×9Ñ9ûð	:ús   ’S	S Ó	S:Ó%S5Ó5S:)ÚDEFAULTN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rb   © ó    r   r   r      s   „ ñò
.ð4 Øôl:ri   r   )r   Útypingr   Úlitellm._loggingr   r   rh   ri   r   ú<module>rl      s   ðÛ Ý å +÷D:ò D:ri   