ó
    ±"³jà  ã                  óx   • 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
  SSKJr  \" SS	9 " S
 S\5      5       rg)é    )Úannotations)ÚSequence)Ú	dataclassé   )ÚImageGenerationInputÚImageGenerationModel)ÚImageGenerationResult)ÚImageGenerationSettingsF)Úinitc                  óº   ^ • \ rS rSr% SrS\S'    SU 4S jjrSSS.       SS j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$ )ÚWrapperImageGenerationModelé   ad  Base class for image generation models that wrap another model.

Use this as a base class to create custom image generation 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 image generation model.

Args:
    wrapped: The model to wrap. Can be an
        [`ImageGenerationModel`][pydantic_ai.images.ImageGenerationModel] instance
        or a model name string (e.g., `'openai:gpt-image-1'`).
r   )Úinfer_image_generation_modelN)Ú r   ÚsuperÚ__init__Ú
isinstanceÚstrr   )Úselfr   r   Ú	__class__s      €ÚW/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/images/wrapper.pyr   Ú$WrapperImageGenerationModel.__init__   s4   ø€ õ 	3ä‰ÑÔÜ@JÈ7ÔTW×@XÑ@XÑ3°GÓ<ˆ�Ð^eˆ�ó    N©ÚimagesÚsettingsc             ƒ  óR   #   • U R                   R                  XUS9I S h  v•N $  N7f)Nr   )r   Úgenerate)r   Úpromptr   r   s       r   r    Ú$WrapperImageGenerationModel.generate'   s'   é € ð —\‘\×*Ñ*¨6È8Ð*ÐT×TÐTÑTùs   ‚' %¡'c                ó.   • U R                   R                  $ ©N)r   Ú
model_name©r   s    r   r%   Ú&WrapperImageGenerationModel.model_name0   s   € à�|‰|×&Ñ&Ð&r   c                ó.   • U R                   R                  $ r$   )r   Úsystemr&   s    r   r)   Ú"WrapperImageGenerationModel.system4   s   € à�|‰|×"Ñ"Ð"r   c                ó.   • U R                   R                  $ )z9Get the settings from the wrapped image generation model.)r   r   r&   s    r   r   Ú$WrapperImageGenerationModel.settings8   s   € ð �|‰|×$Ñ$Ð$r   c                ó.   • U R                   R                  $ r$   )r   Úbase_urlr&   s    r   r.   Ú$WrapperImageGenerationModel.base_url=   s   € à�|‰|×$Ñ$Ð$r   c                óP   • US:X  a  [        U5      e[        U R                  U5      $ )Nr   )ÚAttributeErrorÚgetattrr   )r   Úitems     r   Ú__getattr__Ú'WrapperImageGenerationModel.__getattr__A   s&   € Ø�9ÓÜ  Ó&Ð&Ü�t—|‘| TÓ*Ð*r   )r   )r   zImageGenerationModel | str)r!   r   r   z%Sequence[ImageGenerationInput] | Noner   úImageGenerationSettings | NoneÚreturnr	   )r7   r   )r7   r6   )r7   z
str | None)r3   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   r    Úpropertyr%   r)   r   r.   r4   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s«   ø‡ ñð "Ó!Ø>÷fð" 9=Ø37ñUàðUð 6ð	Uð
 1ðUð 
õUð ó'ó ð'ð ó#ó ð#ð ó%ó ð%ð ó%ó ð%÷+ò +r   r   N)Ú
__future__r   Úcollections.abcr   Údataclassesr   Úbaser   r   Úresultr	   r   r
   r   © r   r   Ú<module>rG      s8   ðÝ "å $Ý !ç <Ý )Ý -ñ �Ñô8+Ð"6ó 8+ó ñ8+r   