Ë
    tPêjõ
  ã                   ó  — U d Z ddlmZmZ ddlmZ ddlmZmZm	Z	 ddl
mZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ eeedœZeeeeegef   f      ed<   eeedœZeeeeg ef   f      ed<   dee   dee   fd„Zg d¢Z y)aƒ  Attribute mappers: pure ``LLMCallSpanData -> {attribute key: value}`` functions.

Composition over inheritance: vocabularies layer onto the same span. Listing
``["genai", "openinference"]`` in ``config.mapper_names`` makes every span
carry both the canonical ``gen_ai.*`` keys and the OpenInference (Arize +
Phoenix) keys. Add ``"langfuse"`` and it works for all three backends at once.
é    )ÚCallableÚIterable)ÚFinal)ÚAttributeMapÚAttributeMapperÚ	AttrValue)ÚGenAIMapper)ÚLangfuseMapper)ÚLangtraceMapper)ÚLegacyMapper)ÚOpenInferenceMapper)Útool_attr_budget)ÚWeaveMapper)ÚgenaiÚlegacyÚopeninferenceÚ_TOOL_DEFINITION_MAPPERS)ÚlangfuseÚweaveÚ	langtraceÚ_PLAIN_MAPPERSÚnamesÚreturnc                 ó\  — t        | «      }|D ]<  }|t        vsŒ|t        vsŒt        g t        ¢t        ¢­«      }t	        d|›d|› �«      ‚ t        t        h |£t        j                  «       z  «      «      }|D �cg c]%  }|t        v rt        |   |«      nt        |   «       ‘Œ' c}S c c}w )zFResolve mapper names to instances. Unknown names raise ``ValueError``.zunknown mapper name z	; known: )Útupler   r   ÚsortedÚ
ValueErrorr   ÚlenÚkeys)r   ÚorderedÚnameÚknownÚbudgets        úo/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/integrations/otel/mappers/__init__.pyÚresolve_mappersr%   )   sÃ   € ä˜5“\€GØò NˆØÔ/Ò/°DÄÒ4NÜÐGÔ5ÐG¼ÑGÓHˆEÜÐ3°D°8¸9ÀUÀGÐLÓMÐMðNô %¤S¨¨7¨Ô6N×6SÑ6SÓ6UÑ)UÓ%VÓW€Fð öàð 37Ô:RÑ2RÔ  Ñ& vÔ.ÔXfÐgkÑXlÓXnÑnòð ùò s   Á<*B))
r   r   r   r	   r
   r   r   r   r   r%   N)!Ú__doc__Úcollections.abcr   r   Útypingr   Ú&litellm.integrations.otel.mappers.baser   r   r   Ú'litellm.integrations.otel.mappers.genair	   Ú*litellm.integrations.otel.mappers.langfuser
   Ú+litellm.integrations.otel.mappers.langtracer   Ú(litellm.integrations.otel.mappers.legacyr   Ú/litellm.integrations.otel.mappers.openinferencer   Ú'litellm.integrations.otel.mappers.utilsr   Ú'litellm.integrations.otel.mappers.weaver   r   ÚdictÚstrÚintÚ__annotations__r   Úlistr%   Ú__all__© ó    r$   ú<module>r9      sÀ   ðò÷ /Ý ÷ñ õ
 @Ý EÝ GÝ AÝ OÝ DÝ ?ð ØØ(ñPÐ ˜%  S¨(°C°5¸/Ð3IÑ*JÐ%JÑ KÑLó ð ØØ ñC€��d˜3 ¨¨_Ð)<Ñ =Ð=Ñ>Ñ?ó ð˜8 C™=ð ¨T°/Ñ-Bó ò"�r8   