
    i                    z    d Z ddlmZ ddlZddlmZmZ ddlmZ ddZ	ddZ
ddZdd	Zdd
ZddZ	 d	 	 	 ddZy)z(Shared helpers for Datadog integrations.    )annotationsN)ListOptional)StandardLoggingPayloadc                 .    t        j                  dd      S )N	DD_SOURCElitellmosgetenv     }/Users/manta/Documents/Projects/TheRoad-I1/.venv/lib/python3.12/site-packages/litellm/integrations/datadog/datadog_handler.pyget_datadog_sourcer      s    99[),,r   c                 .    t        j                  dd      S )N
DD_SERVICEzlitellm-serverr
   r   r   r   get_datadog_servicer      s    99\#344r   c                 .    t        j                  dd      S )NHOSTNAME r
   r   r   r   get_datadog_hostnamer      s    99Z$$r   c                 ,    t        j                  d      S )zt
    Get base URL override from common DD_BASE_URL env var.
    This is useful for testing or custom endpoints.
    DD_BASE_URLr
   r   r   r   get_datadog_base_url_from_envr      s    
 99]##r   c                 .    t        j                  dd      S )NDD_ENVunknownr
   r   r   r   get_datadog_envr      s    99Xy))r   c                 .    t        j                  dd      S )NPOD_NAMEr   r
   r   r   r   get_datadog_pod_namer!   #   s    99Z++r   c                $   t               t               t        j                  dd      t	               t               d}|j                         D cg c]  \  }}| d|  }}}| r| j                  dg       xs g }|j                  d |D               | j                  di       xs i }|j                  d      xs7 |j                  d	      xs$ |j                  d
      xs |j                  d      }|r|j                  d|        |S c c}}w )a	  Build Datadog tags as a list of individual tag strings.

    Returns a list of "key:value" strings suitable for Datadog LLM Observability
    (which expects tags as an array). For Datadog Logs API (ddtags), join with
    comma: ",".join(get_datadog_tags(...)).
    
DD_VERSIONr   )envserviceversionr   r    :request_tagsc              3  &   K   | ]	  }d |   yw)zrequest_tag:Nr   ).0tags     r   	<genexpr>z#get_datadog_tags.<locals>.<genexpr>=   s     ALSl3%(Ls   metadatauser_api_key_team_alias
team_aliasuser_api_key_team_idteam_idzteam:)
r   r   r   r   r   r!   itemsgetextendappend)standard_logging_object	base_tagskvtagsr(   r-   team_tags           r   get_datadog_tagsr<   '   s     &(99\95(*(*I /8oo.?@.?da!AaSz.?D@.22>2FL"ALAA +..z2>D"LL23 '||L)'||23' ||I&	 	 KK%z*+K# As   D)returnstr)r=   zOptional[str])N)r6   z Optional[StandardLoggingPayload]r=   z	List[str])__doc__
__future__r   r   typingr   r   litellm.types.utilsr   r   r   r   r   r   r!   r<   r   r   r   <module>rC      sN    . " 	 ! 6-5%$*,
 AE#=##r   