
    /j              
           S SK r S SKrS SKJrJrJr  SSKJrJr  \4S\	S\	S\
4S jjr\4S	\\   S
\
S\\\	\	4      4S jjrg)    N)SequenceListDict   )DEFAULT_MODEL_ENCODINGDEFAULT_MAX_TOKENSstringencoding_namereturnc                 f    [         R                  " U5      nUR                  U 5      n[        U5      $ )z_
Get total amount of tokens from string using the specified encoding (based on openai compute)
)tiktokenencoding_for_modelencodelen)r	   r
   encodingtokenss       =/app/agent/.venv/lib/python3.13/site-packages/tavily/utils.pyget_total_tokens_from_stringr      s,     **=9H__V$Fv;    data
max_tokensc                     / nSnU  HB  n[         R                  " U5      nU[        U5      -   nXa:  a    U$ UR                  U5        UnMD     U$ )zX
Get max items from list of items based on defined max tokens (based on openai compute)
r   )jsondumpsr   append)r   r   resultcurrent_tokensitemitem_strnew_total_tokenss          r   get_max_items_from_listr!      sa     FN::d#),H,RR( M MM$-N  Mr   )r   r   typingr   r   r   configr   r   strintr   dictr!    r   r   <module>r(      sn      ' ' > DZ  S ^a  EW (4. c [_`dehilel`m[n r   