
    b6iE                         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  e j2                  e j4                  d      Z G d d      Z G d d      Zy)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)RequestOptions)construct_type)UnprocessableEntityError) GetWorkspaceSecretsResponseModel)HttpValidationError) PostWorkspaceSecretResponseModel.c                   H   e Zd ZdefdZdddddej                  e   dej                  e   dej                  e	   de
e   fd	Zdd
dededej                  e	   de
e   fdZdd
dedej                  e	   de
d   fdZdd
dedededej                  e	   de
e   f
dZy)RawSecretsClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     z/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/conversational_ai/secrets/raw_client.py__init__zRawSecretsClient.__init__   
    -    N	page_sizecursorrequest_optionsr   r    r!   returnc                   | j                   j                  j                  dd||d|      }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||      S |j                  d	k(  rUt        t        |j                        t	        j
                  t        t        t        |j                                     
      |j                         }t        |j                  t        |j                        |      # t        $ r6 t        |j                  t        |j                        |j                         w xY w)aJ  
        Get all workspace secrets for the user

        Parameters
        ----------
        page_size : typing.Optional[int]
            How many documents to return at maximum. Can not exceed 100. If not provided, returns all secrets.

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

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

        Returns
        -------
        HttpResponse[GetWorkspaceSecretsResponseModel]
            Successful Response
        v1/convai/secretsGETr   r    methodparamsr!      ,  type_object_responsedata  headersbodystatus_coder4   r5   )r   httpx_clientrequestr7   typingcastr   r   jsonr	   r   dictr4   r   r   r   textr   r   r    r!   	_response_data_response_jsons          r   listzRawSecretsClient.list   sA   4 ((55==&  , > 
		ti++1c14"> ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AD) 
A4D) )?E(r!   namevaluec                   | j                   j                  j                  dd||ddddi|t              }	 d|j                  cxk  rd	k  rGn nDt        j                  t        t        t        |j                         
            }t        ||      S |j                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                         
                  |j                         }t!        |j                  t        |j                        |      # t        $ r6 t!        |j                  t        |j                        |j"                        w xY w)ae  
        Create a new secret for the workspace

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

        value : str

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

        Returns
        -------
        HttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        r$   POSTnewrE   rF   typecontent-typeapplication/jsonr(   r<   r4   r!   omitr*   r+   r,   r/   r2   r3   r6   )r   r8   r9   OMITr7   r:   r;   r   r   r<   r	   r   r=   r4   r   r   r   r>   r   rE   rF   r!   r@   rA   rB   s          r   createzRawSecretsClient.createV   sT   ( ((55==  2 , > 
		ti++1c14"> ) 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D2 A4D2 2?E1	secret_idc                x   | j                   j                  j                  dt        |       d|      }	 d|j                  cxk  rdk  rn nt        |d      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   
        Delete a workspace secret if it's not in use

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

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

        Returns
        -------
        HttpResponse[None]
        v1/convai/secrets/DELETEr(   r!   r*   r+   Nr/   r2   r,   r3   r6   )r   r8   r9   r
   r7   r	   r   r=   r4   r:   r;   r   r   r<   r   r   r>   r   rS   r!   r@   rB   s        r   deletezRawSecretsClient.delete   s    ((55== !1)!< =>+ > 
	
	ti++1c1#YTBB$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   $C: A4C: :?D9c                    | j                   j                  j                  dt        |       d||ddddi|t              }	 d|j
                  cxk  rd	k  rGn nDt        j                  t        t        t        |j                         
            }t        ||      S |j
                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                         
                  |j                         }t#        |j
                  t        |j                        |      # t         $ r6 t#        |j
                  t        |j                        |j$                        w xY w)a  
        Update an existing secret for the workspace

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

        name : str

        value : str

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

        Returns
        -------
        HttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        rU   PATCHupdaterJ   rL   rM   rN   r*   r+   r,   r/   r2   r3   r6   )r   r8   r9   r
   rP   r7   r:   r;   r   r   r<   r	   r   r=   r4   r   r   r   r>   r   rS   rE   rF   r!   r@   rA   rB   s           r   r\   zRawSecretsClient.update   sb   , ((55== !1)!< =>   2 , > 
		ti++1c14"> ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AD> A4D> >?E=)__name__
__module____qualname__r   r   r:   Optionalintstrr   r	   r   rC   r   rR   rY   r\    r   r   r   r      s/   .*; . +/'+;?;p ??3';p $	;p
  8;p 
6	7;p| \`:p:p#&:p9?9X:p	6	7:px \` %p %p9X %pdpqudv %pP lp<p<p'*<p36<pIOYgIh<p	6	7<pr   r   c                   H   e Zd ZdefdZdddddej                  e   dej                  e   dej                  e	   de
e   fd	Zdd
dededej                  e	   de
e   fdZdd
dedej                  e	   de
d   fdZdd
dedededej                  e	   de
e   f
dZy)AsyncRawSecretsClientr   c                    || _         y r   r   r   s     r   r   zAsyncRawSecretsClient.__init__   r   r   Nr   r   r    r!   r"   c                  K   | j                   j                  j                  dd||d|       d{   }	 d|j                  cxk  rdk  rGn nDt	        j
                  t        t        t        |j                                     }t        ||	      S |j                  d
k(  rUt        t        |j                        t	        j
                  t        t        t        |j                                           |j                         }t        |j                  t        |j                        |      7 # t        $ r6 t        |j                  t        |j                        |j                         w xY ww)aO  
        Get all workspace secrets for the user

        Parameters
        ----------
        page_size : typing.Optional[int]
            How many documents to return at maximum. Can not exceed 100. If not provided, returns all secrets.

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

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

        Returns
        -------
        AsyncHttpResponse[GetWorkspaceSecretsResponseModel]
            Successful Response
        r$   r%   r&   r'   Nr*   r+   r,   r/   r2   r3   r6   )r   r8   r9   r7   r:   r;   r   r   r<   r   r   r=   r4   r   r   r   r>   r?   s          r   rC   zAsyncRawSecretsClient.list   sP    4 ..;;CC&  , D 
 
		ti++1c14"> ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooC
>  	ty'<'<d9K\K\F]dmdrdrss	ts4   0E8D3E8AD6 E8A4D6 ,E86?E55E8rD   rE   rF   c                  K   | j                   j                  j                  dd||ddddi|t               d{   }	 d	|j                  cxk  rd
k  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                                           |j                         }t!        |j                  t        |j                        |      7 # t        $ r6 t!        |j                  t        |j                        |j"                        w xY ww)aj  
        Create a new secret for the workspace

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

        value : str

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

        Returns
        -------
        AsyncHttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        r$   rH   rI   rJ   rL   rM   rN   Nr*   r+   r,   r/   r2   r3   r6   )r   r8   r9   rP   r7   r:   r;   r   r   r<   r   r   r=   r4   r   r   r   r>   rQ   s          r   rR   zAsyncRawSecretsClient.create9  sd    ( ..;;CC  2 , D 
 
		ti++1c14"> ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooM
H  	ty'<'<d9K\K\F]dmdrdrss	ts5   9FD<FAD? FA4D? ,F??E>>FrS   c                  K   | j                   j                  j                  dt        |       d|       d{   }	 d|j                  cxk  rdk  rn nt        |d      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%  
        Delete a workspace secret if it's not in use

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

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

        Returns
        -------
        AsyncHttpResponse[None]
        rU   rV   rW   Nr*   r+   r/   r2   r,   r3   r6   )r   r8   r9   r
   r7   r   r   r=   r4   r:   r;   r   r   r<   r   r   r>   rX   s        r   rY   zAsyncRawSecretsClient.deleteu  s(    " ..;;CC !1)!< =>+ D 
 
	
	ti++1c1()$GG$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo-
(  	ty'<'<d9K\K\F]dmdrdrss	ts4   8EDE $D $E%A4D ,E?EEc                  K   | j                   j                  j                  dt        |       d||ddddi|t               d{   }	 d	|j
                  cxk  rd
k  rGn nDt        j                  t        t        t        |j                                     }t        ||      S |j
                  dk(  rUt        t        |j                        t        j                  t        t        t        |j                                           |j                         }t#        |j
                  t        |j                        |      7 # t         $ r6 t#        |j
                  t        |j                        |j$                        w xY ww)a  
        Update an existing secret for the workspace

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

        name : str

        value : str

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

        Returns
        -------
        AsyncHttpResponse[PostWorkspaceSecretResponseModel]
            Successful Response
        rU   r[   r\   rJ   rL   rM   rN   Nr*   r+   r,   r/   r2   r3   r6   )r   r8   r9   r
   rP   r7   r:   r;   r   r   r<   r   r   r=   r4   r   r   r   r>   r]   s           r   r\   zAsyncRawSecretsClient.update  sr    , ..;;CC !1)!< =>   2 , D 
 
		ti++1c14"> ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooM
H  	ty'<'<d9K\K\F]dmdrdrss	ts8   AFEFAE (F)A4E ,F?F

F)r^   r_   r`   r   r   r:   ra   rb   rc   r   r   r   rC   r   rR   rY   r\   rd   r   r   rf   rf      s0   .*< . +/'+;?;p ??3';p $	;p
  8;p 
;	<;p| \`:p:p#&:p9?9X:p	;	<:pz UY'p'p28//.2Q'p	4	 'pT lp<p<p'*<p36<pIOYgIh<p	;	<<pr   rf   )r:   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.get_workspace_secrets_response_modelr   types.http_validation_errorr   *types.post_workspace_secret_response_modelr   r;   AnyrP   r   rf   rd   r   r   <module>rx      s`     ( & H A 5 2 7 I Z > Z v{{6::s#`p `pFbp bpr   