
    >|hQ                    6   d dl 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 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$ 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/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: dd l;m<Z< dd!l=m>Z> dd"l?m@Z@ dd#lAmBZB dd$lCmDZD dd%lEmFZF dd&lGmHZH dd'lImJZJ dd(lmKZK  e j                  e j                  d)      ZN G d* d+      ZO G d, d-      ZPy).    N   )SyncClientWrapper)RequestOptions)"ConversationSignedUrlResponseModel)construct_type)UnprocessableEntityError)HttpValidationError)JSONDecodeError)ApiError)ConversationalConfigApiModel)!AgentPlatformSettingsRequestModel)CreateAgentResponseModel)'convert_and_respect_annotation_metadata)GetAgentResponseModel)jsonable_encoder)GetAgentEmbedResponseModel)GetAgentLinkResponseModel)core)PostAgentAvatarResponseModel)AddAgentSecretResponseModel)GetAgentsPageResponseModel)EvaluationSuccessResult)!GetConversationsPageResponseModel)GetConversationResponseModel)UserFeedbackScore)CreatePhoneNumberResponseModel)GetPhoneNumberResponseModel)!GetKnowledgeBaseListResponseModel)AddKnowledgeBaseResponseModel)EmbeddingModelEnum)RagIndexResponseModel)GetKnowledgeBaseResponseModel),GetKnowledgeBaseDependentAgentsResponseModel)GetConvAiSettingsResponseModel)'ConversationInitiationClientDataWebhook)ConvAiWebhooks) GetWorkspaceSecretsResponseModel) PostWorkspaceSecretResponseModel)AsyncClientWrapper.c                      e Zd ZdefdZdddedej                  e   de	fdZ
deedd	d
edej                  e   dej                  e   dej                  e   dej                  e   defdZdddedej                  e   defdZdddedej                  e   dej                  ej&                     fdZdeeedddedej                  e   d
ej                  ej*                  eej                  ej&                     f      dej                  ej*                  eej                  ej&                     f      dej                  e   dej                  e   defdZddddedej                  e   dej                  e   defdZdddedej                  e   defdZdddedej8                  dej                  e   defdZdddedededej                  e   def
dZ ddddddej                  e   dej                  e!   dej                  e   dej                  e   de"f
dZ#dddddd dej                  e   dej                  e   d!ej                  e$   dej                  e!   dej                  e   de%fd"Z&ddd#edej                  e   de'fd$Z(ddd#edej                  e   dej                  ej&                     fd%Z)ddd#edej                  e   ddfd&Z*ddd#ed'e+dej                  e   dej                  ej&                     fd(Z,ddd)ed*ed+ed,edej                  e   de-fd-Z.ddd.edej                  e   de/fd/Z0ddd.edej                  e   dej                  ej&                     fd0Z1edd1d.edej                  e   dej                  e   de/fd2Z2dddej                  e   dejf                  e/   fd3Z4ddddddd4dej                  e   dej                  e!   dej                  e   d5ej                  e   d6ej                  e   dej                  e   de5fd7Z6eeedd8dej                  e   d9ej                  e   d:ej                  ej8                     dej                  e   de7f
d;Z8ddd<d=ed>e9d?ej                  e   dej                  e   de:f
d@Z;ddd=edej                  e   de<fdAZ=ddd=edej                  e   dej                  ej&                     fdBZ>ddddCd=edej                  e   dej                  e!   dej                  e   de?f
dDZ@dddej                  e   deAfdEZBeeddFdGej                  eC   dHej                  eD   dej                  e   deAfdIZEdddej                  e   deFfdJZGdddedKedej                  e   deHfdLZIdddMedej                  e   ddfdNZJy)OConversationalAiClientclient_wrapperc                    || _         y N_client_wrapperselfr,   s     b/var/www/html/test/engine/venv/lib/python3.12/site-packages/elevenlabs/conversational_ai/client.py__init__zConversationalAiClient.__init__0   
    -    Nrequest_optionsagent_idr8   returnc          
      @   | j                   j                  j                  ddd|i|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      # t        $ r" t        |j                  |j                  	      w xY w)
a  
        Get a signed url to start a conversation with an agent with an agent that requires authorization

        Parameters
        ----------
        agent_id : str
            The id of the agent you're taking the action on.

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

        Returns
        -------
        ConversationSignedUrlResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_signed_url(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        %v1/convai/conversation/get_signed_urlGETr9   methodparamsr8      ,  type_object_  status_codebodyr0   httpx_clientrequestrH   typingcastr   r   jsonr   r	   r
   r   textr2   r9   r8   	_response_response_jsons        r3   get_signed_urlz%ConversationalAiClient.get_signed_url3   s
   < ((55==3H , > 
		Si++1c1{{6"@ ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AC2 <AC2 2+Duse_tool_idsplatform_settingsnamer8   conversation_configrV   rW   rX   c                   | j                   j                  j                  ddd|it        |t        d      t        |t
        d      |dddi|t        	      }	 d
|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t!        |j                  |      # t        $ r" t!        |j                  |j"                        w xY w)ab  
        Create an agent from a config object

        Parameters
        ----------
        conversation_config : ConversationalConfigApiModel
            Conversation configuration for an agent

        use_tool_ids : typing.Optional[bool]
            Use tool ids instead of tools specs from request payload.

        platform_settings : typing.Optional[AgentPlatformSettingsRequestModel]
            Platform settings for the agent are all settings that aren't related to the conversation orchestration and content.

        name : typing.Optional[str]
            A name to make the agent easier to find

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

        Returns
        -------
        CreateAgentResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ConversationalConfigApiModel, ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.create_agent(
            conversation_config=ConversationalConfigApiModel(),
        )
        v1/convai/agents/createPOSTrV   writerE   
annotation	directionrY   rW   rX   content-typeapplication/jsonr?   r@   rO   headersr8   omitrA   rB   rC   rF   rG   r0   rK   rL   r   r   r   OMITrH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   rY   rV   rW   rX   r8   rR   rS   s           r3   create_agentz#ConversationalAiClient.create_agentq   sM   Z ((55==% (O/<Xdk( &M-:[gn&   2 ,' > 
	*	Si++1c1{{,"6 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD )AD +E
c          
      R   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	ar  
        Retrieve config for an agent

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        GetAgentResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_agent(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        v1/convai/agents/r=   r?   r8   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   rQ   s        r3   	get_agentz ConversationalAiClient.get_agent   s   < ((55== 0 :;<+ > 
	
	Si++1c1{{)"3 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   AC; AC; ;+D&c          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	an  
        Delete an agent

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.delete_agent(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        rl   DELETErm   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   OptionalAnyr   rO   r   r	   r
   r   rP   rQ   s        r3   delete_agentz#ConversationalAiClient.delete_agent  s&   < ((55== 0 :;<+ > 
	
	Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   BD1 ;AD1 1+ErV   rY   rW   rX   r8   c          
      r   | j                   j                  j                  dt        |       dd|i|||dddi|t              }	 d|j
                  cxk  rd	k  r:n n7t        j                  t        t        t        |j                         
            S |j
                  dk(  r@t        t        j                  t        t        t        |j                         
                  |j                         }t        |j
                  |      # t        $ r" t        |j
                  |j                        w xY w)a  
        Patches an Agent settings

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        use_tool_ids : typing.Optional[bool]
            Use tool ids instead of tools specs from request payload.

        conversation_config : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
            Conversation configuration for an agent

        platform_settings : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
            Platform settings for the agent are all settings that aren't related to the conversation orchestration and content.

        name : typing.Optional[str]
            A name to make the agent easier to find

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

        Returns
        -------
        GetAgentResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.update_agent(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        rl   PATCHrV   ra   rb   rc   rd   rA   rB   rC   rF   rG   r0   rK   rL   r   rh   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   	r2   r9   rV   rY   rW   rX   r8   rR   rS   s	            r3   update_agentz#ConversationalAiClient.update_agentA  s9   b ((55== 0 :;< (;%6  2 , > 
	"	Si++1c1{{)"3 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD AD +D6conversation_signaturer8   r   c          
      Z   | j                   j                  j                  dt        |       ddd|i|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |
      # t        $ r" t        |j                  |j                  
      w xY w)ai  
        Retrieve the widget configuration for an agent

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        conversation_signature : typing.Optional[str]
            An expiring token that enables a conversation to start. These can be generated for an agent using the /v1/convai/conversation/get_signed_url endpoint

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

        Returns
        -------
        GetAgentEmbedResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_agent_widget(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        rl   /widgetr=   r   r>   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r9   r   r8   rR   rS   s         r3   get_agent_widgetz'ConversationalAiClient.get_agent_widget  s   J ((55== 0 :;7C(*@ , > 
		Si++1c1{{."8 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AC? 	AC? ?+D*c          
      T   | j                   j                  j                  dt        |       dd|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      # t        $ r" t        |j                  |j                  	      w xY w)
a  
        Get the current link used to share the agent with others

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        GetAgentLinkResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_agent_link(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        rl   /linkr=   rm   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   rQ   s        r3   get_agent_linkz%ConversationalAiClient.get_agent_link  s   < ((55== 0 :;5A+ > 
	
	Si++1c1{{-"7 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   AC< AC< <+D'avatar_filec          
      f   | j                   j                  j                  dt        |       ddi d|i|t              }	 d|j
                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j
                  d	k(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j
                  |
      # t        $ r" t        |j
                  |j                  
      w xY w)a  
        Sets the avatar for an agent displayed in the widget

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        avatar_file : core.File
            See core.File for more documentation

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

        Returns
        -------
        PostAgentAvatarResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.post_agent_avatar(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        rl   /avatarr\   r   r?   datafilesr8   rf   rA   rB   rC   rF   rG   r0   rK   rL   r   rh   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r9   r   r8   rR   rS   s         r3   post_agent_avatarz(ConversationalAiClient.post_agent_avatar  s!   B ((55== 0 :;7C{ , > 	
		Si++1c1{{0": ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss    AD AD +D0secret_valuec          
      l   | j                   j                  j                  dt        |       dd||dddi|t              }	 d|j
                  cxk  rd	k  r:n n7t        j                  t        t        t        |j                         
            S |j
                  dk(  r@t        t        j                  t        t        t        |j                         
                  |j                         }t        |j
                  |      # t        $ r" t        |j
                  |j                        w xY w)a  
        Uploads a file or reference a webpage for the agent to use as part of it's knowledge base

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        name : str
            A name to help identify a particular agent secret

        secret_value : str
            A value to be encrypted and used by the agent

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

        Returns
        -------
        AddAgentSecretResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.add_agent_secret(
            agent_id="21m00Tcm4TlvDq8ikWAM",
            name="MY API KEY",
            secret_value="sk_api_12354abc",
        )
        rl   /add-secretr\   rX   r   rb   rc   r?   rO   re   r8   rf   rA   rB   rC   rF   rG   r0   rK   rL   r   rh   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r9   rX   r   r8   rR   rS   s          r3   add_agent_secretz'ConversationalAiClient.add_agent_secret^  s,   L ((55== 0 :;;G ,
  2 , > 
		Si++1c1{{/"9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD AD +D3cursor	page_sizesearchr8   r   r   r   c          
      D   | j                   j                  j                  dd|||d|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      # t        $ r" t        |j                  |j                  	      w xY w)
a9  
        Returns a page of your agents and their metadata.

        Parameters
        ----------
        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        page_size : typing.Optional[int]
            How many Agents to return at maximum. Can not exceed 100, defaults to 30.

        search : typing.Optional[str]
            Search by agents name.

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

        Returns
        -------
        GetAgentsPageResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_agents()
        v1/convai/agentsr=   r   r   r   r>   rA   rB   rC   rF   rG   r0   rK   rL   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r   r   r   r8   rR   rS   s          r3   
get_agentsz!ConversationalAiClient.get_agents  s   N ((55== & 
 , > 	
		Si++1c1{{."8 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AC4 >AC4 4+Dr   r9   call_successfulr   r8   r   c          
      F   | j                   j                  j                  dd||||d|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      # t        $ r" t        |j                  |j                  	      w xY w)
a@  
        Get all conversations of agents that user owns. With option to restrict to a specific agent.

        Parameters
        ----------
        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        agent_id : typing.Optional[str]
            The id of the agent you're taking the action on.

        call_successful : typing.Optional[EvaluationSuccessResult]
            The result of the success evaluation

        page_size : typing.Optional[int]
            How many conversations to return at maximum. Can not exceed 100, defaults to 30.

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

        Returns
        -------
        GetConversationsPageResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_conversations(
            agent_id="21m00Tcm4TlvDq8ikWAM",
        )
        v1/convai/conversationsr=   r   r9   r   r   r>   rA   rB   rC   rF   rG   r0   rK   rL   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r   r9   r   r   r8   rR   rS   s           r3   get_conversationsz(ConversationalAiClient.get_conversations  s   Z ((55==% $#2&	 , > 

		Si++1c1{{5"? ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AC5 ?AC5 5+D conversation_idc          
      R   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Get the details of a particular conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

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

        Returns
        -------
        GetConversationResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_conversation(
            conversation_id="21m00Tcm4TlvDq8ikWAM",
        )
        v1/convai/conversations/r=   rm   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r   r8   rR   rS   s        r3   get_conversationz'ConversationalAiClient.get_conversationB  s   < ((55==&'7'H&IJ+ > 
	
	Si++1c1{{0": ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srp   c          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Delete a particular conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.delete_conversation(
            conversation_id="21m00Tcm4TlvDq8ikWAM",
        )
        r   rr   rm   rA   rB   rC   rF   rG   rs   r   s        r3   delete_conversationz*ConversationalAiClient.delete_conversation}  &   < ((55==&'7'H&IJ+ > 
	
	Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srw   c          
         | j                   j                  j                  dt        |       dd|      }	 d|j                  cxk  rdk  ry |j                  dk(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j                  |
      # t        $ r" t        |j                  |j                  
      w xY w)at  
        Get the audio recording of a particular conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

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

        Returns
        -------
        None

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_conversation_audio(
            conversation_id="21m00Tcm4TlvDq8ikWAM",
        )
        r   /audior=   rm   rA   rB   NrF   rC   rG   r0   rK   rL   r   rH   r   rM   rN   r	   r   rO   r
   r   rP   r   s        r3   get_conversation_audioz-ConversationalAiClient.get_conversation_audio  s    : ((55==&'7'H&IP+ > 
	
	Si++1c1 2$$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   C A C +C/feedbackc          
         | j                   j                  j                  dt        |       ddd|iddi|t              }	 d|j
                  cxk  rd	k  rpn nmt        j                  t        j                  t        j                     t        t        j                  t        j                     |j                         
            S |j
                  dk(  r@t        t        j                  t        t        t        |j                         
                  |j                         }t        |j
                  |      # t        $ r" t        |j
                  |j                         w xY w)a@  
        Send the feedback for the given conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

        feedback : UserFeedbackScore
            Either 'like' or 'dislike' to indicate the feedback for the conversation.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.post_conversation_feedback(
            conversation_id="21m00Tcm4TlvDq8ikWAM",
            feedback="like",
        )
        r   	/feedbackr\   r   rb   rc   r   rA   rB   rC   rF   rG   r0   rK   rL   r   rh   rH   rM   rN   rt   ru   r   rO   r   r	   r
   r   rP   r2   r   r   r8   rR   rS   s         r3   post_conversation_feedbackz1ConversationalAiClient.post_conversation_feedback  sE   L ((55==&'7'H&ISH  2 , > 
		Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   BD= AD= =+E(phone_numberlabelsidtokenc          
      X   | j                   j                  j                  dd||||ddddi|t              }	 d|j                  cxk  rd	k  r:n n7t        j                  t        t        t        |j                         
            S |j                  dk(  r@t        t        j                  t        t        t        |j                         
                  |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)aY  
        Import Phone Number from Twilio configuration

        Parameters
        ----------
        phone_number : str
            Phone number

        label : str
            Label for the phone number

        sid : str
            Twilio Account SID

        token : str
            Twilio Auth Token

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

        Returns
        -------
        CreatePhoneNumberResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.create_phone_number(
            phone_number="phone_number",
            label="label",
            sid="sid",
            token="token",
        )
        v1/convai/phone-numbers/creater\   twilior   r   r   r   providerrb   rc   r   rA   rB   rC   rF   rG   r0   rK   rL   rh   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r   r   r   r   r8   rR   rS   s           r3   create_phone_numberz*ConversationalAiClient.create_phone_number6  s%   ` ((55==, ,$  2 , > 
	 	Si++1c1{{2"< ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AC> AC> >+D)phone_number_idc          
      R   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Retrieve Phone Number details by ID

        Parameters
        ----------
        phone_number_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        GetPhoneNumberResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_phone_number(
            phone_number_id="TeaqRRdTcIfIu2i7BYfT",
        )
        v1/convai/phone-numbers/r=   rm   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r   r8   rR   rS   s        r3   get_phone_numberz'ConversationalAiClient.get_phone_number  s   < ((55==&'7'H&IJ+ > 
	
	Si++1c1{{/"9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srp   c          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Delete Phone Number by ID

        Parameters
        ----------
        phone_number_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.delete_phone_number(
            phone_number_id="TeaqRRdTcIfIu2i7BYfT",
        )
        r   rr   rm   rA   rB   rC   rF   rG   rs   r   s        r3   delete_phone_numberz*ConversationalAiClient.delete_phone_number  r   rw   r9   r8   c          
      h   | j                   j                  j                  dt        |       dd|iddi|t              }	 d|j
                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j
                  d
k(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j
                  |      # t        $ r" t        |j
                  |j                        w xY w)a  
        Update Phone Number details by ID

        Parameters
        ----------
        phone_number_id : str
            The id of an agent. This is returned on agent creation.

        agent_id : typing.Optional[str]

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

        Returns
        -------
        GetPhoneNumberResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.update_phone_number(
            phone_number_id="TeaqRRdTcIfIu2i7BYfT",
        )
        r   rz   r9   rb   rc   r   rA   rB   rC   rF   rG   r0   rK   rL   r   rh   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   r   r9   r8   rR   rS   s         r3   update_phone_numberz*ConversationalAiClient.update_phone_number  s)   H ((55==&'7'H&IJH  2 , > 
		Si++1c1{{/"9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD AD +D1c          
      ~   | j                   j                  j                  dd|      }	 d|j                  cxk  rdk  r\n nYt	        j
                  t        j                  t           t        t        j                  t           |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Retrieve all Phone Numbers

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

        Returns
        -------
        typing.List[GetPhoneNumberResponseModel]
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_phone_numbers()
        r   r=   rm   rA   rB   rC   rF   rG   r0   rK   rL   rH   rM   rN   Listr   r   rO   r   r	   r
   r   rP   r2   r8   rR   rS   s       r3   get_phone_numbersz(ConversationalAiClient.get_phone_numbersL  s   2 ((55==&+ > 
	
	Si++1c1{{KK ;<"$kk*EF ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   A0D AD +D<r   r   r   show_only_owned_documentsuse_typesenser8   r   r   c          
      H   | j                   j                  j                  dd|||||d|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      # t        $ r" t        |j                  |j                  	      w xY w)
a  
        Get a list of available knowledge base documents

        Parameters
        ----------
        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        page_size : typing.Optional[int]
            How many documents to return at maximum. Can not exceed 100, defaults to 30.

        search : typing.Optional[str]
            If specified, the endpoint returns only such knowledge base documents whose names start with this string.

        show_only_owned_documents : typing.Optional[bool]
            If set to true, the endpoint will return only documents owned by you (and not shared from somebody else).

        use_typesense : typing.Optional[bool]
            If set to true, the endpoint will use typesense DB to search for the documents).

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

        Returns
        -------
        GetKnowledgeBaseListResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_knowledge_base_list()
        v1/convai/knowledge-baser=   r   r   r   r   r   r>   rA   rB   rC   rF   rG   r0   rK   rL   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   	r2   r   r   r   r   r   r8   rR   rS   s	            r3   get_knowledge_base_listz.ConversationalAiClient.get_knowledge_base_list  s   ^ ((55==& & -F!. , > 
		Si++1c1{{5"? ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AC6  AC6 6+D!rX   urlfiler8   r   r   c          
      R   | j                   j                  j                  dd||dd|i|t              }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |
      # t        $ r" t        |j                  |j                  
      w xY w)ay  
        Uploads a file or reference a webpage to use as part of the shared knowledge base

        Parameters
        ----------
        name : typing.Optional[str]
            A custom, human-readable name for the document.

        url : typing.Optional[str]
            URL to a page of documentation that the agent will have access to in order to interact with users.

        file : typing.Optional[core.File]
            See core.File for more documentation

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

        Returns
        -------
        AddKnowledgeBaseResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.add_to_knowledge_base()
        r   r\   rX   r   r   r   rA   rB   rC   rF   rG   r0   rK   rL   rh   rH   rM   rN   r   r   rO   r   r	   r
   r   rP   r2   rX   r   r   r8   rR   rS   s          r3   add_to_knowledge_basez,ConversationalAiClient.add_to_knowledge_base  s   N ((55==&
  , > 
		Si++1c1{{1"; ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srp   force_reindexr8   documentation_idmodelr   c          
      p   | j                   j                  j                  dt        |       ddd|id|iddi|t              }	 d	|j
                  cxk  rd
k  r:n n7t        j                  t        t        t        |j                                     S |j
                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j
                  |      # t        $ r" t        |j
                  |j                        w xY w)a  
        In case the document is not RAG indexed, it triggers rag indexing task, otherwise it just returns the current status.

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

        model : EmbeddingModelEnum

        force_reindex : typing.Optional[bool]
            In case the document is indexed and for some reason you want to reindex it, set this param as true.

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

        Returns
        -------
        RagIndexResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.rag_index_status(
            documentation_id="21m00Tcm4TlvDq8ikWAM",
            model="e5_mistral_7b_instruct",
        )
        v1/convai/knowledge-base/
/rag-indexr\   r   r   rb   rc   rd   rA   rB   rC   rF   rG   r0   rK   rL   r   rh   rH   rM   rN   r!   r   rO   r   r	   r
   r   rP   r2   r   r   r   r8   rR   rS   s          r3   rag_index_statusz'ConversationalAiClient.rag_index_status!  s8   R ((55=='(89I(J'K:V   2 , > 
		Si++1c1{{)"3 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD
 AD
 
+D5c          
      R   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Get details about a specific documentation making up the agent's knowledge base

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

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

        Returns
        -------
        GetKnowledgeBaseResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_knowledge_base_document_by_id(
            documentation_id="21m00Tcm4TlvDq8ikWAM",
        )
        r   r=   rm   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r"   r   rO   r   r	   r
   r   rP   r2   r   r8   rR   rS   s        r3   !get_knowledge_base_document_by_idz8ConversationalAiClient.get_knowledge_base_document_by_idq  s   < ((55=='(89I(J'KL+ > 
	
	Si++1c1{{1"; ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srp   c          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Delete a document from the knowledge base

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.delete_knowledge_base_document(
            documentation_id="21m00Tcm4TlvDq8ikWAM",
        )
        r   rr   rm   rA   rB   rC   rF   rG   rs   r   s        r3   delete_knowledge_base_documentz5ConversationalAiClient.delete_knowledge_base_document  s'   < ((55=='(89I(J'KL+ > 
	
	Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Srw   r   r   r8   c          
      \   | j                   j                  j                  dt        |       dd||d|      }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |
      # t        $ r" t        |j                  |j                  
      w xY w)a  
        Get a list of agents depending on this knowledge base document

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        page_size : typing.Optional[int]
            How many documents to return at maximum. Can not exceed 100, defaults to 30.

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

        Returns
        -------
        GetKnowledgeBaseDependentAgentsResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_dependent_agents(
            documentation_id="21m00Tcm4TlvDq8ikWAM",
        )
        r   /dependent-agentsr=   r   r   r>   rA   rB   rC   rF   rG   r0   rK   rL   r   rH   rM   rN   r#   r   rO   r   r	   r
   r   rP   r2   r   r   r   r8   rR   rS   s          r3   get_dependent_agentsz+ConversationalAiClient.get_dependent_agents  s   R ((55=='(89I(J'KK\] & , > 
		Si++1c1{{@"J ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD  
AD   +D+c          
      :   | j                   j                  j                  dd|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Retrieve Convai settings for the workspace

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

        Returns
        -------
        GetConvAiSettingsResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_settings()
        v1/convai/settingsr=   rm   rA   rB   rC   rF   rG   r0   rK   rL   rH   rM   rN   r$   r   rO   r   r	   r
   r   rP   r   s       r3   get_settingsz#ConversationalAiClient.get_settings1  s    2 ((55== + > 
	
	Si++1c1{{2"< ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   AC/ 9AC/ /+D+conversation_initiation_client_data_webhookwebhooksr8   r  r  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  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t!        |j                  |      # t        $ r" 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]

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

        Returns
        -------
        GetConvAiSettingsResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.update_settings()
        r  rz   r]   r^   r  r  rb   rc   r   rA   rB   rC   rF   rG   r0   rK   rL   r   r%   r&   rh   rH   rM   rN   r$   r   rO   r   r	   r
   r   rP   r2   r  r  r8   rR   rS   s         r3   update_settingsz&ConversationalAiClient.update_settingsg  s:   B ((55== ?fGF%@
 D$7	  2 ,# > 
	&	Si++1c1{{2"< ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   AD %AD +Ec          
      :   | j                   j                  j                  dd|      }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)	a  
        Get all workspace secrets for the user

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

        Returns
        -------
        GetWorkspaceSecretsResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.get_secrets()
        v1/convai/secretsr=   rm   rA   rB   rC   rF   rG   r0   rK   rL   rH   rM   rN   r'   r   rO   r   r	   r
   r   rP   r   s       r3   get_secretsz"ConversationalAiClient.get_secrets  s    2 ((55==+ > 
	
	Si++1c1{{4"> ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr
  valuec          
      T   | j                   j                  j                  dd||ddddi|t              }	 d|j                  cxk  rd	k  r:n n7t        j                  t        t        t        |j                         
            S |j                  dk(  r@t        t        j                  t        t        t        |j                         
                  |j                         }t        |j                  |      # t        $ r" t        |j                  |j                        w xY w)a^  
        Create a new secret for the workspace

        Parameters
        ----------
        name : str

        value : str

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

        Returns
        -------
        PostWorkspaceSecretResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.create_secret(
            name="name",
            value="value",
        )
        r  r\   newrX   r  typerb   rc   r   rA   rB   rC   rF   rG   r0   rK   rL   rh   rH   rM   rN   r(   r   rO   r   r	   r
   r   rP   r2   rX   r  r8   rR   rS   s         r3   create_secretz$ConversationalAiClient.create_secret  s   @ ((55==  2 , > 
		Si++1c1{{4"> ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   	secret_idc          
         | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  ry |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      # t        $ r" t        |j                  |j                  	      w xY w)
a  
        Delete a workspace secret if it's not in use

        Parameters
        ----------
        secret_id : str

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

        Returns
        -------
        None

        Examples
        --------
        from elevenlabs import ElevenLabs

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.delete_secret(
            secret_id="secret_id",
        )
        v1/convai/secrets/rr   rm   rA   rB   NrF   rC   rG   r   r2   r  r8   rR   rS   s        r3   delete_secretz$ConversationalAiClient.delete_secret/  s    4 ((55== !1)!< =>+ > 
	
	Si++1c1 2$$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   C A C +C.)K__name__
__module____qualname__r   r4   strrM   rt   r   r   rT   rh   r   boolr   r   rj   r   ro   ru   rv   Dictr}   r   r   r   r   r   Filer   r   r   r   intr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r   r"   r   r   r#   r  r$   r	  r%   r&   r  r'   r  r(   r  r#   r6   r3   r+   r+   /   s	   .*; . TX<O<O171P<O	+<OD /3PT%);?XO :XO ood+	XO
 "??+LMXO ooc"XO  8XO 
"XOv TX9O9O171P9O	9Ox TX9O9O171P9O		$9O~ /3^b\`%);?XOXO ood+	XO
 $__V[[foofjj>Y9Y-Z[XO "??6;;sFOOFJJ<W7W+XYXO ooc"XO  8XO 
XO| 8<;?COCO !' 4	CO
  8CO 
$COL TX9O9O171P9O	"9Ox lpAOAO-1YYAOIOYgIhAO	%AOH rvIOIO&)IO9<IOOU_mOnIO	$IO\ (,*.'+;?GO $GO ??3'	GO
 $GO  8GO 
$GOX (,)-DH*.;?NO $NO //#&	NO
  )@ANO ??3'NO  8NO 
+NOb [_9O"9O8>8W9O	%9Ox [_9O"9O8>8W9O		$9Ox [_2O"2O8>8W2O	2Or <@HOHO $	HO
  8HO 
	$HOb <@VO VO 	VO
 VO VO  8VO 
(VOr [_9O"9O8>8W9O	$9Ox [_9O"9O8>8W9O		$9O~ *.;?FOFO //#&	FO
  8FO 
%FOR EI4O"(//."A4O	0	14Or (,*.'+;?/3;?QO $QO ??3'	QO
 $QO $*??4#8QO t,QO  8QO 
+QOl &*$(+/;?JO ooc"JO __S!	JO
 oodii(JO  8JO 
'JOb 04;?NONO "	NO
 t,NO  8NO 
NOb \`9O #9O9?9X9O	&9Ox \`9O #9O9?9X9O		$9O~ (,*.;?HOHO $	HO
 ??3'HO  8HO 
6HOV EI4O"(//."A4O	'4Or qu48;?JO 6<__El5mJO //.1	JO
  8JO 
(JOZ EI4O"(//."A4O	)4On \`DODO#&DO9?9XDO	)DOL cg /Os /OP^@_ /Oko /Or6   r+   c                      e Zd ZdefdZdddedej                  e   de	fdZ
deedd	d
edej                  e   dej                  e   dej                  e   dej                  e   defdZdddedej                  e   defdZdddedej                  e   dej                  ej&                     fdZdeeedddedej                  e   d
ej                  ej*                  eej                  ej&                     f      dej                  ej*                  eej                  ej&                     f      dej                  e   dej                  e   defdZddddedej                  e   dej                  e   defdZdddedej                  e   defdZdddedej8                  dej                  e   defdZdddedededej                  e   def
dZ ddddddej                  e   dej                  e!   dej                  e   dej                  e   de"f
dZ#dddddd dej                  e   dej                  e   d!ej                  e$   dej                  e!   dej                  e   de%fd"Z&ddd#edej                  e   de'fd$Z(ddd#edej                  e   dej                  ej&                     fd%Z)ddd#edej                  e   ddfd&Z*ddd#ed'e+dej                  e   dej                  ej&                     fd(Z,ddd)ed*ed+ed,edej                  e   de-fd-Z.ddd.edej                  e   de/fd/Z0ddd.edej                  e   dej                  ej&                     fd0Z1edd1d.edej                  e   dej                  e   de/fd2Z2dddej                  e   dejf                  e/   fd3Z4ddddddd4dej                  e   dej                  e!   dej                  e   d5ej                  e   d6ej                  e   dej                  e   de5fd7Z6eeedd8dej                  e   d9ej                  e   d:ej                  ej8                     dej                  e   de7f
d;Z8ddd<d=ed>e9d?ej                  e   dej                  e   de:f
d@Z;ddd=edej                  e   de<fdAZ=ddd=edej                  e   dej                  ej&                     fdBZ>ddddCd=edej                  e   dej                  e!   dej                  e   de?f
dDZ@dddej                  e   deAfdEZBeeddFdGej                  eC   dHej                  eD   dej                  e   deAfdIZEdddej                  e   deFfdJZGdddedKedej                  e   deHfdLZIdddMedej                  e   ddfdNZJy)OAsyncConversationalAiClientr,   c                    || _         y r.   r/   r1   s     r3   r4   z$AsyncConversationalAiClient.__init__b  r5   r6   Nr7   r9   r8   r:   c          
      \  K   | j                   j                  j                  ddd|i|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  d	k(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                  
      w xY ww)a7  
        Get a signed url to start a conversation with an agent with an agent that requires authorization

        Parameters
        ----------
        agent_id : str
            The id of the agent you're taking the action on.

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

        Returns
        -------
        ConversationSignedUrlResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_signed_url(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r<   r=   r9   r>   NrA   rB   rC   rF   rG   rJ   rQ   s        r3   rT   z*AsyncConversationalAiClient.get_signed_urle  s    L ..;;CC3H , D 
 
		Si++1c1{{6"@ ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN=
8  	Sy'<'<9>>RR	Ss4   /D,C<D,AC> D,AC> %D,>+D))D,rU   rY   rV   rW   rX   c                  K   | j                   j                  j                  ddd|it        |t        d      t        |t
        d      |dddi|t        	       d
{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t!        |j                  |      7 # t        $ r" t!        |j                  |j"                        w xY ww)a  
        Create an agent from a config object

        Parameters
        ----------
        conversation_config : ConversationalConfigApiModel
            Conversation configuration for an agent

        use_tool_ids : typing.Optional[bool]
            Use tool ids instead of tools specs from request payload.

        platform_settings : typing.Optional[AgentPlatformSettingsRequestModel]
            Platform settings for the agent are all settings that aren't related to the conversation orchestration and content.

        name : typing.Optional[str]
            A name to make the agent easier to find

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

        Returns
        -------
        CreateAgentResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs, ConversationalConfigApiModel

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.create_agent(
                conversation_config=ConversationalConfigApiModel(),
            )


        asyncio.run(main())
        r[   r\   rV   r]   r^   ra   rb   rc   rd   NrA   rB   rC   rF   rG   rg   ri   s           r3   rj   z(AsyncConversationalAiClient.create_agent  s]    j ..;;CC% (O/<Xdk( &M-:[gn&   2 ,' D 
 
	*	Si++1c1{{,"6 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNW
R  	Sy'<'<9>>RR	Ss8   AED)E$AD+ 2E3AD+ E++EEc          
      n  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a  
        Retrieve config for an agent

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        GetAgentResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_agent(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rl   r=   rm   NrA   rB   rC   rF   rG   rn   rQ   s        r3   ro   z%AsyncConversationalAiClient.get_agent	  s    L ..;;CC 0 :;<+ D 
 
	
	Si++1c1{{)"3 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	S5   8D5DD5 AD D5AD .D5+D22D5c          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a  
        Delete an agent

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.delete_agent(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rl   rr   rm   NrA   rB   rC   rF   rG   rs   rQ   s        r3   rv   z(AsyncConversationalAiClient.delete_agentP	  s5    L ..;;CC 0 :;<+ D 
 
	
	Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	S5   8E,D;E, BD> E,AD> $E,>+E))E,rx   c          
        K   | j                   j                  j                  dt        |       dd|i|||dddi|t               d{   }	 d	|j
                  cxk  rd
k  r:n n7t        j                  t        t        t        |j                                     S |j
                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j
                  |      7 # t        $ r" t        |j
                  |j                        w xY ww)a#  
        Patches an Agent settings

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        use_tool_ids : typing.Optional[bool]
            Use tool ids instead of tools specs from request payload.

        conversation_config : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
            Conversation configuration for an agent

        platform_settings : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
            Platform settings for the agent are all settings that aren't related to the conversation orchestration and content.

        name : typing.Optional[str]
            A name to make the agent easier to find

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

        Returns
        -------
        GetAgentResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.update_agent(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rl   rz   rV   ra   rb   rc   rd   NrA   rB   rC   rF   rG   r{   r|   s	            r3   r}   z(AsyncConversationalAiClient.update_agent	  sI    r ..;;CC 0 :;< (;%6  2 , D 
 
	"	Si++1c1{{)"3 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNO
J  	Sy'<'<9>>RR	Ss8   AE
DEAD EAD >E+EEr~   r   c          
      v  K   | j                   j                  j                  dt        |       ddd|i|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j                  d
k(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                        w xY ww)a  
        Retrieve the widget configuration for an agent

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        conversation_signature : typing.Optional[str]
            An expiring token that enables a conversation to start. These can be generated for an agent using the /v1/convai/conversation/get_signed_url endpoint

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

        Returns
        -------
        GetAgentEmbedResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_agent_widget(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rl   r   r=   r   r>   NrA   rB   rC   rF   rG   r   r   s         r3   r   z,AsyncConversationalAiClient.get_agent_widget	  s*    Z ..;;CC 0 :;7C(*@ , D 
 
		Si++1c1{{."8 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN=
8  	Sy'<'<9>>RR	Ss5   <D9D	D9AD D9AD 2D9+D66D9c          
      p  K   | j                   j                  j                  dt        |       dd|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  d	k(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                  
      w xY ww)a  
        Get the current link used to share the agent with others

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        GetAgentLinkResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_agent_link(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rl   r   r=   rm   NrA   rB   rC   rF   rG   r   rQ   s        r3   r   z*AsyncConversationalAiClient.get_agent_linkB
  s    L ..;;CC 0 :;5A+ D 
 
	
	Si++1c1{{-"7 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	S5   9D6DD6AD D6AD /D6+D33D6r   c          
        K   | j                   j                  j                  dt        |       ddi d|i|t               d{   }	 d|j
                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j
                  d
k(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j
                  |      7 # t        $ r" t        |j
                  |j                        w xY ww)aa  
        Sets the avatar for an agent displayed in the widget

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        avatar_file : core.File
            See core.File for more documentation

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

        Returns
        -------
        PostAgentAvatarResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.post_agent_avatar(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        rl   r   r\   r   r   NrA   rB   rC   rF   rG   r   r   s         r3   r   z-AsyncConversationalAiClient.post_agent_avatar
  s0    R ..;;CC 0 :;7C{ , D 	
 	
		Si++1c1{{0": ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNA	
<  	Sy'<'<9>>RR	Ss8   AD?DD?
AD D?AD 8D?+D<<D?r   c          
        K   | j                   j                  j                  dt        |       dd||dddi|t               d{   }	 d	|j
                  cxk  rd
k  r:n n7t        j                  t        t        t        |j                                     S |j
                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j
                  |      7 # t        $ r" t        |j
                  |j                        w xY ww)a-  
        Uploads a file or reference a webpage for the agent to use as part of it's knowledge base

        Parameters
        ----------
        agent_id : str
            The id of an agent. This is returned on agent creation.

        name : str
            A name to help identify a particular agent secret

        secret_value : str
            A value to be encrypted and used by the agent

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

        Returns
        -------
        AddAgentSecretResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.add_agent_secret(
                agent_id="21m00Tcm4TlvDq8ikWAM",
                name="MY API KEY",
                secret_value="sk_api_12354abc",
            )


        asyncio.run(main())
        rl   r   r\   r   rb   rc   r   NrA   rB   rC   rF   rG   r   r   s          r3   r   z,AsyncConversationalAiClient.add_agent_secret
  s<    \ ..;;CC 0 :;;G ,
  2 , D 
 
		Si++1c1{{/"9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNG
B  	Sy'<'<9>>RR	Ss8   AEDEAD EAD ;E+D??Er   r   r   r   c          
      `  K   | j                   j                  j                  dd|||d|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  d	k(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                  
      w xY ww)a  
        Returns a page of your agents and their metadata.

        Parameters
        ----------
        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        page_size : typing.Optional[int]
            How many Agents to return at maximum. Can not exceed 100, defaults to 30.

        search : typing.Optional[str]
            Search by agents name.

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

        Returns
        -------
        GetAgentsPageResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_agents()


        asyncio.run(main())
        r   r=   r   r>   NrA   rB   rC   rF   rG   r   r   s          r3   r   z&AsyncConversationalAiClient.get_agents#  s    ^ ..;;CC & 
 , D 	
 	
		Si++1c1{{."8 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNA	
<  	Sy'<'<9>>RR	Ss4   1D.C>D.AD  D.AD  'D. +D++D.r   r   c          
      b  K   | j                   j                  j                  dd||||d|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  d	k(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                  
      w xY ww)a  
        Get all conversations of agents that user owns. With option to restrict to a specific agent.

        Parameters
        ----------
        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        agent_id : typing.Optional[str]
            The id of the agent you're taking the action on.

        call_successful : typing.Optional[EvaluationSuccessResult]
            The result of the success evaluation

        page_size : typing.Optional[int]
            How many conversations to return at maximum. Can not exceed 100, defaults to 30.

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

        Returns
        -------
        GetConversationsPageResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_conversations(
                agent_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   r=   r   r>   NrA   rB   rC   rF   rG   r   r   s           r3   r   z-AsyncConversationalAiClient.get_conversationst  s!    j ..;;CC% $#2&	 , D 

 

		Si++1c1{{5"? ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNC

>  	Sy'<'<9>>RR	Ss4   2D/C?D/AD D/	AD (D/+D,,D/r   c          
      n  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a  
        Get the details of a particular conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

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

        Returns
        -------
        GetConversationResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_conversation(
                conversation_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   r=   rm   NrA   rB   rC   rF   rG   r   r   s        r3   r   z,AsyncConversationalAiClient.get_conversation  s    L ..;;CC&'7'H&IJ+ D 
 
	
	Si++1c1{{0": ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	Sr3  c          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a
  
        Delete a particular conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.delete_conversation(
                conversation_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   rr   rm   NrA   rB   rC   rF   rG   rs   r   s        r3   r   z/AsyncConversationalAiClient.delete_conversation  5    L ..;;CC&'7'H&IJ+ D 
 
	
	Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	Sr5  c          
         K   | j                   j                  j                  dt        |       dd|       d{   }	 d|j                  cxk  rdk  ry |j                  dk(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                  
      w xY ww)a  
        Get the audio recording of a particular conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

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

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_conversation_audio(
                conversation_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   r   r=   rm   NrA   rB   rF   rC   rG   r   r   s        r3   r   z2AsyncConversationalAiClient.get_conversation_audioR  s     J ..;;CC&'7'H&IP+ D 
 
	
	Si++1c1 2$$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN+
&  	Sy'<'<9>>RR	Ss4   9C>CC>C C>A C 7C>+C;;C>r   c          
        K   | j                   j                  j                  dt        |       ddd|iddi|t               d{   }	 d	|j
                  cxk  rd
k  rpn nmt        j                  t        j                  t        j                     t        t        j                  t        j                     |j                                     S |j
                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j
                  |      7 # t        $ r" t        |j
                  |j                         w xY ww)a  
        Send the feedback for the given conversation

        Parameters
        ----------
        conversation_id : str
            The id of the conversation you're taking the action on.

        feedback : UserFeedbackScore
            Either 'like' or 'dislike' to indicate the feedback for the conversation.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.post_conversation_feedback(
                conversation_id="21m00Tcm4TlvDq8ikWAM",
                feedback="like",
            )


        asyncio.run(main())
        r   r   r\   r   rb   rc   r   NrA   rB   rC   rF   rG   r   r   s         r3   r   z6AsyncConversationalAiClient.post_conversation_feedback  sU    \ ..;;CC&'7'H&ISH  2 , D 
 
		Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNE
@  	Sy'<'<9>>RR	Ss8   AE8EE8BE
 E8AE
 0E8
+E55E8r   r   r   r   c          
      t  K   | j                   j                  j                  dd||||ddddi|t               d{   }	 d	|j                  cxk  rd
k  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                        w xY ww)a  
        Import Phone Number from Twilio configuration

        Parameters
        ----------
        phone_number : str
            Phone number

        label : str
            Label for the phone number

        sid : str
            Twilio Account SID

        token : str
            Twilio Auth Token

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

        Returns
        -------
        CreatePhoneNumberResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.create_phone_number(
                phone_number="phone_number",
                label="label",
                sid="sid",
                token="token",
            )


        asyncio.run(main())
        r   r\   r   r   rb   rc   r   NrA   rB   rC   rF   rG   r   r   s           r3   r   z/AsyncConversationalAiClient.create_phone_number  s5    p ..;;CC, ,$  2 , D 
 
	 	Si++1c1{{2"< ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNM
H  	Sy'<'<9>>RR	Ss5   ;D8DD8AD
 D8AD
 1D8
+D55D8r   c          
      n  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a
  
        Retrieve Phone Number details by ID

        Parameters
        ----------
        phone_number_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        GetPhoneNumberResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_phone_number(
                phone_number_id="TeaqRRdTcIfIu2i7BYfT",
            )


        asyncio.run(main())
        r   r=   rm   NrA   rB   rC   rF   rG   r   r   s        r3   r   z,AsyncConversationalAiClient.get_phone_number@  s    L ..;;CC&'7'H&IJ+ D 
 
	
	Si++1c1{{/"9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	Sr3  c          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a  
        Delete Phone Number by ID

        Parameters
        ----------
        phone_number_id : str
            The id of an agent. This is returned on agent creation.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.delete_phone_number(
                phone_number_id="TeaqRRdTcIfIu2i7BYfT",
            )


        asyncio.run(main())
        r   rr   rm   NrA   rB   rC   rF   rG   rs   r   s        r3   r   z/AsyncConversationalAiClient.delete_phone_number  r@  r5  r   c          
        K   | j                   j                  j                  dt        |       dd|iddi|t               d{   }	 d|j
                  cxk  rd	k  r:n n7t        j                  t        t        t        |j                         
            S |j
                  dk(  r@t        t        j                  t        t        t        |j                         
                  |j                         }t        |j
                  |      7 # t        $ r" t        |j
                  |j                        w xY ww)a4  
        Update Phone Number details by ID

        Parameters
        ----------
        phone_number_id : str
            The id of an agent. This is returned on agent creation.

        agent_id : typing.Optional[str]

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

        Returns
        -------
        GetPhoneNumberResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.update_phone_number(
                phone_number_id="TeaqRRdTcIfIu2i7BYfT",
            )


        asyncio.run(main())
        r   rz   r9   rb   rc   r   NrA   rB   rC   rF   rG   r   r   s         r3   r   z/AsyncConversationalAiClient.update_phone_number  s9    X ..;;CC&'7'H&IJH  2 , D 
 
		Si++1c1{{/"9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNE
@  	Sy'<'<9>>RR	Ss8   AE DE AD E AD 9E +D==E c          
        K   | j                   j                  j                  dd|       d{   }	 d|j                  cxk  rdk  r\n nYt	        j
                  t        j                  t           t        t        j                  t           |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
ag  
        Retrieve all Phone Numbers

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

        Returns
        -------
        typing.List[GetPhoneNumberResponseModel]
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_phone_numbers()


        asyncio.run(main())
        r   r=   rm   NrA   rB   rC   rF   rG   r   r   s       r3   r   z-AsyncConversationalAiClient.get_phone_numbers  s!    B ..;;CC&+ D 
 
	
	Si++1c1{{KK ;<"$kk*EF ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	Ss4   ,EDEA0D $E%AD E+EEr   r   r   c          
      d  K   | j                   j                  j                  dd|||||d|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  d	k(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |
      7 # t        $ r" t        |j                  |j                  
      w xY ww)aM  
        Get a list of available knowledge base documents

        Parameters
        ----------
        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        page_size : typing.Optional[int]
            How many documents to return at maximum. Can not exceed 100, defaults to 30.

        search : typing.Optional[str]
            If specified, the endpoint returns only such knowledge base documents whose names start with this string.

        show_only_owned_documents : typing.Optional[bool]
            If set to true, the endpoint will return only documents owned by you (and not shared from somebody else).

        use_typesense : typing.Optional[bool]
            If set to true, the endpoint will use typesense DB to search for the documents).

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

        Returns
        -------
        GetKnowledgeBaseListResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_knowledge_base_list()


        asyncio.run(main())
        r   r=   r   r>   NrA   rB   rC   rF   rG   r   r   s	            r3   r   z3AsyncConversationalAiClient.get_knowledge_base_listT  s%    n ..;;CC& & -F!. , D 
 
		Si++1c1{{5"? ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNE
@  	Sy'<'<9>>RR	Ss4   3D0D D0AD 	D0
AD )D0+D--D0r   r   r   c          
      n  K   | j                   j                  j                  dd||dd|i|t               d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j                  d
k(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                        w xY ww)a  
        Uploads a file or reference a webpage to use as part of the shared knowledge base

        Parameters
        ----------
        name : typing.Optional[str]
            A custom, human-readable name for the document.

        url : typing.Optional[str]
            URL to a page of documentation that the agent will have access to in order to interact with users.

        file : typing.Optional[core.File]
            See core.File for more documentation

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

        Returns
        -------
        AddKnowledgeBaseResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.add_to_knowledge_base()


        asyncio.run(main())
        r   r\   r   r   r   NrA   rB   rC   rF   rG   r   r   s          r3   r   z1AsyncConversationalAiClient.add_to_knowledge_base  s+    ^ ..;;CC&
  , D 
 
		Si++1c1{{1"; ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNG
B  	Sy'<'<9>>RR	Sr3  r   r   r   r   c          
        K   | j                   j                  j                  dt        |       ddd|id|iddi|t               d	{   }	 d
|j
                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j
                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j
                  |      7 # t        $ r" t        |j
                  |j                        w xY ww)ah  
        In case the document is not RAG indexed, it triggers rag indexing task, otherwise it just returns the current status.

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

        model : EmbeddingModelEnum

        force_reindex : typing.Optional[bool]
            In case the document is indexed and for some reason you want to reindex it, set this param as true.

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

        Returns
        -------
        RagIndexResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.rag_index_status(
                documentation_id="21m00Tcm4TlvDq8ikWAM",
                model="e5_mistral_7b_instruct",
            )


        asyncio.run(main())
        r   r   r\   r   r   rb   rc   rd   NrA   rB   rC   rF   rG   r   r   s          r3   r   z,AsyncConversationalAiClient.rag_index_status  sH    b ..;;CC'(89I(J'K:V   2 , D 
 
		Si++1c1{{)"3 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNK
F  	Sy'<'<9>>RR	Ss8   AE	D
EAD EAD =E+EEc          
      n  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
ah  
        Get details about a specific documentation making up the agent's knowledge base

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

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

        Returns
        -------
        GetKnowledgeBaseResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_knowledge_base_document_by_id(
                documentation_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   r=   rm   NrA   rB   rC   rF   rG   r   r   s        r3   r   z=AsyncConversationalAiClient.get_knowledge_base_document_by_id[  s    L ..;;CC'(89I(J'KL+ D 
 
	
	Si++1c1{{1"; ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	Sr3  c          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rpn nmt        j                  t
        j                  t
        j                     t        t
        j                  t
        j                     |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a=  
        Delete a document from the knowledge base

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

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

        Returns
        -------
        typing.Optional[typing.Any]
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.delete_knowledge_base_document(
                documentation_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   rr   rm   NrA   rB   rC   rF   rG   rs   r   s        r3   r   z:AsyncConversationalAiClient.delete_knowledge_base_document  s6    L ..;;CC'(89I(J'KL+ D 
 
	
	Si++1c1{{OOFJJ/"$oofjj9 ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	Sr5  r   c          
      x  K   | j                   j                  j                  dt        |       dd||d|       d{   }	 d|j                  cxk  rdk  r:n n7t        j                  t        t        t        |j                         	            S |j                  d
k(  r@t        t        j                  t        t        t        |j                         	                  |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                        w xY ww)aP  
        Get a list of agents depending on this knowledge base document

        Parameters
        ----------
        documentation_id : str
            The id of a document from the knowledge base. This is returned on document addition.

        cursor : typing.Optional[str]
            Used for fetching next page. Cursor is returned in the response.

        page_size : typing.Optional[int]
            How many documents to return at maximum. Can not exceed 100, defaults to 30.

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

        Returns
        -------
        GetKnowledgeBaseDependentAgentsResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_dependent_agents(
                documentation_id="21m00Tcm4TlvDq8ikWAM",
            )


        asyncio.run(main())
        r   r  r=   r  r>   NrA   rB   rC   rF   rG   r  r  s          r3   r  z0AsyncConversationalAiClient.get_dependent_agents  s,    b ..;;CC'(89I(J'KK\] & , D 
 
		Si++1c1{{@"J ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN?
:  	Sy'<'<9>>RR	Ss6   =D:D
 D:AD D:AD 3D:+D77D:c          
      V  K   | j                   j                  j                  dd|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
ah  
        Retrieve Convai settings for the workspace

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

        Returns
        -------
        GetConvAiSettingsResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_settings()


        asyncio.run(main())
        r  r=   rm   NrA   rB   rC   rF   rG   r  r   s       r3   r	  z(AsyncConversationalAiClient.get_settings3  s    B ..;;CC + D 
 
	
	Si++1c1{{2"< ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	S4   ,D)C9D)AC; D)AC; "D);+D&&D)r  r  r  c          
        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  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t!        |j                  |      7 # t        $ r" 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]

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

        Returns
        -------
        GetConvAiSettingsResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.update_settings()


        asyncio.run(main())
        r  rz   r]   r^   r  rb   rc   r   NrA   rB   rC   rF   rG   r  r  s         r3   r  z+AsyncConversationalAiClient.update_settingsq  sJ    R ..;;CC ?fGF%@
 D$7	  2 ,# D 
 
	&	Si++1c1{{2"< ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNS
N  	Sy'<'<9>>RR	Ss8   AED%E AD' .E/AD' E'+EEc          
      V  K   | j                   j                  j                  dd|       d{   }	 d|j                  cxk  rdk  r:n n7t	        j
                  t        t        t        |j                                     S |j                  dk(  r@t        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
ae  
        Get all workspace secrets for the user

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

        Returns
        -------
        GetWorkspaceSecretsResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.get_secrets()


        asyncio.run(main())
        r  r=   rm   NrA   rB   rC   rF   rG   r  r   s       r3   r  z'AsyncConversationalAiClient.get_secrets  s    B ..;;CC+ D 
 
	
	Si++1c1{{4"> ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN7
2  	Sy'<'<9>>RR	SrO  r  c          
      p  K   | j                   j                  j                  dd||ddddi|t               d{   }	 d	|j                  cxk  rd
k  r:n n7t        j                  t        t        t        |j                                     S |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                        w xY ww)a  
        Create a new secret for the workspace

        Parameters
        ----------
        name : str

        value : str

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

        Returns
        -------
        PostWorkspaceSecretResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.create_secret(
                name="name",
                value="value",
            )


        asyncio.run(main())
        r  r\   r  r  rb   rc   r   NrA   rB   rC   rF   rG   r  r  s         r3   r  z)AsyncConversationalAiClient.create_secret  s/    P ..;;CC  2 , D 
 
		Si++1c1{{4"> ) 0  $$+.KK+&"5$-NN$4  '^^-N 9#8#8~NNI
D  	Sy'<'<9>>RR	Sr9  r  c          
        K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  ry |j                  dk(  r@t        t        j                  t        t        t        |j                                           |j                         }t        |j                  |	      7 # t        $ r" t        |j                  |j                  	      w xY ww)
a~  
        Delete a workspace secret if it's not in use

        Parameters
        ----------
        secret_id : str

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

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.delete_secret(
                secret_id="secret_id",
            )


        asyncio.run(main())
        r!  rr   rm   NrA   rB   rF   rC   rG   r   r"  s        r3   r#  z)AsyncConversationalAiClient.delete_secretQ  s     D ..;;CC !1)!< =>+ D 
 
	
	Si++1c1 2$$+.KK+&"5$-NN$4  '^^-N 9#8#8~NN+
&  	Sy'<'<9>>RR	Ss4   8C=CC= C C=A C 6C=+C::C=)Kr$  r%  r&  r)   r4   r'  rM   rt   r   r   rT   rh   r   r(  r   r   rj   r   ro   ru   rv   r)  r}   r   r   r   r   r   r*  r   r   r   r   r+  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r   r"   r   r   r#   r  r$   r	  r%   r&   r  r'   r  r(   r  r#  r,  r6   r3   r.  r.  a  s
   .*< . TXDODO171PDO	+DOT /3PT%);?`O :`O ood+	`O
 "??+LM`O ooc"`O  8`O 
"`OF TXAOAO171PAO	AOH TXAOAO171PAO		$AON /3^b\`%);?`O`O ood+	`O
 $__V[[foofjj>Y9Y-Z[`O "??6;;sFOOFJJ<W7W+XY`O ooc"`O  8`O 
`OL 8<;?KOKO !' 4	KO
  8KO 
$KO\ TXAOAO171PAO	"AOH lpIOIO-1YYIOIOYgIhIO	%IOX rvQOQO&)QO9<QOOU_mOnQO	$QOl (,*.'+;?OO $OO ??3'	OO
 $OO  8OO 
$OOh (,)-DH*.;?VO $VO //#&	VO
  )@AVO ??3'VO  8VO 
+VOr [_AO"AO8>8WAO	%AOH [_AO"AO8>8WAO		$AOH [_:O":O8>8W:O	:OB <@POPO $	PO
  8PO 
	$POr <@^O ^O 	^O
 ^O ^O  8^O 
(^OB [_AO"AO8>8WAO	$AOH [_AO"AO8>8WAO		$AON *.;?NONO //#&	NO
  8NO 
%NOb EI<O"(//."A<O	0	1<OB (,*.'+;?/3;?YO $YO ??3'	YO
 $YO $*??4#8YO t,YO  8YO 
+YO| &*$(+/;?RO ooc"RO __S!	RO
 oodii(RO  8RO 
'ROr 04;?VOVO "	VO
 t,VO  8VO 
VOr \`AO #AO9?9XAO	&AOH \`AO #AO9?9XAO		$AON (,*.;?POPO $	PO
 ??3'PO  8PO 
6POf EI<O"(//."A<O	'<OB qu48;?RO 6<__El5mRO //.1	RO
  8RO 
(ROj EI<O"(//."A<O	)<O~ \`LOLO#&LO9?9XLO	)LO\ im 7OS 7OfooVdFe 7Oqu 7Or6   r.  )QrM   core.client_wrapperr   core.request_optionsr   ,types.conversation_signed_url_response_modelr   core.unchecked_base_modelr   !errors.unprocessable_entity_errorr   types.http_validation_errorr	   json.decoderr
   core.api_errorr   %types.conversational_config_api_modelr   +types.agent_platform_settings_request_modelr   !types.create_agent_response_modelr   core.serializationr   types.get_agent_response_modelr   core.jsonable_encoderr   $types.get_agent_embed_response_modelr   #types.get_agent_link_response_modelr    r   &types.post_agent_avatar_response_modelr   %types.add_agent_secret_response_modelr   $types.get_agents_page_response_modelr   types.evaluation_success_resultr   +types.get_conversations_page_response_modelr   %types.get_conversation_response_modelr   types.user_feedback_scorer   (types.create_phone_number_response_modelr   %types.get_phone_number_response_modelr   ,types.get_knowledge_base_list_response_modelr   'types.add_knowledge_base_response_modelr   types.embedding_model_enumr    types.rag_index_response_modelr!   'types.get_knowledge_base_response_modelr"   8types.get_knowledge_base_dependent_agents_response_modelr#   )types.get_conv_ai_settings_response_modelr$   1types.conversation_initiation_client_data_webhookr%   types.conv_ai_webhooksr&   *types.get_workspace_secrets_response_modelr'   *types.post_workspace_secret_response_modelr(   r)   rN   ru   rh   r+   r.  r,  r6   r3   <module>ry     s     3 1 ] 6 H = ( % P [ H H B 4 M K  Q O M E [ P 9 U O \ S ; B S s V g 3 Y Y 4 v{{6::s#o O o OdAg$O g$Or6   