
    ^h                     @    S SK r S SKrS SKrS SKrS SKr " S S5      rg)    Nc                   *    \ rS rSrSrS rS rS rSrg)Supabase   request_logsc                    [         R                  " S5      U l        [         R                  " S5      U l         SS KnU R                  b  U R                  c  [        S5      eUR                  U R                  U R                  5      U l        g ! [
         a0    [        R                  " [        R                  SSSS/5        SS Kn Nf = f)	NSUPABASE_URLSUPABASE_KEYr   z-mpipinstallsupabasezLiteLLM Error, trying to use Supabase but url or key not passed. Create a table and set `litellm.supabase_url=<your-url>` and `litellm.supabase_key=<your-key>`)osgetenvsupabase_urlsupabase_keyr   ImportError
subprocess
check_callsys
executable
ValueErrorcreate_clientsupabase_client)selfr   s     W/home/james-whalen/.local/lib/python3.13/site-packages/litellm/integrations/supabase.py__init__Supabase.__init__   s    IIn5IIn5	
 $(9(9(A r   (55t00 
  	!!3>>4	:"VW	s   B 7CCc                 &    U" SU 35        UUUSUS.nU R                   R                  U R                  5      R                  U5      R	                  5       u  pxU" SU 35        g ! [
         a!    U" S[        R                  " 5        35         g f = f)Nz;Supabase Logging - Enters input logging function for model 	initiated)modelmessagesend_userstatuslitellm_call_idzdata: Supabase Logging Error - )r   tablesupabase_table_nameinsertexecute	Exception	traceback
format_exc)	r   r   r    r!   r#   print_verbosesupabase_data_objdatacounts	            r   input_log_eventSupabase.input_log_event"   s    	MeWU $$%#2! $$**4+C+CD)* D
 F4&/* 	5i6J6J6L5MNO	s   A"A% %(BBc	           	          U" SU SU 35        [         R                  " US9n	Xe-
  R                  5       n
SU;   ai  U
US   U	UUS   S   S   S   UUS	S
.nU" SU 35        U R                  R	                  U R
                  5      R                  USS9R                  5       u  pg SU;   ak  SUS   ;   a  Sn	U
US   U	UUS   UUSS.nU" SU 35        U R                  R	                  U R
                  5      R                  USS9R                  5       u  pg g ! [         a!    U" S[        R                  " 5        35         g f = f)Nz5Supabase Logging - Enters logging function for model z, response_obj: )completion_responsechoicesr   r   messagecontentsuccess)response_timer   
total_costr    responser!   r#   r"   z&Supabase Logging - final data object: r#   )on_conflicterrorz$Unable to map your input to a model.failure)r8   r   r9   r    r<   r!   r#   r"   r$   )litellmcompletion_costtotal_secondsr   r%   r&   upsertr(   r)   r*   r+   )r   r   r    r!   response_obj
start_timeend_timer#   r,   r9   r8   r-   r.   r/   s                 r   	log_eventSupabase.log_event:   s   3	GwN^_k^lm !00\RJ%2AACML(%2)'2", ( ,Y 7 :9 Ei P ('6'	%! <=N<OP ((..t/G/GHV-;LVMWY e
 L(9\'=RR!"J%2)'2", ()'2 ('6'	%! <=N<OP ((..t/G/GHV-;LVMWY e! ),  	5i6J6J6L5MNO	s   B"D %A0D (EE)r   r   r   N)	__name__
__module____qualname____firstlineno__r&   r   r0   rE   __static_attributes__     r   r   r      s    (
$0>rM   r   )r   r   r   r*   r>   r   rL   rM   r   <module>rN      s"    
  
  l lrM   