§
    ~Štj$  ã                  óB   — d Z ddlmZ ddlmZ ddlmZmZmZ 	 ddd„Z	dS )uÊ  Shared token-usage mapping.

``_create_usage_metadata`` normalizes an OpenAI-shaped token ``usage`` dict into
LangSmith's canonical :class:`~langsmith.schemas.UsageMetadata`. It lives here â€”
not in ``langsmith.wrappers._openai`` â€” so integrations can reuse it without
importing the ``wrappers`` package (whose ``__init__`` eagerly imports a
deprecated tombstone that warns at import time). ``wrappers._openai`` re-exports
it for backwards compatibility.
é    )Úannotations)ÚOptional)ÚInputTokenDetailsÚOutputTokenDetailsÚUsageMetadataNÚoai_token_usageÚdictÚservice_tierúOptional[str]Úreturnr   c                óX  — |dv r|nd }|r|› d�nd}|                       d¦  «        p|                       d¦  «        pd}|                       d¦  «        p|                       d¦  «        pd}|                       d	¦  «        p||z   }d
|                       d¦  «        p|                       d¦  «        pi                       d¦  «        |› d�|                       d¦  «        p|                       d¦  «        pi                       d¦  «        i}d
|                       d¦  «        p|                       d¦  «        pi                       d¦  «        |› d�|                       d¦  «        p|                       d¦  «        pi                       d¦  «        i}|r@||                      |› d�¦  «        pdz
  ||<   ||                      |› d�¦  «        pdz
  ||<   t          |||t          di d„ |                     ¦   «         D ¦   «         ¤Žt	          di d„ |                     ¦   «         D ¦   «         ¤Ž¬¦  «        S )N)ÚpriorityÚflexÚ_Ú Úprompt_tokensÚinput_tokensr   Úcompletion_tokensÚoutput_tokensÚtotal_tokensÚaudioÚprompt_tokens_detailsÚinput_tokens_detailsÚaudio_tokensÚ
cache_readÚcached_tokensÚcompletion_tokens_detailsÚoutput_tokens_detailsÚ	reasoningÚreasoning_tokensc                ó   — i | ]
\  }}|®||“ŒS ©N© ©Ú.0ÚkÚvs      úX/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langsmith/_internal/_usage.pyú
<dictcomp>z*_create_usage_metadata.<locals>.<dictcomp>N   s   € ÐMÐMÐM™˜˜1¸q¸}ˆq�!¸}¸}¸}ó    c                ó   — i | ]
\  }}|®||“ŒS r"   r#   r$   s      r(   r)   z*_create_usage_metadata.<locals>.<dictcomp>Q   s   € ÐNÐNÐN™˜˜1ÀÀˆq�!ÀÀÀr*   )r   r   r   Úinput_token_detailsÚoutput_token_detailsr#   )Úgetr   r   Úitemsr   )	r   r
   Úrecognized_service_tierÚservice_tier_prefixr   r   r   r,   r-   s	            r(   Ú_create_usage_metadatar2      sê  € ð %Ð(<Ð<Ð<ˆˆÀ$ð ð *AÐHÐ"Ð%Ð%Ð%Ð%Àbð ð
 	×Ò˜OÑ,Ô,ÐX°×0CÒ0CÀNÑ0SÔ0SÐXÐWXð ð 	×ÒÐ/Ñ0Ô0ð 	Ø×Ò˜Ñ/Ô/ð	àð ð
 #×&Ò& ~Ñ6Ô6ÐV¸,ÈÑ:V€LàØ×ÒÐ 7Ñ8Ô8ð Ø×"Ò"Ð#9Ñ:Ô:ðàß
Š#ˆnÑ
Ô
ØÐ*Ð*Ð*Ø×ÒÐ 7Ñ8Ô8ð Ø×"Ò"Ð#9Ñ:Ô:ðàß
Š#ˆoÑ
Ô
ð!Ðð 	Ø×ÒÐ ;Ñ<Ô<ð Ø×"Ò"Ð#:Ñ;Ô;ðàß
Š#ˆnÑ
Ô
ØÐ)Ð)Ð)Ø×ÒÐ ;Ñ<Ô<ð Ø×"Ò"Ð#:Ñ;Ô;ðàß
Š#Ð Ñ
!Ô
!ð"Ðð ð 	
ð 8DØ×#Ò#Ð':Ð$FÐ$FÐ$FÑGÔGÐLÈ1ñ8
ÐÐ3Ñ4ð 9FØ ×$Ò$Ð(;Ð%FÐ%FÐ%FÑGÔGÐLÈ1ñ9
ÐÐ4Ñ5õ Ø!Ø#Ø!Ý-ð 
ð 
ØMÐMÐ 3× 9Ò 9Ñ ;Ô ;ÐMÑMÔMð
ð 
õ 0ð 
ð 
ØNÐNÐ 4× :Ò :Ñ <Ô <ÐNÑNÔNð
ð 
ð
ñ 
ô 
ð 
r*   r"   )r   r	   r
   r   r   r   )
Ú__doc__Ú
__future__r   Útypingr   Úlangsmith.schemasr   r   r   r2   r#   r*   r(   ú<module>r7      s‚   ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rð :>ðAð Að Að Að Að Að Ar*   