o
    lWi.                     @   s   d dl Z d dlmZ ddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ e e jdZG dd dZ G dd dZ!dS )    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)RequestOptions)'convert_and_respect_annotation_metadata)construct_type)UnprocessableEntityError)ConvAiWebhooks)'ConversationInitiationClientDataWebhook)GetConvAiSettingsResponseModel)HttpValidationError)LivekitStackType.c                   @      e Zd ZdefddZdddeje dee	 fdd	Z
eeeeedd
deje deje deje deje deje deje dee	 fddZdS )RawSettingsClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r   t/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/conversational_ai/settings/raw_client.py__init__      
zRawSettingsClient.__init__Nrequest_optionsr    returnc             	   C   s   | j jjdd|d}z>d|j  krdk r+n ntttt| d}t	||dW S |jdkrCt
t|jtttt| dd	| }W n ty[   t|jt|j|jd
w t|jt|j|d
)a?  
        Retrieve Convai settings for the workspace

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

        Returns
        -------
        HttpResponse[GetConvAiSettingsResponseModel]
            Successful Response
        v1/convai/settingsGETmethodr       ,  type_object_responsedata  headersbodystatus_coder0   r1   )r   httpx_clientrequestr3   typingcastr   r   jsonr   r   dictr0   r   r   r   textr   r    	_response_data_response_jsonr   r   r   get   s>   

zRawSettingsClient.get+conversation_initiation_client_data_webhookwebhookscan_use_mcp_serversrag_retention_period_daysdefault_livekit_stackr    rA   rB   rC   rD   rE   c          
   	   C   s   | j jjddt|tddt|tdd|||dddi|td}z>d	|j  kr+d
k r@n nt	t
tt
| d}t||dW S |jdkrXtt|jt	ttt| dd| }	W n typ   t|jt|j|jdw t|jt|j|	d)a  
        Update Convai settings for the workspace

        Parameters
        ----------
        conversation_initiation_client_data_webhook : typing.Optional[ConversationInitiationClientDataWebhook]

        webhooks : typing.Optional[ConvAiWebhooks]

        can_use_mcp_servers : typing.Optional[bool]
            Whether the workspace can use MCP servers

        rag_retention_period_days : typing.Optional[int]

        default_livekit_stack : typing.Optional[LivekitStackType]

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

        Returns
        -------
        HttpResponse[GetConvAiSettingsResponseModel]
            Successful Response
        r"   PATCHwriter*   
annotation	directionrA   rB   rC   rD   rE   content-typeapplication/jsonr%   r8   r0   r    omitr&   r'   r(   r+   r.   r/   r2   )r   r4   r5   r
   r   r   OMITr3   r6   r7   r   r   r8   r   r   r9   r0   r   r   r   r:   
r   rA   rB   rC   rD   rE   r    r<   r=   r>   r   r   r   updateJ   s\   "

zRawSettingsClient.update)__name__
__module____qualname__r   r   r6   Optionalr	   r   r   r?   rP   r   r   boolintr   rR   r   r   r   r   r      :    
2	r   c                   @   r   )AsyncRawSettingsClientr   c                C   r   r   r   r   r   r   r   r      r   zAsyncRawSettingsClient.__init__Nr   r    r!   c             	      s   | j jjdd|dI dH }z>d|j  krdk r/n ntttt| d}t	||dW S |jd	krGt
t|jtttt| dd
| }W n ty_   t|jt|j|jdw t|jt|j|d)aD  
        Retrieve Convai settings for the workspace

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

        Returns
        -------
        AsyncHttpResponse[GetConvAiSettingsResponseModel]
            Successful Response
        r"   r#   r$   Nr&   r'   r(   r+   r.   r/   r2   )r   r4   r5   r3   r6   r7   r   r   r8   r   r   r9   r0   r   r   r   r:   r;   r   r   r   r?      s@   

zAsyncRawSettingsClient.getr@   rA   rB   rC   rD   rE   c          
   	      s   | j jjddt|tddt|tdd|||dddi|tdI d	H }z>d
|j  kr/dk rDn nt	t
tt
| d}t||dW S |jdkr\tt|jt	ttt| dd| }	W n tyt   t|jt|j|jdw t|jt|j|	d)a  
        Update Convai settings for the workspace

        Parameters
        ----------
        conversation_initiation_client_data_webhook : typing.Optional[ConversationInitiationClientDataWebhook]

        webhooks : typing.Optional[ConvAiWebhooks]

        can_use_mcp_servers : typing.Optional[bool]
            Whether the workspace can use MCP servers

        rag_retention_period_days : typing.Optional[int]

        default_livekit_stack : typing.Optional[LivekitStackType]

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

        Returns
        -------
        AsyncHttpResponse[GetConvAiSettingsResponseModel]
            Successful Response
        r"   rF   rG   rH   rK   rL   rM   rN   Nr&   r'   r(   r+   r.   r/   r2   )r   r4   r5   r
   r   r   rP   r3   r6   r7   r   r   r8   r   r   r9   r0   r   r   r   r:   rQ   r   r   r   rR      s^   "

zAsyncRawSettingsClient.update)rS   rT   rU   r   r   r6   rV   r	   r   r   r?   rP   r   r   rW   rX   r   rR   r   r   r   r   rZ      rY   rZ   )"r6   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r   core.request_optionsr	   core.serializationr
   core.unchecked_base_modelr   !errors.unprocessable_entity_errorr   types.conv_ai_webhooksr   1types.conversation_initiation_client_data_webhookr   )types.get_conv_ai_settings_response_modelr   types.http_validation_errorr   types.livekit_stack_typer   r7   AnyrP   r   rZ   r   r   r   r   <module>   s$    