Ë
    tPêjì  ã                   óL   — d dl Z d dlZd dlZd dlZd dlmZ d dlZ G d„ d«      Zy)é    N)ÚFinalc                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚSupabaseÚrequest_logsc                 óˆ  — t        j                  d«      | _        t        j                  d«      | _        	 dd l}| j                  �| j                  €t        d«      ‚|j                  | j                  | j                  «      | _        y # t
        $ r/ t        j                  t        j                  ddddg«       dd l}Y Œ†w xY w)	NÚSUPABASE_URLÚSUPABASE_KEYr   z-mÚpipÚinstallÚsupabasezŸLiteLLM 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     úb/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/integrations/supabase.pyÚ__init__zSupabase.__init__   s¬   € äŸI™I nÓ5ˆÔÜŸI™I nÓ5ˆÔð	Ûð
 ×ÑÐ$¨×(9Ñ(9Ð(AÜð róð ð  (×5Ñ5°d×6GÑ6GÈ×IZÑIZÓ[ˆÕøô ò 	Ü×!Ñ!¤3§>¡>°4¸À	È:Ð"VÔWÝð	ús   ¶B	 Â	5CÃ Cc                 ó$  — 	  |d|› �«       |||d|dœ}| j                   j                  | j                  «      j                  |«      j	                  «       \  }} |d|› �«       y # t
        $ r   |dt        j                  «       › �«       Y y w xY w)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_eventzSupabase.input_log_event!   s¡   € ð	PÙÐWÐX]ÐW^Ð_Ô`àØ$Ø$Ø%Ø#2ñ(Ðð ×.Ñ.×4Ñ4°T×5MÑ5MÓN×UÑUÐVgÓh×pÑpÓr‰KˆD�%Ù˜F 4 &˜/Õ*øÜò 	PÙÐ5´i×6JÑ6JÓ6LÐ5MÐNÖOð	Pús   ‚A#A& Á&&BÂBc	           	      ó�  — 	  |d|› d|› �«       t        j                  |¬«      }	||z
  j                  «       }
d|v rm|
|d   |	||d   d   d   d   ||d	d
œ} |d|› �«       | j                  j	                  | j
                  «      j                  |d¬«      j                  «       \  }}y d|v rmd|d   v rd}	|
|d   |	||d   ||ddœ} |d|› �«       | j                  j	                  | j
                  «      j                  |d¬«      j                  «       \  }}y y # t        $ r   |dt        j                  «       › �«       Y y w xY w)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)r6   r   r7   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+   r7   r6   r,   r-   r.   s                 r   Ú	log_eventzSupabase.log_event0   s›  € ð,	PÙÐQÐRWÐQXÐXhÐiuÐhvÐwÔxä ×0Ñ0À\ÔRˆJà$,¨zÑ$9×#HÑ#HÓ#JˆMØ˜LÑ(à%2Ø)¨'Ñ2Ø",Ø (Ø ,¨YÑ 7¸Ñ :¸9Ñ EÀiÑ PØ (Ø'6Ø'ñ	%Ð!ñ Ð FÐGXÐFYÐZÔ[à×(Ñ(×.Ñ.¨t×/GÑ/GÓHß‘VÐ-Ð;L�VÓMß‘W“Yñ �‘eð
 ˜LÑ(Ø9¸\È'Ñ=RÑRØ!"�Jà%2Ø)¨'Ñ2Ø",Ø (Ø)¨'Ñ2Ø (Ø'6Ø'ñ	%Ð!ñ Ð FÐGXÐFYÐZÔ[à×(Ñ(×.Ñ.¨t×/GÑ/GÓHß‘VÐ-Ð;L�VÓMß‘W“Yñ �‘eð )øô( ò 	PÙÐ5´i×6JÑ6JÓ6LÐ5MÐNÖOð	Pús   ‚B'D Â*A0D Ä&EÅEN)Ú__name__Ú
__module__Ú__qualname__r%   r   r/   rC   © ó    r   r   r      s   „ à(Ðò\ò Pó7PrH   r   )r   r   r   r)   Útypingr   r<   r   rG   rH   r   ú<module>rJ      s'   ðó 
Û Û 
Û Ý ã ÷ZPò ZPrH   