Ë
    tPêj¿  ã                   óÆ   — d Z ddlZddlmZmZmZ ddlZddlmZ ddl	m
Z
 er	ddlmZ eZneZdeeee   ez  f   dz  deeee   ez  f   dz  fd	„Z	 dd
edz  dedz  fd„Zy)z
Utils used for slack alerting
é    N)ÚTYPE_CHECKINGÚAnyÚFinal)Ú	AlertType)Ú
get_secret)ÚLoggingÚalert_to_webhook_urlÚreturnc           
      óÀ  — | €y| j                  «       D ]Ç  \  }}t        |t        «      rlg }|D ]_  }d|v rHt        |¬«      }t        |t        «      st        d|› dt        |«      › �«      ‚|j                  |«       ŒO|j                  |«       Œa || |<   Œ‚|}d|v r9t        |¬«      }t        |t        «      st        d|› dt        |«      › �«      ‚|}n|}|| |<   ŒÉ | S )z�
    process alert_to_webhook_url
    - check if any urls are set as os.environ/SLACK_WEBHOOK_URL_1 read env var and set the correct value
    Nzos.environ/)Úsecret_namezInvalid webhook url value for: z. Got type=)ÚitemsÚ
isinstanceÚlistr   ÚstrÚ
ValueErrorÚtypeÚappend)r	   Ú
alert_typeÚwebhook_urlsÚ_webhook_valuesÚwebhook_urlÚ
_env_valueÚ_webhook_value_strs          úm/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/integrations/SlackAlerting/utils.pyÚ process_slack_alerting_variablesr      s  € ð Ð#Øà$8×$>Ñ$>Ó$@ò BÑ ˆ
�LÜ�l¤DÔ)Ø)+ˆOØ+ò 8�Ø  KÑ/Ü!+¸Ô!D�JÜ% j´#Ô6Ü(Ð+JÈ;È-ÐWbÔcgÐhrÓcsÐbtÐ)uÓvÐvØ#×*Ñ*¨:Õ6à#×*Ñ*¨;Õ7ð8ð 0?Ð  Ò,à&2ÐØ Ñ,Ü'°LÔA�
Ü! *¬cÔ2Ü$Ð'FÀ|ÀnÐT_Ô`dÐeoÓ`pÐ_qÐ%rÓsÐsØ%/Ñ"à%1Ð"à/AÐ  Ò,ð/Bð2  Ðó    Úrequest_datac              ƒ   óp  K  — dt         j                  j                  «       vry| ��| j                  dd«      �{d}| d   }t	        d«      D ]5  }|j                  d¬«      }|� nt        j                  d«      ƒ d{  –—†  Œ7 |j                  d¬«      }|�|j                  j                  }|› d|› �S y7 Œ8­w)zr
    Returns langfuse trace url

    - check:
    -> existing_trace_id
    -> trace_id
    -> litellm_call_id
    ÚlangfuseNÚlitellm_logging_objé   )Úservice_namez/trace/)ÚlitellmÚlogging_callback_managerÚ_get_all_callbacksÚgetÚrangeÚ_get_trace_idÚasyncioÚsleepÚ_get_callback_objectÚLangfuseÚbase_url)r   Útrace_idr    Ú_Úlangfuse_objectr-   s         r   Ú_add_langfuse_trace_id_to_alertr1   :   sÕ   è ø€ ð œ×9Ñ9×LÑLÓNÑNØð
 Ð L×$4Ñ$4Ð5JÈDÓ$QÐ$]Ø#ˆØ.:Ð;PÑ.QÐä�q“ò 	#ˆAØ*×8Ñ8ÀjÐ8ÓQˆHØÐ#ÙÜ—-‘- Ó"×"Ñ"ð		#ð "5×!IÑ!IÐWaÐ!IÓ!bˆØÐ&Ø-×6Ñ6×?Ñ?ˆHØ�Z˜w x jÐ1Ð1àð #ús   ‚A9B6Á;B4Á<9B6)N)Ú__doc__r)   Útypingr   r   r   r#   Úlitellm.proxy._typesr   Úlitellm.secret_managers.mainr   Ú*litellm.litellm_core_utils.litellm_loggingr   Ú_LoggingÚdictr   r   r   r1   © r   r   ú<module>r:      s”   ðñó ß ,Ñ ,ã Ý *Ý 3áÝNà�Gà€Gð# Ø˜y¨$¨s©)°c©/Ð9Ñ:¸TÑAð# à	ˆ)�T˜#‘Y ‘_Ð
$Ñ%¨Ñ,ó# ðN !%ñ Ø˜‘+ð àˆ4�Zô r   