
    ^h
                     @    S SK r S SKrS SKJrJr  S SKr " S S5      rg)    N)datetimetimezonec                        \ rS rSrS rS rSrg)GreenscaleLogger   c                     SS K nUR                  S5      U l        U R                  SS.U l        UR                  S5      U l        g )Nr   GREENSCALE_API_KEYzapplication/json)zapi-keyzContent-TypeGREENSCALE_ENDPOINT)osgetenvgreenscale_api_keyheadersgreenscale_logging_url)selfr   s     Y/home/james-whalen/.local/lib/python3.13/site-packages/litellm/integrations/greenscale.py__init__GreenscaleLogger.__init__	   s@    "$)),@"A...
 ')ii0E&F#    c           	          U(       a  UR                  5       O0 nUR                  S5      UR                  S0 5      R                  S5      UR                  S0 5      R                  S5      S.n[        R                  " [        R
                  5      R                  S5      US'   [        U5      [        L a3  [        U5      [        L a!  [        XC-
  R                  5       S-  5      US	'   / nUR                  S
0 5      R                  S0 5      n	U	R                  5        Hb  u  pU
R                  S5      (       d  M  U
S:X  a  XS'   M)  U
S:X  a  XS'   M5  UR                  U
R                  SS5      [        U5      S.5        Md     XS'   U R                  c  [!        S5      e["        R$                  R'                  U R                  U R(                  [*        R,                  " U[        S9S9nUR.                  S:w  a#  U" SUR0                   SUR.                   35        g U" SUR0                   35        g ! [          a+  nU" SU S[2        R4                  " 5        35         S nAg S nAff = f)Nmodelusageprompt_tokenscompletion_tokens)modelIdinputTokenCountoutputTokenCountz%Y-%m-%dT%H:%M:%SZ	timestampi  invocationLatencylitellm_paramsmetadata
greenscalegreenscale_projectprojectgreenscale_applicationapplicationgreenscale_ )keyvaluetagsz.Greenscale Logger Error - No logging URL found)default)r   data   zGreenscale Logger Error - z, zGreenscale Logger Succeeded - z, Stack trace: )
model_dumpgetr   nowr   utcstrftimetypeinttotal_secondsitems
startswithappendreplacestrr   	Exceptionlitellmmodule_level_clientpostr   jsondumpsstatus_codetext	traceback
format_exc)r   kwargsresponse_obj
start_timeend_timeprint_verboseresponse_jsonr,   r*   r    r(   r)   responsees                 r   	log_eventGreenscaleLogger.log_event   s0   4	9EL3352M!::g.#0#4#4Wb#A#E#Eo#V$1$5$5gr$B$F$F'%D !)X\\ : C C$!D H~)d:.>(.J,/*99;dB-()
 Dzz"2B7;;JKH&nn.
>>,//22*/Y 88.3]+$'KKr$BSQVZX /  L**2 PQQ2277++ZZc2 8 H
 ##s*0r(BVBVAWX  >x}}oNO 	,QCy?S?S?U>VW 		s%   D4H2 :C!H2 H2 2
I'<!I""I')r   r   r   N)__name__
__module____qualname____firstlineno__r   rM   __static_attributes__ r   r   r   r      s    G5r   r   )r?   rC   r   r   r<   r   rT   r   r   <module>rU      s      ' @ @r   