
    ^h              	           S r SSKrSSKJrJrJrJr  SSKJr  SSK	J
r
  SSKJr  S\\\
\\\   \4   4      S\\\
\\\   \4   4      4S	 jr SS
\\   S\\   4S jjrg)z
Utils used for slack alerting
    N)DictListOptionalUnion)Logging)	AlertType)
get_secretalert_to_webhook_urlreturnc           
         U c  gU R                  5        H  u  p[        U[        5      (       as  / nU He  nSU;   aK  [        US9n[        U[        5      (       d  [        SU S[        U5       35      eUR                  U5        MT  UR                  U5        Mg     X0U'   M  UnSU;   a;  [        US9n[        U[        5      (       d  [        SU S[        U5       35      eUnOUnX`U'   M     U $ )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          b/home/james-whalen/.local/lib/python3.13/site-packages/litellm/integrations/SlackAlerting/utils.py process_slack_alerting_variablesr      s    #$8$>$>$@ 
lD)))+O+ K/!+!DJ%j#66(=k]+VZ[eVfUgh  $**:6#**;7  , 0?,&2,'LA
!*c22$9,{SWXbScRde  &0"%1"/A,7 %A:      request_datac                 0  #    U b  U R                  SS5      bz  SnU S   n[        S5       H5  nUR                  SS9nUb    O"[        R                  " S5      I Sh  vN   M7     UR                  SS9nUb  UR                  R                  nU SU 3$ g N87f)zZ
Returns langfuse trace url

- check:
-> existing_trace_id
-> trace_id
-> litellm_call_id
Nlitellm_logging_obj   langfuse)service_namez/trace/)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_alertr/   7   s      	 2D9E"&'34I'JqA*88j8QH#--"""	  /CC# D 
 ''0099HZwxj11 #s   ABB9B)N)__doc__r'   typingr   r   r   r   *litellm.litellm_core_utils.litellm_loggingr   litellm.proxy._typesr   litellm.secret_managers.mainr	   r   r   dictr/    r   r   <module>r7      s     . . > * 3' "4	5cC3H(H#IJ' d9eDIsN3345' V $(4.c]r   