
    b6i                         d dl Z d dlmZ ddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ  G d d      Z G d d      Zy)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)RequestOptions)construct_type)UnprocessableEntityError)HttpValidationError)SingleUseTokenResponseModel)SingleUseTokenTypec                   R    e Zd ZdefdZdddedej                  e   de	e
   fdZy)	RawSingleUseClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     r/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/tokens/single_use/raw_client.py__init__zRawSingleUseClient.__init__   
    -    Nrequest_options
token_typer   returnc                   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                                     	      |j                         }t!        |j                  t        |j                        |
      # t        $ r6 t!        |j                  t        |j                        |j"                  
      w xY w)a  
        Generate a time limited single-use token with embedded authentication for frontend clients.

        Parameters
        ----------
        token_type : SingleUseTokenType

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

        Returns
        -------
        HttpResponse[SingleUseTokenResponseModel]
            Successful Response
        v1/single-use-token/POSTmethodr      ,  type_object_responsedata  headersbodystatus_coder1   r2   )r   httpx_clientrequestr
   r4   typingcastr   r   jsonr	   r   dictr1   r   r   r   textr   r    r   	_response_data_response_jsons         r   createzRawSingleUseClient.create   sB   $ ((55=="#3J#?"@A+ > 
	
	ti++1c1/"9 ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AD1 A4D1 1?E0)__name__
__module____qualname__r   r   r   r7   Optionalr   r	   r   r@    r   r   r   r      sG    .*; . ei/p,/pBH//R`Ba/p	1	2/pr   r   c                   R    e Zd ZdefdZdddedej                  e   de	e
   fdZy)	AsyncRawSingleUseClientr   c                    || _         y r   r   r   s     r   r   z AsyncRawSingleUseClient.__init__I   r   r   Nr   r    r   r!   c                  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  d	k(  rUt        t        |j                        t        j                  t        t        t        |j                                     
      |j                         }t!        |j                  t        |j                        |      7 # t        $ r6 t!        |j                  t        |j                        |j"                        w xY ww)a  
        Generate a time limited single-use token with embedded authentication for frontend clients.

        Parameters
        ----------
        token_type : SingleUseTokenType

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

        Returns
        -------
        AsyncHttpResponse[SingleUseTokenResponseModel]
            Successful Response
        r#   r$   r%   Nr'   r(   r)   r,   r/   r0   r3   )r   r5   r6   r
   r4   r7   r8   r   r   r9   r   r   r:   r1   r   r   r   r;   r<   s         r   r@   zAsyncRawSingleUseClient.createL   sP    $ ..;;CC"#3J#?"@A+ D 
 
	
	ti++1c1/"9 ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo;
6  	ty'<'<d9K\K\F]dmdrdrss	ts5   8F D;F  AD> F A4D> ,F >?E==F )rA   rB   rC   r   r   r   r7   rD   r   r   r   r@   rE   r   r   rG   rG   H   sG    .*< . ei/p,/pBH//R`Ba/p	6	7/pr   rG   )r7   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r	   core.jsonable_encoderr
   core.request_optionsr   core.unchecked_base_modelr   !errors.unprocessable_entity_errorr   types.http_validation_errorr   %types.single_use_token_response_modelr   types.single_use_token_typer   r   rG   rE   r   r   <module>rU      sD     ( & H A 5 2 7 I > P =3p 3pl3p 3pr   