
    ^hu                     \    S r SSKJrJr  SSKJr  \(       a	  SSKJr  \r	O\r	S r
S\	4S jrg	)
z
Handles Batching + sending Httpx Post requests to slack 

Slack alerts are sent every 10s or when events are greater than X events 

see custom_batch_logger.py for more details / defaults 
    )TYPE_CHECKINGAny)verbose_proxy_logger   )SlackAlertingc                     0 n[        U 5      S:X  a  U$ [        U 5      S:X  a
  SU S   SS.0$ U  H-  nUS   nUS   nX44nXQ;   a  X   S==   S-  ss'   M&  USS.X'   M/     U$ )Nr   r   key)itemcounturl
alert_typer   )len)queuesquashedr
   r   r   _keys         m/home/james-whalen/.local/lib/python3.13/site-packages/litellm/integrations/SlackAlerting/batching_handler.pysquash_payloadsr      s    H
5zQ
5zQa15665k,'
 N7#q(# '+Q7HN  O    slackAlertingInstancec                   #    SS K n US   nUS:  a  SU SUS    3US'   U R                  R                  US   US   UR                  U5      S	9I S h  vN nUR                  S
:w  a*  [
        R                  " SUS    SUR                   35        g g  N?! [         a,  n[
        R                  " S[        U5       35         S nAg S nAff = f7f)Nr   payloadr   z[Num Alerts: z]

textr   headers)r   r   data   z!Error sending slack alert to url=z. Error=zError sending slack alert: )
jsonasync_http_handlerpostdumpsstatus_coder   debugr   	Exceptionstr)r   r
   r   r   r   responsees          r   send_to_webhookr&   ,   s     Ky/19 -eWE'&/9JKGFO.AAFFUOG$ G 
 

 3& &&3DK=X '
  K""%@Q#IJJKsA   CAB B=B CB 
C "CCCCN)__doc__typingr   r   litellm._loggingr   slack_alertingr   _SlackAlertingSlackAlertingTyper   r&    r   r   <module>r.      s8    & 1?&.K1B Kr   