
    Ah                     T    S SK Jr  S\S\\\4   S\4S jrS\S\4S jrS\S\4S jrg	)
    )Anyschemadefinitionsreturnc                    [        U [        5      (       a#  [        U 5       H  u  p#[        X15      X'   M     U $ [        U [        5      (       at  SU ;   aH  U R                  S5      R                  S5      S   nUR                  U0 5      nU R                  U5        U $ U R                  5        H  u  pg[        Xq5      X'   M     U $ )zO
Resolve the $ref keys in a JSON schema object using the provided definitions.
z$ref/)

isinstancelist	enumerate_resolve_schema_referencesdictpopsplitgetupdateitems)r   r   iitemref_keyrefkeyvalues           _/var/www/html/shao/venv/lib/python3.13/site-packages/langchain/chains/openai_functions/utils.pyr   r      s     &$ (GA24EFI ) M 
FD	!	!Vjj(..s3B7G//'2.CMM# M %lln
8L -M    c                     U S   R                  5        VVs0 sH  u  pUSU0UE_M     nnnSUU R                  S/ 5      S.$ s  snnf )N
propertiestitleobjectrequired)typer   r    )r   r   )r   kvpropss       r   _convert_schemar%      s[    .4\.B.H.H.JK.JdaQ!!q!!.JEKJJz2.  Ls   Afunctionc                     U /SU S   0S.$ )zReturn the kwargs for the LLMChain constructor.

Args:
    function: The function to use.

Returns:
    The kwargs for the LLMChain constructor.
name)	functionsfunction_call )r&   s    r   get_llm_kwargsr,      s     #vx?O6PQQr   N)typingr   r   strr   r%   r,   r+   r   r   <module>r/      sS    s c3h C $D T 	RT 	Rd 	Rr   