o
    id                     @   s`   d dl Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	m
Z
 G dd	 d	ZG d
d dZdS )    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)AgentThinkModelsV1Response   )AsyncRawModelsClientRawModelsClientc                   @   J   e Zd ZdefddZedefddZddd	ej	e
 defd
dZdS )ModelsClientclient_wrapperc                C      t |d| _d S N)r   )r	   _raw_clientselfr    r   b/home/ubuntu/.local/lib/python3.10/site-packages/deepgram/agent/v1/settings/think/models/client.py__init__      zModelsClient.__init__returnc                 C      | j S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawModelsClient
        r   r   r   r   r   with_raw_response      	zModelsClient.with_raw_responseNrequest_optionsr   c                C   s   | j j|d}|jS )a/  
        Retrieves the available think models that can be used for AI agent processing

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AgentThinkModelsV1Response
            List of available think models

        Examples
        --------
        from deepgram import DeepgramClient

        client = DeepgramClient(
            api_key="YOUR_API_KEY",
        )
        client.agent.v1.settings.think.models.list()
        r   r   listdatar   r   	_responser   r   r   r      s   zModelsClient.list)__name__
__module____qualname__r   r   propertyr	   r   typingOptionalr   r   r   r   r   r   r   r      
    "
r   c                   @   r
   )AsyncModelsClientr   c                C   r   r   )r   r   r   r   r   r   r   6   r   zAsyncModelsClient.__init__r   c                 C   r   )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawModelsClient
        r   r   r   r   r   r   9   r   z#AsyncModelsClient.with_raw_responseNr   r   c                   s   | j j|dI dH }|jS )a  
        Retrieves the available think models that can be used for AI agent processing

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AgentThinkModelsV1Response
            List of available think models

        Examples
        --------
        import asyncio

        from deepgram import AsyncDeepgramClient

        client = AsyncDeepgramClient(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.agent.v1.settings.think.models.list()


        asyncio.run(main())
        r   Nr   r!   r   r   r   r   D   s   zAsyncModelsClient.list)r#   r$   r%   r   r   r&   r   r   r'   r(   r   r   r   r   r   r   r   r*   5   r)   r*   )r'   core.client_wrapperr   r   core.request_optionsr   #types.agent_think_models_v1responser   
raw_clientr   r	   r   r*   r   r   r   r   <module>   s   *