o
    i                     @   s>   d Z ddlmZ ddlmZmZ dedededefdd	Zd
S )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )Enum)AnyOptionalmodel	fieldnamekeyreturnc                    sz      dtdtt f fdd}t| tr)| D ]}||}|dur(|  S q|| }|dur3|S td  d|  )a  
    Recursively search for the discriminator attribute in a model.

    Args:
        model (Any): The model to search within.
        fieldname (str): The name of the field to search for.
        key (str): The key to search for in dictionaries.

    Returns:
        str: The name of the discriminator attribute.

    Raises:
        ValueError: If the discriminator attribute is not found.
    fieldr   c                    sx   t | tr| v r|   S t|  r$t|  }t |tr!|j S | S t| r:t| }t |tr7|j S | S dS )z8Search for the discriminator attribute in a given field.N)
isinstancedicthasattrgetattrr   value)r	   attrr   r   upper_fieldname a/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai/utils/annotations.pyget_field_discriminator   s   







z2get_discriminator.<locals>.get_field_discriminatorNz#Could not find discriminator field z in )upperr   r   strr
   list
ValueError)r   r   r   r   r	   discriminatorr   r   r   get_discriminator   s   
r   N)__doc__enumr   typingr   r   r   r   r   r   r   r   <module>   s    