
    b6i.                        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 j:                  e j<                  d      Z G d d      Z  G d d      Z!y)    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Zdddej                  e   dee	   f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Zy)RawSettingsClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     {/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/conversational_ai/settings/raw_client.py__init__zRawSettingsClient.__init__   
    -    Nrequest_optionsr!   returnc                   | j                   j                  j                  dd|      }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||      S |j                  dk(  rUt        t        |j                        t	        j
                  t        t        t        |j                                     	      |j                         }t        |j                  t        |j                        |
      # t        $ r6 t        |j                  t        |j                        |j                   
      w xY w)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_coder2   r3   )r   httpx_clientrequestr5   typingcastr   r   jsonr	   r   dictr2   r   r   r   textr   r!   	_response_data_response_jsons        r   getzRawSettingsClient.get   s4     ((55== + > 
	
	ti++1c12"< ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AD% A4D% %?E$+conversation_initiation_client_data_webhookwebhookscan_use_mcp_serversrag_retention_period_daysdefault_livekit_stackr!   rC   rD   rE   rF   rG   c                ,   | j                   j                  j                  ddt        |t        d      t        |t
        d      |||dddi|t              }	 d	|j                  cxk  rd
k  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rUt        t        |j                         t        j                  t"        t        t"        |j                                           |j                         }	t'        |j                  t        |j                         |	      # t$        $ r6 t'        |j                  t        |j                         |j(                        w xY w)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rC   rD   rE   rF   rG   content-typeapplication/jsonr'   r:   r2   r!   omitr(   r)   r*   r-   r0   r1   r4   )r   r6   r7   r   r   r   OMITr5   r8   r9   r   r   r:   r	   r   r;   r2   r   r   r   r<   
r   rC   rD   rE   rF   rG   r!   r>   r?   r@   s
             r   updatezRawSettingsClient.updateJ   s{   D ((55== ?fGF%@
 D$7 (;-F)>  2 ,) > 
	,	ti++1c12"< ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AE 5A4E ?F)__name__
__module____qualname__r   r   r8   Optionalr
   r	   r   rA   rS   r   r   boolintr   rU    r   r   r   r      s    .*; . EI-p"(//."A-p	4	5-pd qu4859:>CG;?Pp 6<__El5mPp //.1	Pp
 $__T2Pp $*??3#7Pp  &/?@Pp  8Pp 
4	5Ppr   r   c                   $   e Zd ZdefdZdddej                  e   dee	   f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Zy)AsyncRawSettingsClientr   c                    || _         y r   r   r   s     r   r   zAsyncRawSettingsClient.__init__   r   r   Nr    r!   r"   c                  K   | j                   j                  j                  dd|       d{   }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||      S |j                  d	k(  rUt        t        |j                        t	        j
                  t        t        t        |j                                     
      |j                         }t        |j                  t        |j                        |      7 # t        $ r6 t        |j                  t        |j                        |j                         w xY ww)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-   r0   r1   r4   )r   r6   r7   r5   r8   r9   r   r   r:   r   r   r;   r2   r   r   r   r<   r=   s        r   rA   zAsyncRawSettingsClient.get   sB      ..;;CC + D 
 
	
	ti++1c12"< ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo;
6  	ty'<'<d9K\K\F]dmdrdrss	ts4   ,E4D/E4AD2 E4A4D2 ,E42?E11E4rB   rC   rD   rE   rF   rG   c                J  K   | j                   j                  j                  ddt        |t        d      t        |t
        d      |||dddi|t               d	{   }	 d
|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rUt        t        |j                         t        j                  t"        t        t"        |j                                           |j                         }	t'        |j                  t        |j                         |	      7 # t$        $ r6 t'        |j                  t        |j                         |j(                        w xY ww)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$   rI   rJ   rK   rN   rO   rP   rQ   Nr(   r)   r*   r-   r0   r1   r4   )r   r6   r7   r   r   r   rS   r5   r8   r9   r   r   r:   r   r   r;   r2   r   r   r   r<   rT   s
             r   rU   zAsyncRawSettingsClient.update   s    D ..;;CC ?fGF%@
 D$7 (;-F)>  2 ,) D 
 
	,	ti++1c12"< ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo]
X  	ty'<'<d9K\K\F]dmdrdrss	ts8   AF#EF##AE! >F#?A4E! 3,F#!?F  F#)rV   rW   rX   r   r   r8   rY   r
   r   r   rA   rS   r   r   rZ   r[   r   rU   r\   r   r   r^   r^      s    .*< . EI-p"(//."A-p	9	:-pd qu4859:>CG;?Pp 6<__El5mPp //.1	Pp
 $__T2Pp $*??3#7Pp  &/?@Pp  8Pp 
9	:Ppr   r^   )"r8   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   r9   AnyrS   r   r^   r\   r   r   <module>rp      sf     ( & H A 2 I 7 I 4 h W > 8 v{{6::s#Cp CpLCp Cpr   