ó
    Ù^íh0  ã                   óˆ   • S SK r S SKJr  S SKJr  S SKrS SKJr  S SKJ	r	  S SK
Jr  S SKJr  SS	KJr  SS
KJr   " S S5      rg)é    N)Údatetime)ÚOptional)ÚLogging)Ú&PassThroughEndpointLoggingResultValues)Ú!StandardPassThroughResponseObject)Úexecutoré   )Ú"AnthropicPassthroughLoggingHandler)ÚVertexPassthroughLoggingHandlerc                   óz   • \ rS rSrS rS\R                  S\\   S\	S\
S\
S\S	\S
\4S jrS\
4S jrS\
4S jrSrg)ÚPassThroughEndpointLoggingé   c                 ó&   • / SQU l         S/U l        g )N)ÚgenerateContentÚstreamGenerateContentÚpredictz	/messages)ÚTRACKED_VERTEX_ROUTESÚTRACKED_ANTHROPIC_ROUTES)Úselfs    Ún/home/james-whalen/.local/lib/python3.13/site-packages/litellm/proxy/pass_through_endpoints/success_handler.pyÚ__init__Ú#PassThroughEndpointLogging.__init__   s   € ò&
ˆÔ"ð *5¨ˆÕ%ó    Úhttpx_responseÚresponse_bodyÚlogging_objÚ	url_routeÚresultÚ
start_timeÚend_timeÚ	cache_hitc	              ‹   ó,  #   • S n
U R                  U5      (       a)  [        R                  " SUUUUUUUS.U	D6nUS   n
US   n	OHU R                  U5      (       a2  [        R
                  " SUU=(       d    0 UUUUUUS.U	D6nUS   n
US   n	U
c  [        UR                  S9n
[        R                  " UR                  U
UUU40 U	D6  UR                  " S[        U[        5      (       a  [        R                  " U5      OU
UUSS.U	D6I S h  v•N   g  N7f)	N)r   r   r   r   r   r    r!   r   Úkwargs)r   r   r   r   r   r   r    r!   )ÚresponseF)r   r   r    r!   © )Úis_vertex_router   Úvertex_passthrough_handlerÚis_anthropic_router
   Úanthropic_passthrough_handlerr   ÚtextÚthread_pool_executorÚsubmitÚsuccess_handlerÚasync_success_handlerÚ
isinstanceÚdictÚjsonÚdumps)r   r   r   r   r   r   r   r    r!   r#   Ú standard_logging_response_objectÚ)vertex_passthrough_logging_handler_resultÚ,anthropic_passthrough_logging_handler_results                r   Ú"pass_through_async_success_handlerÚ=PassThroughEndpointLogging.pass_through_async_success_handler   s{  é € ð ð 	)ð ×Ñ 	×*Ñ*ä/×JÒJð 	Ø#1Ø +Ø'Ø!Ø)Ø%Ø'ñ	ð ñ	ð 6ð :¸(ÑCð -ð ?¸xÑH‰FØ×$Ñ$ Y×/Ñ/ä2×PÒPð 
Ø#1Ø"/×"5°2Ø +Ø'Ø!Ø)Ø%Ø'ñ
ð ñ
ð 9ð =¸XÑFð -ð BÀ(ÑKˆFØ+Ñ3Ü/PØ'×,Ñ,ñ0Ð,ô 	×#Ò#Ø×'Ñ'Ø,ØØØñ	
ð ò	
ð ×/Ò/ð 

ô ˜f¤d×+Ñ+ô —
’
˜6Ô"à5à!ØØñ

ð ñ

÷ 
	
ó 
	
ùs   ‚D
DÄDÄDc                 ó8   • U R                    H
  nX!;   d  M
    g   g©NTF)r   ©r   r   Úroutes      r   r&   Ú*PassThroughEndpointLogging.is_vertex_routek   s    € Ø×/Ô/ˆEØÕ!Ùñ 0ð r   c                 ó8   • U R                    H
  nX!;   d  M
    g   gr9   )r   r:   s      r   r(   Ú-PassThroughEndpointLogging.is_anthropic_routeq   s    € Ø×2Ô2ˆEØÕ!Ùñ 3ð r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   ÚhttpxÚResponser   r0   ÚLiteLLMLoggingObjÚstrr   Úboolr6   r&   r(   Ú__static_attributes__r%   r   r   r   r      s„   † ò6ðJ
àŸ™ðJ
ð   ‘~ðJ
ð 'ð	J
ð
 ðJ
ð ðJ
ð ðJ
ð ðJ
ð ôJ
ðX¨ô ð¨C÷ r   r   )r1   r   Útypingr   rC   Ú*litellm.litellm_core_utils.litellm_loggingr   rE   Úlitellm.proxy._typesr   Úlitellm.types.utilsr   Úlitellm.utilsr   r+   Ú;llm_provider_handlers.anthropic_passthrough_logging_handlerr
   Ú8llm_provider_handlers.vertex_passthrough_logging_handlerr   r   r%   r   r   Ú<module>rP      s3   ðÛ Ý Ý ã å SÝ GÝ AÝ :õõ÷
aò ar   