Ë
    tPêjw	  ã                  ó†   — d Z ddlmZ ddlZddlZddl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„Z	 d	 	 	 dd„Zy)z(Shared helpers for Datadog integrations.é    )ÚannotationsN)ÚFinal)ÚStandardLoggingPayloadc                 ó.   — t        j                  dd«      S )NÚ	DD_SOURCEÚlitellm©ÚosÚgetenv© ó    úq/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/integrations/datadog/datadog_handler.pyÚget_datadog_sourcer      s   € Ü�9‰9�[ )Ó,Ð,r   c                 ó.   — t        j                  dd«      S )NÚ
DD_SERVICEzlitellm-serverr	   r   r   r   Úget_datadog_servicer      s   € Ü�9‰9�\Ð#3Ó4Ð4r   c                 ó.   — t        j                  dd«      S )NÚHOSTNAMEÚ r	   r   r   r   Úget_datadog_hostnamer      s   € Ü�9‰9�Z Ó$Ð$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   € ô
 �9‰9�]Ó#Ð#r   c                 ó.   — t        j                  dd«      S )NÚDD_ENVÚunknownr	   r   r   r   Úget_datadog_envr       s   € Ü�9‰9�X˜yÓ)Ð)r   c                 ó.   — t        j                  dd«      S )NÚPOD_NAMEr   r	   r   r   r   Úget_datadog_pod_namer    $   s   € Ü�9‰9�Z Ó+Ð+r   c                ó¬   — dj                  d„ t        | «      j                  «       D «       «      }t        j                  dd|«      j                  d«      S )Nr   c              3  óL   K  — | ]  }|j                  «       s|d v r|nd–— Œ y­w)z_-:./Ú_N)Úisalnum)Ú.0Ú	characters     r   ú	<genexpr>z.normalize_datadog_tag_value.<locals>.<genexpr>)   s,   è ø€ ò &ØNW�Y×&Ñ&Ô(¨I¸Ñ,@‰	ÀcÓIñ&ùs   ‚"$z_+r#   )ÚjoinÚstrÚlowerÚreÚsubÚstrip)ÚvalueÚnormalized_values     r   Únormalize_datadog_tag_valuer0   (   sN   € Ø Ÿg™gñ &Ü[^Ð_dÓ[e×[kÑ[kÓ[mô&ó Ðô �6‰6�%˜Ð.Ó/×5Ñ5°cÓ:Ð:r   c                ó6  — 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t        |«      › �«       |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  ó8   K  — | ]  }d t        |«      › �–— Œ y­w)zrequest_tag:N)r0   )r%   Útags     r   r'   z#get_datadog_tags.<locals>.<genexpr>E   s   è ø€ Ò^È#�lÔ#>¸sÓ#CÐ"DÔEÑ^ùs   ‚Ú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Úappendr0   )Ústandard_logging_objectÚ	base_tagsÚkÚvÚtagsr7   r:   Úteam_tags           r   Úget_datadog_tagsrI   /   s  € ô Ó Ü&Ó(Ü—9‘9˜\¨9Ó5Ü(Ó*Ü(Ó*ñ€Ið 6?·_±_Ó5F×G©T¨Q°   1 Q CšjÐG€DÑGáØ5×9Ñ9¸.È"ÓMÒSÐQSˆØ�‰Ñ^ÐQ]Ô^Ô^ð 2×5Ñ5°jÀ"ÓEÒKÈˆà�L‰LÐ2Ó3ò 'Ø�|‰|˜LÓ)ò'à�|‰|Ð2Ó3ò'ð �|‰|˜IÓ&ð	 	ñ Ø�K‰K˜%Ô ;¸HÓ EÐFÐGÔHà€Kùó# Hs   ÁD)Úreturnr)   )rJ   z
str | None)r.   ÚobjectrJ   r)   )N)rC   zStandardLoggingPayload | NonerJ   z	list[str])Ú__doc__Ú
__future__r   r
   r+   Útypingr   Úlitellm.types.utilsr   r   r   r   r   r   r    r0   rI   r   r   r   ú<module>rP      sU   ðÙ .å "ã 	Û 	Ý å 6ó-ó5ó%ó$ó*ó,ó;ð >Bð#Ø:ð#àô#r   