Ë
    uPêjõ  ã                   óà   — U d Z ddlmZmZ ddlmZmZ ed   Zed   Zed   Z	ed   Z
dZeed	<   d
Zeed<   dZeed<   dZeed<   d
Zeed<    ed¬«       G d„ d«      «       ZdZeed<   dZeed<   y)zÆ
Default parameter values and shared constants for APISerpent search.

Single source of truth for the supported request parameters and their
package-level defaults. See https://apiserpent.com/docs.
é    )ÚasdictÚ	dataclass)ÚFinalÚLiteral)ÚgoogleÚbingÚyahooÚddg)ÚoffÚmoderateÚstrict)
ÚhÚ1hÚdÚ1dÚ7dÚwÚmÚ1mÚyÚ1y)ÚfullÚsimpleé   ÚNUM_MINé
   ÚNUM_MIN_DEEPéd   ÚNUM_MAXÚ	PAGES_MINÚ	PAGES_MAXT)Úfrozenc                   óØ   — e Zd ZU dZdZeed<   dZeed<   dZ	e
ed<   dZeed	<   d
Ze
d
z  ed<   d
Zed
z  ed<   d
Zed
z  ed<   d
Zed
z  ed<   d
Zed
z  ed<   dd„Zdefd„Zedefd„«       Zy
)ÚAPISerpentSearchParamszý
    Supported APISerpent search parameters with package defaults.

    Fields defaulting to ``None`` are only sent when the caller provides them;
    the rest are always sent so behavior is deterministic regardless of any
    server-side defaults.
    r   ÚengineÚusÚcountryr   Únumr   ÚformatNÚpagesÚ	freshnessÚsafeÚlanguageÚpixel_positionÚreturnc                 ó2  — t         | j                  cxk  r	t        k  s(n t        dt         › dt        › d| j                  › �«      ‚| j                  �Ft
        | j                  cxk  r	t        k  s(n t        dt
        › dt        › d| j                  › �«      ‚y y )Nznum must be between z and z, got zpages must be between )r   r(   r   Ú
ValueErrorr*   r    r!   )Úselfs    úl/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/apiserpent/search/defaults.pyÚ__post_init__z$APISerpentSearchParams.__post_init__+   s‡   € ô ˜$Ÿ(™(Ô-¤gÔ-ÜÐ3´G°9¸EÄ'ÀÈ&ÐQU×QYÑQYÐPZÐ[Ó\Ð\Ø�:‰:Ð!¬)°t·z±zÔ*NÄYÔ*NÜÐ5´i°[ÀÄiÀ[ÐPVÐW[×WaÑWaÐVbÐcÓdÐdð +OÐ!ó    c                 ó®   — i }t        | «      j                  «       D ]6  \  }}|€Œ	t        |t        «      rt	        |«      j                  «       n|||<   Œ8 |S )z>Return non-None fields as request params, booleans lowercased.)r   ÚitemsÚ
isinstanceÚboolÚstrÚlower)r2   ÚparamsÚkeyÚvalues       r3   Úto_request_paramsz(APISerpentSearchParams.to_request_params3   sY   € à ˆÜ  ›,×,Ñ,Ó.ò 	S‰JˆC�Øˆ}ØÜ0:¸5Ä$Ô0Gœ#˜e›*×*Ñ*Ô,ÈUˆF�3ŠKð	Sð ˆr5   c                 óH   — t        | j                  j                  «       «      S )N)ÚsetÚ__dataclass_fields__Úkeys)Úclss    r3   Úfield_namesz"APISerpentSearchParams.field_names<   s   € ä�3×+Ñ+×0Ñ0Ó2Ó3Ð3r5   )r/   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   ÚSearchEngineÚ__annotations__r'   r:   r(   Úintr)   ÚResponseFormatr*   r+   Ú	Freshnessr,   Ú
SafeSearchr-   r.   r9   r4   Údictr?   ÚclassmethodrA   rE   © r5   r3   r$   r$      s¥   … ñð $€FˆLÓ#Ø€GˆSÓØ€CˆƒMØ#€FˆNÓ#Ø€Eˆ3�‰:ÓØ"&€Iˆy˜4ÑÓ&Ø"€Dˆ*�tÑ
Ó"Ø€Hˆc�D‰jÓØ"&€N�D˜4‘KÓ&óeð 4ó ð ð4˜Cò 4ó ñ4r5   r$   z/api/search/quickÚQUICK_SEARCH_PATHz/api/searchÚDEEP_SEARCH_PATHN)rI   Údataclassesr   r   Útypingr   r   rJ   rO   rN   rM   r   rK   r   r   r    r!   r$   rS   rT   rR   r5   r3   ú<module>rW      s§   ðò÷ *ß !àÐ7Ñ8€ØÐ0Ñ1€
ØÐIÑJ€	ØÐ)Ñ*€à€ˆÓ Ø€ˆeÓ Ø€ˆÓ Ø€	ˆ5Ó Ø€	ˆ5Ó ñ �$Ô÷&4ð &4ó ð&4ðR /Ð �5Ó .Ø'Ð �%Ô 'r5   