o
    i<                     @   s6   d dl mZmZmZmZ ddlmZ G dd dZdS )    )ListOptionalSequenceAny   )TokenIdc                   @   sf   e Zd ZU eed< ee ed< ee ed< ee ed< de	ddfdd	Z
d
edee fddZeZdS )TokenizerWrappereos_token_idbos_token_idtokensspecial_token_ids
gtokenizerreturnNc                 C   sZ   |j | _ |j| _|j| _t|dg | _d| _|| _d| _z|d W d S    d| _Y d S )Nr   Ts   testF)r	   r
   r   getattrr   is_tokenizer_wrapper_gtokenizer_accepts_bytes)selfr    r   R/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/llguidance/_tokenizer.py__init__   s   zTokenizerWrapper.__init__sc                 C   s(   | j r| |d}|S | |}|S )Nzutf-8)r   r   encode)r   r   rr   r   r   _encode_string   s
   
zTokenizerWrapper._encode_string)__name__
__module____qualname__r   __annotations__r   r   bytesintr   r   strr   r   __call__r   r   r   r   r      s   
 	r   N)typingr   r   r   r   _utilr   r   r   r   r   r   <module>   s    