
    b6iu                     B   d dl Z d dlmZ ddlmZ ddlmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$  e jJ                  e jL                  d      Z' G d d      Z( G d d      Z)y)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)RequestOptions)'convert_and_respect_annotation_metadata)construct_type)UnprocessableEntityError)#GetToolDependentAgentsResponseModel)HttpValidationError)SortDirection)ToolRequestModel)ToolResponseModel)
ToolSortBy)ToolTypeFilter)ToolsResponseModel.c                      e Zd ZdefdZddddddddddej                  e   dej                  e   dej                  e	   dej                  ej                  eej                  e   f      d	ej                  e   d
ej                  e   dej                  e   dej                  e   dee   fdZdddedej                  e   dee   fdZdddedej                  e   dee   fdZdddedej                  e   deej.                     fdZdddededej                  e   dee   fdZdddddedej                  e   dej                  e   dej                  e   dee   f
dZy)RawToolsClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     x/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/conversational_ai/tools/raw_client.py__init__zRawToolsClient.__init__   
    -    Nsearch	page_sizeshow_only_owned_documentstypessort_directionsort_bycursorrequest_optionsr%   r&   r'   r(   r)   r*   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)a  
        Get all available tools in the workspace.

        Parameters
        ----------
        search : typing.Optional[str]
            If specified, the endpoint returns only tools whose names start with this string.

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

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

        types : typing.Optional[typing.Union[ToolTypeFilter, typing.Sequence[ToolTypeFilter]]]
            If present, the endpoint will return only tools of the given types.

        sort_direction : typing.Optional[SortDirection]
            The direction to sort the results

        sort_by : typing.Optional[ToolSortBy]
            The field to sort the results by

        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[ToolsResponseModel]
            Successful Response
        v1/convai/toolsGETr%   r&   r'   r(   r)   r*   r+   methodparamsr,      ,  type_object_responsedata  headersbodystatus_coder?   r@   )r   httpx_clientrequestrB   typingcastr   r   jsonr	   r   dictr?   r   r   r   textr   r%   r&   r'   r(   r)   r*   r+   r,   	_response_data_response_jsons               r    listzRawToolsClient.list   sQ   \ ((55== &-F"0"  , > 
		ti++1c1&"0 ) 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,   rD   c                    | j                   j                  j                  ddt        |t        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)ac  
        Add a new tool to the available tools in the workspace.

        Parameters
        ----------
        request : ToolRequestModel

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

        Returns
        -------
        HttpResponse[ToolResponseModel]
            Successful Response
        r/   POSTwriter9   
annotation	directioncontent-typeapplication/jsonr3   rG   r?   r,   omitr5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r   r   OMITrB   rE   rF   r   r   rG   r	   r   rH   r?   r   r   r   rI   r   rD   r,   rK   rL   rM   s         r    createzRawToolsClient.createu   sV   $ ((55==8,<  2 , > 
		ti++1c1%"/ ) 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=tool_idc                   | 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)aq  
        Get tool that is available in the workspace.

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

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

        Returns
        -------
        HttpResponse[ToolResponseModel]
            Successful Response
        v1/convai/tools/r0   r3   r,   r5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r
   rB   rE   rF   r   r   rG   r	   r   rH   r?   r   r   r   rI   r   r]   r,   rK   rL   rM   s         r    getzRawToolsClient.get   sB   & ((55==/89:+ > 
	
	ti++1c1%"/ ) 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c                `   | j                   j                  j                  dt        |       d|      }	 ||j                  j                         st        |d      S d|j                  cxk  rdk  r[n nXt        j                  t        j                  t        t        j                  |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]  
        Delete tool from the workspace.

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

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

        Returns
        -------
        HttpResponse[typing.Any]
            Successful Response
        r_   DELETEr`   Nr:   r5   r6   r7   r=   r>   rA   )r   rC   rD   r
   rI   stripr	   rB   rE   rF   Anyr   rG   r   rH   r?   r   r   r   ra   s         r    deletezRawToolsClient.delete   sl   & ((55==/89:+ > 
	
	t 	(<(<(>#YTBBi++1c1JJ"$jj ) 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   (E. A/E. A4E. .?F-c                   | j                   j                  j                  dt        |       dt	        |t
        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 tool that is available in the workspace.

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

        request : ToolRequestModel

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

        Returns
        -------
        HttpResponse[ToolResponseModel]
            Successful Response
        r_   PATCHrR   rS   rV   rW   rX   r5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r
   r   r   rZ   rB   rE   rF   r   r   rG   r	   r   rH   r?   r   r   r   rI   r   r]   rD   r,   rK   rL   rM   s          r    updatezRawToolsClient.update  sd   * ((55==/89:8,<  2 , > 
		ti++1c1%"/ ) 0 $YUCC$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo  	ty'<'<d9K\K\F]dmdrdrss	ts   AE
 +A4E
 
?F	r+   r&   r,   c                   | j                   j                  j                  dt        |       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)ay  
        Get a list of agents depending on this tool

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

        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
        -------
        HttpResponse[GetToolDependentAgentsResponseModel]
            Successful Response
        r_   /dependent-agentsr0   r+   r&   r2   r5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r
   rB   rE   rF   r   r   rG   r	   r   rH   r?   r   r   r   rI   r   r]   r+   r&   r,   rK   rL   rM   s           r    get_dependent_agentsz#RawToolsClient.get_dependent_agentsN  sR   < ((55==/899JK & , > 
		ti++1c17"A ) 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D6 A4D6 6?E5)__name__
__module____qualname__r   r!   rE   OptionalstrintboolUnionr   Sequencer   r   r   r	   r   rN   r   r   r\   rb   rf   rg   rk   r   rq    r#   r    r   r      sV   .*; . (,*.;?`d9=/3'+;?Tp $Tp ??3'	Tp
 $*??4#8Tp v||NFOON<[,[\]Tp 6Tp ,Tp $Tp  8Tp 
(	)Tpn `d6p*6p=C__^=\6p	'	(6pr SW0p0p060O0p	'	(0pf SW2p2p060O2p	fjj	!2pj nr9p9p(89pKQ??[iKj9p	'	(9p~ (,*.;??p?p $	?p
 ??3'?p  8?p 
9	:?pr#   r   c                      e Zd ZdefdZddddddddddej                  e   dej                  e   dej                  e	   dej                  ej                  eej                  e   f      d	ej                  e   d
ej                  e   dej                  e   dej                  e   dee   fdZdddedej                  e   dee   fdZdddedej                  e   dee   fdZdddedej                  e   deej.                     fdZdddededej                  e   dee   fdZdddddedej                  e   dej                  e   dej                  e   dee   f
dZy)AsyncRawToolsClientr   c                    || _         y r   r   r   s     r    r!   zAsyncRawToolsClient.__init__  r"   r#   Nr$   r%   r&   r'   r(   r)   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)a  
        Get all available tools in the workspace.

        Parameters
        ----------
        search : typing.Optional[str]
            If specified, the endpoint returns only tools whose names start with this string.

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

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

        types : typing.Optional[typing.Union[ToolTypeFilter, typing.Sequence[ToolTypeFilter]]]
            If present, the endpoint will return only tools of the given types.

        sort_direction : typing.Optional[SortDirection]
            The direction to sort the results

        sort_by : typing.Optional[ToolSortBy]
            The field to sort the results by

        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[ToolsResponseModel]
            Successful Response
        r/   r0   r1   r2   Nr5   r6   r7   r:   r=   r>   rA   )r   rC   rD   rB   rE   rF   r   r   rG   r   r   rH   r?   r   r   r   rI   rJ   s               r    rN   zAsyncRawToolsClient.list  sa    \ ..;;CC &-F"0"  , D 
 
		ti++1c1&"0 ) 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s4   5E=D8E=AD; E=A4D; ,E=;?E::E=rO   rD   c                  K   | j                   j                  j                  ddt        |t        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)ah  
        Add a new tool to the available tools in the workspace.

        Parameters
        ----------
        request : ToolRequestModel

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

        Returns
        -------
        AsyncHttpResponse[ToolResponseModel]
            Successful Response
        r/   rQ   rR   rS   rV   rW   rX   Nr5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r   r   rZ   rB   rE   rF   r   r   rG   r   r   rH   r?   r   r   r   rI   r[   s         r    r\   zAsyncRawToolsClient.create  sf    $ ..;;CC8,<  2 , D 
 
		ti++1c1%"/ ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooI
D  	ty'<'<d9K\K\F]dmdrdrss	ts8   AFEFAE (F)A4E ,F?F

F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)av  
        Get tool that is available in the workspace.

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

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

        Returns
        -------
        AsyncHttpResponse[ToolResponseModel]
            Successful Response
        r_   r0   r`   Nr5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r
   rB   rE   rF   r   r   rG   r   r   rH   r?   r   r   r   rI   ra   s         r    rb   zAsyncRawToolsClient.get"  sP    & ..;;CC/89:+ D 
 
	
	ti++1c1%"/ ) 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 c                ~  K   | j                   j                  j                  dt        |       d|       d{   }	 ||j                  j                         st        |d      S d|j                  cxk  rdk  r[n nXt        j                  t        j                  t        t        j                  |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)ab  
        Delete tool from the workspace.

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

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

        Returns
        -------
        AsyncHttpResponse[typing.Any]
            Successful Response
        r_   rd   r`   Nr:   r5   r6   r7   r=   r>   rA   )r   rC   rD   r
   rI   re   r   rB   rE   rF   rf   r   rG   r   rH   r?   r   r   r   ra   s         r    rg   zAsyncRawToolsClient.deleteT  sz    & ..;;CC/89:+ D 
 
	
	t 	(<(<(>()$GGi++1c1JJ"$jj ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`noo?
:  	ty'<'<d9K\K\F]dmdrdrss	tsA   8F=E8F= (E; (F=)A/E; F=A4E; ,F=;?F::F=c                6  K   | j                   j                  j                  dt        |       dt	        |t
        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 tool that is available in the workspace.

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

        request : ToolRequestModel

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

        Returns
        -------
        AsyncHttpResponse[ToolResponseModel]
            Successful Response
        r_   ri   rR   rS   rV   rW   rX   Nr5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r
   r   r   rZ   rB   rE   rF   r   r   rG   r   r   rH   r?   r   r   r   rI   rj   s          r    rk   zAsyncRawToolsClient.update  st    * ..;;CC/89:8,<  2 , D 
 
		ti++1c1%"/ ) 0 ))%HH$$+. !2!23+&"5$-NN$4	 	 '^^-N 9#8#8$yGXGXBY`nooI
D  	ty'<'<d9K\K\F]dmdrdrss	ts8   AFEFAE 4F5A4E ),F?FFrl   c                  K   | j                   j                  j                  dt        |       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)a~  
        Get a list of agents depending on this tool

        Parameters
        ----------
        tool_id : str
            ID of the requested tool.

        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
        -------
        AsyncHttpResponse[GetToolDependentAgentsResponseModel]
            Successful Response
        r_   rn   r0   ro   r2   Nr5   r6   r7   r:   r=   r>   rA   )r   rC   rD   r
   rB   rE   rF   r   r   rG   r   r   rH   r?   r   r   r   rI   rp   s           r    rq   z(AsyncRawToolsClient.get_dependent_agents  sa    < ..;;CC/899JK & , D 
 
		ti++1c17"A ) 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s6   =FE  FAE  F!A4E ,F?FF)rr   rs   rt   r   r!   rE   ru   rv   rw   rx   ry   r   rz   r   r   r   r   r   rN   r   r   r\   rb   rf   rg   rk   r   rq   r{   r#   r    r}   r}     sV   .*< . (,*.;?`d9=/3'+;?Tp $Tp ??3'	Tp
 $*??4#8Tp v||NFOON<[,[\]Tp 6Tp ,Tp $Tp  8Tp 
-	.Tpn `d6p*6p=C__^=\6p	,	-6pr SW0p0p060O0p	,	-0pf SW2p2p060O2p	6::	&2pj nr9p9p(89pKQ??[iKj9p	,	-9p~ (,*.;??p?p $	?p
 ??3'?p  8?p 
>	??pr#   r}   )*rE   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r	   core.jsonable_encoderr
   core.request_optionsr   core.serializationr   core.unchecked_base_modelr   !errors.unprocessable_entity_errorr   .types.get_tool_dependent_agents_response_modelr   types.http_validation_errorr   types.sort_directionr   types.tool_request_modelr   types.tool_response_modelr   types.tool_sort_byr   types.tool_type_filterr   types.tools_response_modelr   rF   rf   rZ   r   r}   r{   r#   r    <module>r      sr     ( & H A 5 2 I 7 I a > 1 8 : , 4 < v{{6::s#rp rpjrp rpr#   