ó
    ±"³jcB  ã                  ó.  • % 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  \(       a  S SKJr  O\b  \R                  O\r\S	   rS
\S'    \\-  rS
\S'    \S   r\ " S S5      5       r\\\   -  \-  S-  r \S   rS
\S'     " S S\	SS9rSS jrg)é    )Úannotations)Ú	dataclass)ÚTYPE_CHECKINGÚLiteralÚ	TypeAlias)Ú	TypedDicté   )Úlegacy_httpx)ÚTimeoutN)ÚminimalÚlowÚmediumÚhighÚxhighr   ÚThinkingEffortÚThinkingLevel)ÚnoneÚrequiredÚautoc                  ó$   • \ rS rSr% SrS\S'   Srg)ÚToolOrOutputé#   aW  Restricts function tools while keeping output tools and direct text/image output available.

Use this when you want to control which function tools the model can use
in an agent run while still allowing the agent to complete with structured output,
text, or images.

See the [Tool Choice guide](../tools-advanced.md#tool-choice) for examples.
ú	list[str]Úfunction_tools© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r   ó    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/settings.pyr   r   #   s   ‡ ñð ÓÚ=r$   r   )r   ÚdefaultÚflexÚpriorityÚServiceTierc                  óØ   • \ rS rSr% SrS\S'    S\S'    S\S'    S\S'    S	\S
'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'    S\S'   Srg) ÚModelSettingséZ   aÜ  Settings to configure an LLM.

Includes only settings which apply to multiple models / model providers,
though not all of these settings are supported by all models.

Each field's `Supported by:` list names the model classes that put the setting on the wire. A bare
name covers every interface that model serves, so `OpenAI` means both
[`OpenAIChatModel`][pydantic_ai.models.openai.OpenAIChatModel] and
[`OpenAIResponsesModel`][pydantic_ai.models.openai.OpenAIResponsesModel]; a name qualified with an
interface, like `OpenAI Chat Completions`, covers only that one, because the Responses API does
not accept the setting at all.

These lists are parsed and checked against the wire by
`tests/models/test_model_settings_support.py`, so keep the `* Name` bullet shape and put any nuance in
parentheses after the name.

Being listed means Pydantic AI sends the setting, not that the service honors it: the
OpenAI-compatible model classes forward whatever the OpenAI schema accepts, and an individual
provider behind one of them may ignore a field its own API doesn't define, or reject it. Where we
know of such a case it is noted on the entry, but the provider's own API reference is the
authority.

All types must be serializable using Pydantic.
ÚintÚ
max_tokensÚfloatÚtemperatureÚtop_pÚtop_kzint | float | TimeoutÚtimeoutÚboolÚparallel_tool_callsÚ
ToolChoiceÚtool_choiceÚseedÚpresence_penaltyÚfrequency_penaltyzdict[str, int]Ú
logit_biasr   Ústop_sequenceszdict[str, str]Úextra_headersr   Úthinkingr)   Úservice_tierÚobjectÚ
extra_bodyr   Nr   r   r$   r%   r+   r+   Z   sÕ   ‡ ñð2 ƒOðð0 Óðð< ƒLðð8 ƒJð
ð #Ó"ðð2 Óðð( Óð(ðT ƒIðð* Óðð* Óðð* Óðð  Óðð0 "Ó!ðð* Óð%ðN Óðð8 Óòr$   r+   F)Útotalc                ó<   • U (       a  U(       a  X-  $ U =(       d    U$ )zŠMerge two sets of model settings, preferring the overrides.

A common use case is: merge_model_settings(<agent settings>, <run settings>)
r   )ÚbaseÚ	overridess     r%   Úmerge_model_settingsrF     s   € ö –	ØÑÐà× �yÐ r$   )rD   úModelSettings | NonerE   rG   ÚreturnrG   )Ú
__future__r   Údataclassesr   Útypingr   r   r   Útyping_extensionsr   Ú_httpr
   Úhttpxr   r/   r   r"   r4   r   ÚToolChoiceScalarr   ÚlistÚstrr6   r)   r+   rF   r   r$   r%   Ú<module>rR      sÈ   ðÞ "å !ß 4Ñ 4å 'å æÞð '3Ñ&>ˆl×"Ò"ÀE€Gà#Ð$OÑP€�	Ó PØ Dà .Ñ0€ˆyÓ 0ð	ð Ð5Ñ6Ð ð ÷>ð >ó ð>ð   S¡	Ñ)¨LÑ8¸4Ñ?€
Ø 2à Ð!FÑG€ˆYÓ Gð!ôHs�I Uò sõl	!r$   