ó
    ±"³jÍ  ã                   ó¢   • S SK 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
  SSKJrJr  SS	KJrJr  SS
KJr  Sr\" SSS9 " S S\5      5       rg)é    N)ÚSequence)Ú	dataclass)Úestimate_string_tokens)ÚBinaryImage)ÚRequestUsageé   )ÚImageGenerationInputÚImageGenerationModel)ÚGeneratedImageÚImageGenerationResult)ÚImageGenerationSettingssC   ‰PNG

   IHDR         Ä‰   
IDATxœc    
-´    IEND®B`‚F)ÚinitÚeqc            	       óþ   ^ • \ rS rSr% SrSr\\S'    \\S'    \\	   \S'    Sr
\S-  \S'     SS	SS
.S\S\S\S-  4U 4S jjjjr\S\4S j5       r\S\4S j5       rSSS.S\S\\	   S-  S\S-  S\4S jjrSrU =r$ )ÚTestImageGenerationModelé   aÙ  A deterministic image generation model for testing.

This model returns a single 1x1 PNG without making any API calls, and records the reference images
and settings used in the last call via the `last_images` and `last_settings` attributes.

Example:
```python
from pydantic_ai import ImageGenerator
from pydantic_ai.images import TestImageGenerationModel

test_model = TestImageGenerationModel()
generator = ImageGenerator('openai:gpt-image-2')


async def main():
    with generator.override(model=test_model):
        await generator.generate('A test image', settings={'aspect_ratio': '16:9'})
        print(test_model.last_settings)
        #> {'aspect_ratio': '16:9'}
        print(test_model.last_images)
        #> []
```
FÚ_model_nameÚ_provider_nameÚlast_imagesNÚlast_settingsÚtest)Úprovider_nameÚsettingsÚ
model_namer   r   c                óT   >• Xl         X l        / U l        SU l        [        TU ]  US9  g)zÚInitialize the test image generation model.

Args:
    model_name: The model name to report in results.
    provider_name: The provider name to report in results.
    settings: Optional default settings for the model.
N)r   )r   r   r   r   ÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s       €ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/images/test.pyr   Ú!TestImageGenerationModel.__init__@   s1   ø€ ð &ÔØ+ÔØˆÔØ!ˆÔÜ‰Ñ (ÐÒ+ó    Úreturnc                 ó   • U R                   $ )z The image generation model name.)r   ©r   s    r    r   Ú#TestImageGenerationModel.model_nameT   s   € ð ×ÑÐr"   c                 ó   • U R                   $ )z$The image generation model provider.)r   r%   s    r    ÚsystemÚTestImageGenerationModel.systemY   s   € ð ×"Ñ"Ð"r"   ©Úimagesr   Úpromptr+   c             ƒ   ó  #   • U R                  XUS9u  pnX l        X0l        [        [	        [        [        SS9SS9/U[        [        U5      S9U R                  U R                  [        [        R                  " 5       5      S9$ 7f)Nr*   z	image/png)ÚdataÚ
media_typeÚpng)ÚcontentÚoutput_format)Úinput_tokens)r+   r,   Úusager   r   Úprovider_response_id)Úprepare_generater   r   r   r   r   Ú	_TINY_PNGr   r   r   r(   ÚstrÚuuidÚuuid4)r   r,   r+   r   s       r    ÚgenerateÚ!TestImageGenerationModel.generate^   s„   é € ð $(×#8Ñ#8¸ÐYaÐ#8Ð#bÑ ˆ˜Ø!ÔØ%Ôä$äÜ'¬YÀ;ÑOØ"'ñðð ÜÔ,BÀ6Ó,JÑKØ—‘ØŸ+™+Ü!$¤T§Z¢Z£\Ó!2ñ
ð 	
ùs   ‚BB)r   r   r   r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__test__r8   Ú__annotations__Úlistr	   r   r   r   Úpropertyr   r(   r   r   r;   Ú__static_attributes__Ú__classcell__)r   s   @r    r   r      sþ   ø‡ ñð2 €HàÓØ.àÓØ1àÐ*Ñ+Ó+ØGà48€MÐ*¨TÑ1Ó8Ø=ð !ð,ð $Ø37ò,àð,ð ð	,ð
 *¨DÑ0÷,ñ ,ð( ð ˜Có  ó ð ð ð#˜ó #ó ð#ð 9=Ø37ò
àð
ð Ð-Ñ.°Ñ5ð	
ð
 *¨DÑ0ð
ð 
÷
ó 
r"   r   )r9   Úcollections.abcr   Údataclassesr   Úpydantic_ai._utilsr   Úpydantic_ai.messagesr   Úpydantic_ai.usager   Úbaser	   r
   Úresultr   r   r   r   r7   r   © r"   r    Ú<module>rP      sQ   ðÛ Ý $Ý !å 5Ý ,Ý *ç <ß 9Ý -ðCð 
ñ �˜%Ñ ô]
Ð3ó ]
ó !ñ]
r"   