ó
    ±"³j'	  ã                  ó”   • S SK Jr  S SKJr  S SKJr  S SKJr  SSKJ	r	  SSK
JrJr  SSKJr  \(       a   \" S	S
9 " S S\	5      5       rg)é    )Úannotations)ÚSequence)Ú	dataclass)ÚTYPE_CHECKINGé   )ÚEmbeddingModel)ÚEmbeddingResultÚEmbedInputType)ÚEmbeddingSettingsF)Úinitc                  óÌ   ^ • \ rS rSr% SrS\S'    SU 4S jjrSS.       SS jjrSS	 jrSS
 jr	\
SS j5       r\
SS j5       r\
SS j5       r\
SS j5       rSS jrSrU =r$ )ÚWrapperEmbeddingModelé   aV  Base class for embedding models that wrap another model.

Use this as a base class to create custom embedding model wrappers
that modify behavior (e.g., caching, logging, rate limiting) while
delegating to an underlying model.

By default, all methods are passed through to the wrapped model.
Override specific methods to customize behavior.
r   Úwrappedc                ó‚   >• SSK Jn  [        TU ]  5         [	        U[
        5      (       a  U" U5      U l        gUU l        g)zöInitialize the wrapper with an embedding model.

Args:
    wrapped: The model to wrap. Can be an
        [`EmbeddingModel`][pydantic_ai.embeddings.EmbeddingModel] instance
        or a model name string (e.g., `'openai:text-embedding-3-small'`).
r   )Úinfer_embedding_modelN)Ú r   ÚsuperÚ__init__Ú
isinstanceÚstrr   )Úselfr   r   Ú	__class__s      €Ú[/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/embeddings/wrapper.pyr   ÚWrapperEmbeddingModel.__init__   s3   ø€ õ 	,ä‰ÑÔÜ9CÀGÌS×9QÑ9QÑ,¨WÓ5ˆ�ÐW^ˆ�ó    N)Úsettingsc             ƒ  óR   #   • U R                   R                  XUS9I S h  v•N $  N7f)N)Ú
input_typer   )r   Úembed)r   Úinputsr   r   s       r   r    ÚWrapperEmbeddingModel.embed+   s(   é € ð —\‘\×'Ñ'¨ÐPXÐ'ÐY×YÐYÑYùó   ‚' %¡'c              ƒ  óR   #   • U R                   R                  5       I S h  v•N $  N7f©N)r   Úmax_input_tokens©r   s    r   r&   Ú&WrapperEmbeddingModel.max_input_tokens0   s   é € Ø—\‘\×2Ñ2Ó4×4Ð4Ñ4ùr#   c              ƒ  óT   #   • U R                   R                  U5      I S h  v•N $  N7fr%   )r   Úcount_tokens)r   Útexts     r   r*   Ú"WrapperEmbeddingModel.count_tokens3   s    é € Ø—\‘\×.Ñ.¨tÓ4×4Ð4Ñ4ùs   ‚(¡&¢(c                ó.   • U R                   R                  $ r%   )r   Ú
model_namer'   s    r   r.   Ú WrapperEmbeddingModel.model_name6   s   € à�|‰|×&Ñ&Ð&r   c                ó.   • U R                   R                  $ r%   )r   Úsystemr'   s    r   r1   ÚWrapperEmbeddingModel.system:   s   € à�|‰|×"Ñ"Ð"r   c                ó.   • U R                   R                  $ )z2Get the settings from the wrapped embedding model.)r   r   r'   s    r   r   ÚWrapperEmbeddingModel.settings>   s   € ð �|‰|×$Ñ$Ð$r   c                ó.   • U R                   R                  $ r%   )r   Úbase_urlr'   s    r   r6   ÚWrapperEmbeddingModel.base_urlC   s   € à�|‰|×$Ñ$Ð$r   c                ó.   • [        U R                  U5      $ r%   )Úgetattrr   )r   Úitems     r   Ú__getattr__Ú!WrapperEmbeddingModel.__getattr__G   s   € Ü�t—|‘| TÓ*Ð*r   )r   )r   zEmbeddingModel | str)r!   zstr | Sequence[str]r   r
   r   úEmbeddingSettings | NoneÚreturnr	   )r>   z
int | None)r+   r   r>   Úint)r>   r   )r>   r=   )r>   z
str | None)r:   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   r    r&   r*   Úpropertyr.   r1   r   r6   r;   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s®   ø‡ ñð ÓØ7÷_ð ptñZØ)ðZØ:HðZØTlðZà	õZô
5ô5ð ó'ó ð'ð ó#ó ð#ð ó%ó ð%ð ó%ó ð%÷+ò +r   r   N)Ú
__future__r   Úcollections.abcr   Údataclassesr   Útypingr   Úbaser   Úresultr	   r
   r   r   r   © r   r   Ú<module>rP      s@   ðÝ "å $Ý !Ý  å  ß 3Ý 'æØñ �Ñô8+˜Nó 8+ó ñ8+r   