ó
    ±"³jß  ã                  óª   • S SK Jr  S SKJr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Jr  S SKJr  S	S
KJr  \" SS9 " S S\\   5      5       rg)é    )Úannotations)Ú	AwaitableÚCallable)Ú	dataclass)ÚAny)Ú	UserError)ÚWebFetchTool)Ú
AgentDepsTÚ
RunContextÚTool)ÚAbstractToolseté   )ÚNativeOrLocalToolF)Úinitc                  óÜ   • \ rS rSr% SrS\S'    S\S'    S\S'    S\S	'    S\S
'    SrS\S'    SSSSSSSSSSS.
                     SS jjrSS jrSS jr	SS jr
SS jrSrg)ÚWebFetché   a  URL fetching capability.

Uses the model's native URL fetching and raises `UserError` on models that
don't support it natively. Pass `local=True` to opt into a local fallback
(requires the `web-fetch` optional group):

```bash
pip install "pydantic-ai-slim[web-fetch]"
```
úlist[str] | NoneÚallowed_domainsÚblocked_domainsú
int | NoneÚmax_usesúbool | NoneÚenable_citationsÚmax_content_tokensÚ	web_fetchú
str | NoneÚidTNF)
ÚnativeÚlocalr   r   r   r   r   r   Údefer_loadingÚdescriptionc       
        óœ   • X€l         X l        X�l        Xl        X l        X0l        X@l        XPl        X`l        Xpl	        U R                  5         g ©N)r   r"   r!   r   r    r   r   r   r   r   Ú__post_init__)Úselfr   r    r   r   r   r   r   r   r!   r"   s              Ú_/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/capabilities/web_fetch.pyÚ__init__ÚWebFetch.__init__2   sH   € ð  ŒØ&ÔØ*ÔØŒØŒ
Ø.ÔØ.ÔØ ŒØ 0ÔØ"4ÔØ×ÑÕó    c                ó4  • 0 nU R                   b  U R                   US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   U R                  b  U R                  US'   [        S0 UD6$ )Nr   r   r   r   r   © )r   r   r   r   r   r	   )r&   Úkwargss     r'   Ú_default_nativeÚWebFetch._default_nativeN   s¡   € Ø!#ˆØ×ÑÑ+Ø(,×(<Ñ(<ˆFÐ$Ñ%Ø×ÑÑ+Ø(,×(<Ñ(<ˆFÐ$Ñ%Ø�=‰=Ñ$Ø!%§¡ˆF�:ÑØ× Ñ Ñ,Ø)-×)>Ñ)>ˆFÐ%Ñ&Ø×"Ñ"Ñ.Ø+/×+BÑ+BˆFÐ'Ñ(ÜÑ%˜fÑ%Ð%r*   c                ó"   • [         R                  $ r$   )r	   Úkind©r&   s    r'   Ú_native_unique_idÚWebFetch._native_unique_id\   s   € Ü× Ñ Ð r*   c                ó¬   • USL a"   SSK Jn  U" U R                  U R
                  S9$ [        SU< S35      e! [         a  n[        S5      UeS nAff = f)NTr   )Úweb_fetch_toolum   WebFetch(local=True) requires the `web-fetch` optional group â€” `pip install "pydantic-ai-slim[web-fetch]"`.)r   r   zWebFetch(local=zq) is not a known strategy. Pass `local=True` for the default markdownify-based tool, or a Tool/callable directly.)Ú"pydantic_ai.common_tools.web_fetchr6   ÚImportErrorr   r   r   )r&   Únamer6   Úes       r'   Ú_resolve_local_strategyÚ WebFetch._resolve_local_strategy_   s~   € Ø�4Š<ðÝMñ "Ø $× 4Ñ 4Ø $× 4Ñ 4ñð ô Ø˜d™Xð &eð eó
ð 	
øô ó ÜðCóð ðûðús   ‡8 ¸
AÁAÁAc                ó   • U R                   S L$ r$   )r   r2   s    r'   Ú_requires_nativeÚWebFetch._requires_nativeq   s   € Ø�}‰} DÐ(Ð(r*   )
r   r   r!   r"   r   r   r    r   r   r   )r   znWebFetchTool | Callable[[RunContext[AgentDepsT]], Awaitable[WebFetchTool | None] | WebFetchTool | None] | boolr    z3Tool[AgentDepsT] | Callable[..., Any] | bool | Noner   r   r   r   r   r   r   r   r   r   r   r   r!   Úboolr"   r   ÚreturnÚNone)rA   r	   )rA   Ústr)r9   z
str | boolrA   z.Tool[AgentDepsT] | AbstractToolset[AgentDepsT])rA   r@   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   r(   r.   r3   r;   r>   Ú__static_attributes__r,   r*   r'   r   r      sí   ‡ ñ	ð &Ó%ØUà%Ó%ØVàÓØEà!Ó!ØTà"Ó"ØPà €Bˆ
Ó ðð ØEIØ,0Ø,0Ø#Ø(,Ø)-Ø$Ø#Ø"&ñððð Cðð *ðð *ðð ðð &ðð 'ðð ðð ðð  ðð 
õô8&ô!ô
÷$)r*   r   N)Ú
__future__r   Úcollections.abcr   r   Údataclassesr   Útypingr   Úpydantic_ai.exceptionsr   Úpydantic_ai.native_toolsr	   Úpydantic_ai.toolsr
   r   r   Úpydantic_ai.toolsetsr   Únative_or_localr   r   r,   r*   r'   Ú<module>rT      sL   ðÝ "ç /Ý !Ý å ,Ý 1ß :Ñ :Ý 0å .ñ �Ñôb)Ð  Ñ,ó b)ó ñb)r*   