ó
    ±"³j43  ã                  ó¦  • % S SK Jr  S SK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Jr  SS	KJr  SS
KJrJr  SSKJr  / SQr\	S   rS\S'   \	S   rS\S'   \" S5      r SrS\S'     " S S\SS9rS2S jr0 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S..Er S\S/'    \\S/S4   -  r!S\S0'    S3S1 jr"g)4é    )ÚannotationsN)ÚCallable)Údedent)ÚLiteralÚ	TypeAliasÚcast)Ú	TypedDicté   )ÚInlineDefsJsonSchemaTransformerÚJsonSchemaTransformer)ÚPydanticAIDeprecationWarning)ÚSUPPORTED_NATIVE_TOOLSÚAbstractNativeTool)ÚStructuredOutputMode)
ÚModelProfileÚModelProfileSpecÚToolAdditionModeÚToolDeferralModeÚDEFAULT_PROFILEÚ DEFAULT_PROMPTED_OUTPUT_TEMPLATEÚDEFAULT_THINKING_TAGSr   r   Úmerge_profile)Ú
standaloneÚwith_tool_searchr   r   )Úby_referenceÚwith_definitionsr   zž
    Always respond with a JSON object that's compatible with this schema:

    {schema}

    Don't include any text or Markdown fencing before or after.
    )z<think>z</think>útuple[str, str]r   c                  ó   • \ 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\S'    S\S'    S\S'    S\S'    S\S '    S\S!'   S"rg#)$r   é/   aã  Describes how requests to and responses from specific models or families of models need to be constructed and processed to get the best results, independent of the model and provider classes used.

All fields are optional; absent keys mean "use the documented default" (defaults are documented per field below and applied at access sites).

Subclasses (`OpenAIModelProfile`, `AnthropicModelProfile`, ...) add provider-specific keys; cross-class merging via dict-spread is supported.
ÚboolÚsupports_toolsÚsupports_text_outputÚsupports_tool_return_schemaÚsupports_json_schema_outputÚsupports_json_object_outputÚsupports_image_outputÚsupports_audio_inputÚsupports_inline_system_promptsr   Údefault_structured_output_modeÚstrÚprompted_output_templateÚ-native_output_requires_schema_in_instructionsz"type[JsonSchemaTransformer] | NoneÚjson_schema_transformerÚsupports_thinkingÚthinking_always_enabledr   Úthinking_tagsÚ"ignore_streamed_leading_whitespacez#frozenset[type[AbstractNativeTool]]Úsupported_native_toolsz
int | NoneÚcontext_windowzToolDeferralMode | NoneÚtool_deferral_modezToolAdditionMode | NoneÚtool_addition_modeÚtool_additionsÚ"deferred_tools_require_tool_search© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r8   ó    ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic_ai/profiles/__init__.pyr   r   /   s  ‡ ñð ÓØ<àÓØBà!%Ó%ðð "&Ó%ðð "&Ó%ðð  ÓØDàÓð	ð %)Ó(ðð, %9Ó8ØUà!Ó!ð Ià37Ó7Øeà?Ó?ð BàÓðð
 "Ó!ðð #Ó"ð Zà(,Ó,ðð @Ó?ØqàÓðð 0Ó/ðð 0Ó/ðð ,Ó+ðð )-Ó,òr@   r   F)Útotalc                ób  • SU ;  a  SU ;  a  U $ [        U 5      nSU;   a=  [        R                  " S[        SS9  UR	                  S5      nUR                  SU5        SU;   aB  [        R                  " S[        SS9  UR	                  S5      (       a  UR                  SS	5        [        S
U5      $ )zWTranslate keys renamed after their v2.23 release into their current spellings, warning.r6   r7   zT`ModelProfile` key `tool_additions` is deprecated, use `tool_addition_mode` instead.é   )Ú
stacklevelr5   z{`ModelProfile` key `deferred_tools_require_tool_search` is deprecated, use `tool_deferral_mode='with_tool_search'` instead.r4   r   r   )ÚdictÚwarningsÚwarnr   ÚpopÚ
setdefaultr   )ÚprofileÚ
translatedÚvalues      rA   Ú_translate_legacy_profile_keysrN   Ë   s°   € à˜wÓ&Ð+OÐW^Ó+^ØˆÜ�g“€JØ˜:Ó%Ü�ŠØbÜ(Øò	
ð
 —‘Ð/Ó0ˆØ×ÑÐ2°EÔ:Ø+¨zÓ9Ü�Šð?ä(Øò		
ð �>‰>Ð>×?Ñ?Ø×!Ñ!Ð"6Ð8JÔKÜ� 
Ó+Ð+r@   r!   Tr"   r#   r$   r%   r&   r'   r)   Útoolr+   r,   r-   r.   r/   r0   r1   r2   r3   )r4   r5   r   r   c                óx   • 0 nU (       a  0 UE[        U 5      EnU H  nU(       d  M  0 UE[        U5      EnM     U$ )aV  Merge profiles via dict-spread. Later arguments override earlier ones; `None` is treated as empty.

This is the canonical way to layer profiles in providers and tests; replaces the old `ModelProfile.update()` method.
Deprecated key spellings are translated per input before spreading, so a legacy key in an
override still overrides the base.
)rN   )ÚbaseÚ	overridesÚresultÚoverrides       rA   r   r     sL   € ð €FÞØC�FÐCÔ<¸TÓBÐCˆÛˆßˆ8ØK˜ÐKÔ"@ÀÓ"JÐKŠFñ ð €Mr@   )rK   r   Úreturnr   )rQ   úModelProfile | NonerR   rV   rU   r   )#Ú
__future__r   Ú_annotationsrG   Úcollections.abcr   Útextwrapr   Útypingr   r   r   Útyping_extensionsr	   Ú_json_schemar   r   Ú
exceptionsr   Únative_toolsr   r   Úoutputr   Ú__all__r   r>   r   r   r   r   rN   r   r   r   r8   r@   rA   Ú<module>rb      s¢  ðÞ 2ã Ý $Ý ß +Ñ +å 'ç QÝ 5ß EÝ )ò€ð &Ð&FÑGÐ �)Ó GØ%Ð&HÑIÐ �)Ó Iñ $*ðó$Ð  ð Pà)@Ð �Ó @Ø ]ôY�9 Eò Yôx,ð2!Ø�dð!à˜Dð!ð " 5ð!ð " 5ð	!ð
 " 5ð!ð ˜Uð!ð ˜Eð!ð % fð!ð Ð @ð!ð 4°Uð!ð ˜tð!ð ˜ð!ð ˜uð!ð Ð*ð!ð )¨%ð!ð  Ð4ð!!ð" �dð#!ð$ Øò'!€�ó ð* qð +¨X°~Ð6FÈÐ6VÑ-WÑWÐ �)Ó Wðõr@   