
    Cj                        % S SK Jr  S SKJr  S SKJrJr  S SKJrJ	r	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  S S	KJrJr  S S
KJr  S SKJr  SSKJrJ r J!r!J"r"   " S S5      r#\ " S S5      5       r$\\\#4   r\\%\%\-  4   r&S\'S'   \
S   \%-  \$-  S-  r(S\'S'   \ " S S5      5       r)      SS jr*      SS jr+g)    )annotations)Mapping)fieldsreplace)	AnnotatedAnyLiteral	TypeAliascast)Omit)BodyQuery)ResponseIncludable)	Reasoning)GetCoreSchemaHandlerTypeAdapter)	dataclass)core_schema   )ModelRetryBackoffInputModelRetryBackoffSettingsModelRetrySettings_coerce_backoff_settingsc                  4    \ rS rSr\      SS j5       rSrg)_OmitTypeAnnotation   c                <   SS jn[         R                  " [         R                  " 5       [         R                  " U5      /5      n[         R                  " U[         R
                  " [         R                  " [        5      U/5      [         R                  " S 5      S9$ )Nc                    [        5       $ N)_Omit)values    g/home/rurouni/.local/share/pipx/venvs/strix-agent/lib/python3.13/site-packages/agents/model_settings.pyvalidate_from_noneL_OmitTypeAnnotation.__get_pydantic_core_schema__.<locals>.validate_from_none   s	    7N    c                    g r    )instances    r"   <lambda>B_OmitTypeAnnotation.__get_pydantic_core_schema__.<locals>.<lambda>0   s    \`r%   )json_schemapython_schemaserialization)r!   Nonereturnr    )	r   chain_schemanone_schema no_info_plain_validator_functionjson_or_python_schemaunion_schemais_instance_schemar    $plain_serializer_function_ser_schema)cls_source_type_handlerr#   from_none_schemas        r"   __get_pydantic_core_schema__0_OmitTypeAnnotation.__get_pydantic_core_schema__   s    	 '33'')<<=OP
 00(%22  2259$ &JJK`a

 
	
r%   r'   N)r8   r   r9   r   r/   zcore_schema.CoreSchema)__name__
__module____qualname____firstlineno__classmethodr;   __static_attributes__r'   r%   r"   r   r      s0    

 '
 
 	
 
r%   r   c                  *    \ rS rSr% S\S'   S\S'   Srg)MCPToolChoice4   strserver_labelnamer'   N)r=   r>   r?   r@   __annotations__rB   r'   r%   r"   rD   rD   4   s    
Ir%   rD   r
   Headers)autorequirednoneN
ToolChoicec                  ~   \ rS rSr% SrSrS\S'    SrS\S'    SrS\S'    Sr	S\S'    Sr
S	\S
'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS\S'    SrS \S!'    SrS"\S#'    SrS$\S%'    SrS&\S''    S+S( jrS,S) jrS*rg)-ModelSettings?   a+  Settings to use when calling an LLM.

This class holds optional model configuration parameters (e.g. temperature,
top_p, penalties, truncation, etc.).

Not all models/providers support all of these parameters, so please check the API documentation
for the specific model and provider you are using.
Nzfloat | Nonetemperaturetop_pfrequency_penaltypresence_penaltyzToolChoice | Nonetool_choicezbool | Noneparallel_tool_callsz"Literal['auto', 'disabled'] | None
truncationz
int | None
max_tokenszReasoning | None	reasoningz'Literal['low', 'medium', 'high'] | None	verbosityzdict[str, str] | Nonemetadatastorez"Literal['in_memory', '24h'] | Noneprompt_cache_retentioninclude_usagez%list[ResponseIncludable | str] | Noneresponse_includetop_logprobszQuery | Noneextra_queryzBody | None
extra_bodyzHeaders | Noneextra_headerszdict[str, Any] | None
extra_argsModelRetrySettings | Noneretryc                N   Uc  U $ [        U 5       Vs0 s H;  n[        XR                  5      c  M  UR                  [        XR                  5      _M=     nnU R                  c  UR                  bh  0 nU R                  (       a  UR	                  U R                  5        UR                  (       a  UR	                  UR                  5        U(       a  UOSUS'   U R
                  c  UR
                  b#  [        U R
                  UR
                  5      US'   [        U 40 UD6$ s  snf )zhProduce a new ModelSettings by overlaying any non-None values from the
override on top of this instance.Nre   rg   )r   getattrrH   re   updaterg   _merge_retry_settingsr   )selfoverridefieldchangesmerged_argss        r"   resolveModelSettings.resolve   s     K  
%x, 6EJJ**55% 	 
 ??&(*=*=*IK""4??3""""8#6#673>KDGL!::!X^^%?4TZZPGGt'w''%
s
   D"$D"c                r    [        [        [        [        4   [	        [
        5      R                  U SS95      $ )Njson)mode)r   dictrF   r   r   rP   dump_python)rl   s    r"   to_json_dictModelSettings.to_json_dict   s-    DcNK$>$J$J4V\$J$]^^r%   r'   )rm   zModelSettings | Noner/   rP   )r/   zdict[str, Any])r=   r>   r?   r@   __doc__rR   rI   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rg   rq   rx   rB   r'   r%   r"   rP   rP   ?   sn    !%K$8E<2&*|*>%)l)=%)K")8'++ 6:J29
 "J
!:"&I& :>I6= '+H#*;E;> BF>Ed
 "&M;%0 ?C;Bu  $L*#Q !%K$) #J") %)M>() )-J%,B (,E$+?(4_r%   rP   c                F   U c  U$ Uc  U $ [        U R                  UR                  5      n[        U 5       Vs0 s HM  nUR                  S:w  d  M  [	        XR                  5      c  M-  UR                  [	        XR                  5      _MO     nn[        U 40 UDSU0D6$ s  snf )Nbackoff)_merge_backoff_settingsr|   r   rH   ri   r   )	inheritedrm   merged_backoffrn   retry_changess        r"   rk   rk      s     ,Y->->@P@PQN I&&E::" 	2'.x'D 	2

GHjj11&  
 9FF~FFs   BB($Bc                   [        U 5      n [        U5      nU c  U$ Uc  U $ [        U 5       Vs0 s H;  n[        XR                  5      c  M  UR                  [        XR                  5      _M=     nn[	        U 40 UD6$ s  snf r   )r   r   ri   rH   r   )r~   rm   rn   ro   s       r"   r}   r}      s     )3I'1H I&&E8ZZ( 	2

GHjj11&  
 9(((s   A>$A>)r~   rf   rm   rf   r/   rf   )r~   ModelRetryBackoffInput | Nonerm   r   r/   z ModelRetryBackoffSettings | None),
__future__r   collections.abcr   dataclassesr   r   typingr   r   r	   r
   r   openair   r    openai._typesr   r   openai.types.responsesr   openai.types.sharedr   pydanticr   r   pydantic.dataclassesr   pydantic_corer   rg   r   r   r   r   r   rD   rF   rJ   rI   rN   rP   rk   r}   r'   r%   r"   <module>r      s   " # ' ; ;   % 5 ) 6 * % 
 
:   
 ++,S#*_- - :;cAMQTXX
I X @_ @_ @_FG(G'G G$),)+) &)r%   