
    b6i?                    "   d dl mZ d dl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mZ d	dlmZ d	dlmZ d	dlmZ d	dlmZ ej2                  rd	dlmZmZ  ej:                  ej<                  d      Z G d d      Z  G d d      Z!y)    )annotationsN   )AsyncClientWrapperSyncClientWrapper)RequestOptions)CreateAgentTestResponseModel)GetTestsPageResponseModel)#GetTestsSummariesByIdsResponseModel   )AsyncRawTestsClientRawTestsClient)TestsCreateRequestBody)TestsGetResponse)TestsUpdateRequestBody)TestsUpdateResponse)AsyncInvocationsClientInvocationsClient.c                      e Zd ZddZedd       Zdd	 	 	 	 	 ddZddddZdd	 	 	 	 	 	 	 ddZddddZ	dd	 	 	 	 	 dd	Z
ddddd
	 	 	 	 	 	 	 	 	 ddZed        Zy)TestsClientc               B    t        |      | _        || _        d | _        y Nclient_wrapper)r   _raw_client_client_wrapper_invocationsselfr   s     t/root/.openclaw/workspace/visionaryfx/venv/lib/python3.12/site-packages/elevenlabs/conversational_ai/tests/client.py__init__zTestsClient.__init__   s    )H-@D    c                    | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawTestsClient
        r   r   s    r   with_raw_responsezTestsClient.with_raw_response        r!   Nrequest_optionsc               T    | j                   j                  ||      }|j                  S )a  
        Creates a new agent response test.

        Parameters
        ----------
        request : TestsCreateRequestBody

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

        Returns
        -------
        CreateAgentTestResponseModel
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs
        from elevenlabs.conversational_ai.tests import TestsCreateRequestBody_Llm

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.tests.create(
            request=TestsCreateRequestBody_Llm(
                name="name",
            ),
        )
        requestr(   r   createdatar   r+   r(   	_responses       r   r-   zTestsClient.create)   s*    @ $$++G_+]	~~r!   c               T    | j                   j                  ||      }|j                  S )a|  
        Gets an agent response test by ID.

        Parameters
        ----------
        test_id : str
            The id of a chat response test. This is returned on test creation.

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

        Returns
        -------
        TestsGetResponse
            Successful Response

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

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.tests.get(
            test_id="TeaqRRdTcIfIu2i7BYfT",
        )
        r'   r   getr.   r   test_idr(   r0   s       r   r3   zTestsClient.getL   s)    8 $$((/(R	~~r!   c               V    | j                   j                  |||      }|j                  S )a]  
        Updates an agent response test by ID.

        Parameters
        ----------
        test_id : str
            The id of a chat response test. This is returned on test creation.

        request : TestsUpdateRequestBody

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

        Returns
        -------
        TestsUpdateResponse
            Successful Response

        Examples
        --------
        from elevenlabs import ElevenLabs
        from elevenlabs.conversational_ai.tests import TestsUpdateRequestBody_Llm

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.tests.update(
            test_id="TeaqRRdTcIfIu2i7BYfT",
            request=TestsUpdateRequestBody_Llm(
                name="name",
            ),
        )
        r*   r   updater.   r   r5   r+   r(   r0   s        r   r8   zTestsClient.updatek   s-    H $$++GWVe+f	~~r!   c               T    | j                   j                  ||      }|j                  S )a|  
        Deletes an agent response test by ID.

        Parameters
        ----------
        test_id : str
            The id of a chat response test. This is returned on test creation.

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

        Returns
        -------
        typing.Any
            Successful Response

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

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.tests.delete(
            test_id="TeaqRRdTcIfIu2i7BYfT",
        )
        r'   r   deleter.   r4   s       r   r<   zTestsClient.delete   s)    8 $$++G_+U	~~r!   c               T    | j                   j                  ||      }|j                  S )a  
        Gets multiple agent response tests by their IDs. Returns a dictionary mapping test IDs to test summaries.

        Parameters
        ----------
        test_ids : typing.Sequence[str]
            List of test IDs to fetch. No duplicates allowed.

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

        Returns
        -------
        GetTestsSummariesByIdsResponseModel
            Successful Response

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

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.tests.summaries(
            test_ids=["test_id_1", "test_id_2"],
        )
        test_idsr(   r   	summariesr.   r   r?   r(   r0   s       r   rA   zTestsClient.summaries   s*    < $$..Ra.b	~~r!   cursor	page_sizesearchr(   c               X    | j                   j                  ||||      }|j                  S )a  
        Lists all agent response tests with pagination support and optional search filtering.

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

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

        search : typing.Optional[str]
            Search query to filter tests by name.

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

        Returns
        -------
        GetTestsPageResponseModel
            Successful Response

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

        client = ElevenLabs(
            api_key="YOUR_API_KEY",
        )
        client.conversational_ai.tests.list(
            cursor="cursor",
            page_size=1,
            search="search",
        )
        rC   r   listr.   r   rD   rE   rF   r(   r0   s         r   rI   zTestsClient.list   s5    V $$))Yv * 
	 ~~r!   c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r   invocations.clientr   r   )r   r   s     r   invocationszTestsClient.invocations  s0    $= 1AUAU VD   r!   )r   r   )returnr   r+   r   r(   typing.Optional[RequestOptions]rN   r   r5   strr(   rP   rN   r   r5   rR   r+   r   r(   rP   rN   r   r5   rR   r(   rP   rN   z
typing.Anyr?   ztyping.Sequence[str]r(   rP   rN   r
   
rD   typing.Optional[str]rE   ztyping.Optional[int]rF   rW   r(   rP   rN   r	   __name__
__module____qualname__r    propertyr%   r-   r3   r8   r<   rA   rI   rM    r!   r   r   r      s   E
     fj!0!Cb!	%!F W[ @ tx%%(>%Qp%	%N Z^ @ ei/Ba	,H (,*.'+;?. %. (	.
 %. 9. 
#.` ! !r!   r   c                      e Zd ZddZedd       Zdd	 	 	 	 	 ddZddddZdd	 	 	 	 	 	 	 ddZddddZ	dd	 	 	 	 	 dd	Z
ddddd
	 	 	 	 	 	 	 	 	 ddZed        Zy)AsyncTestsClientc               B    t        |      | _        || _        d | _        y r   )r   r   r   r   r   s     r   r    zAsyncTestsClient.__init__  s    .nM-EIr!   c                    | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawTestsClient
        r#   r$   s    r   r%   z"AsyncTestsClient.with_raw_response  r&   r!   Nr'   c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)aO  
        Creates a new agent response test.

        Parameters
        ----------
        request : TestsCreateRequestBody

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

        Returns
        -------
        CreateAgentTestResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs
        from elevenlabs.conversational_ai.tests import TestsCreateRequestBody_Llm

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.tests.create(
                request=TestsCreateRequestBody_Llm(
                    name="name",
                ),
            )


        asyncio.run(main())
        r*   Nr,   r/   s       r   r-   zAsyncTestsClient.create  s8     P **11'Sb1cc	~~ d   !646c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        Gets an agent response test by ID.

        Parameters
        ----------
        test_id : str
            The id of a chat response test. This is returned on test creation.

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

        Returns
        -------
        TestsGetResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.tests.get(
                test_id="TeaqRRdTcIfIu2i7BYfT",
            )


        asyncio.run(main())
        r'   Nr2   r4   s       r   r3   zAsyncTestsClient.getG  s7     H **..w.XX	~~ Yrc   c               r   K   | j                   j                  |||       d{   }|j                  S 7 w)a  
        Updates an agent response test by ID.

        Parameters
        ----------
        test_id : str
            The id of a chat response test. This is returned on test creation.

        request : TestsUpdateRequestBody

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

        Returns
        -------
        TestsUpdateResponse
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs
        from elevenlabs.conversational_ai.tests import TestsUpdateRequestBody_Llm

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.tests.update(
                test_id="TeaqRRdTcIfIu2i7BYfT",
                request=TestsUpdateRequestBody_Llm(
                    name="name",
                ),
            )


        asyncio.run(main())
        r*   Nr7   r9   s        r   r8   zAsyncTestsClient.updaten  s:     X **11'7\k1ll	~~ ms   "757c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        Deletes an agent response test by ID.

        Parameters
        ----------
        test_id : str
            The id of a chat response test. This is returned on test creation.

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

        Returns
        -------
        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.tests.delete(
                test_id="TeaqRRdTcIfIu2i7BYfT",
            )


        asyncio.run(main())
        r'   Nr;   r4   s       r   r<   zAsyncTestsClient.delete  s7     H **11'?1[[	~~ \rc   c               p   K   | j                   j                  ||       d{   }|j                  S 7 w)aX  
        Gets multiple agent response tests by their IDs. Returns a dictionary mapping test IDs to test summaries.

        Parameters
        ----------
        test_ids : typing.Sequence[str]
            List of test IDs to fetch. No duplicates allowed.

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

        Returns
        -------
        GetTestsSummariesByIdsResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.tests.summaries(
                test_ids=["test_id_1", "test_id_2"],
            )


        asyncio.run(main())
        r>   Nr@   rB   s       r   rA   zAsyncTestsClient.summaries  s8     L **44hXg4hh	~~ irc   rC   c               t   K   | j                   j                  ||||       d{   }|j                  S 7 w)aD  
        Lists all agent response tests with pagination support and optional search filtering.

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

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

        search : typing.Optional[str]
            Search query to filter tests by name.

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

        Returns
        -------
        GetTestsPageResponseModel
            Successful Response

        Examples
        --------
        import asyncio

        from elevenlabs import AsyncElevenLabs

        client = AsyncElevenLabs(
            api_key="YOUR_API_KEY",
        )


        async def main() -> None:
            await client.conversational_ai.tests.list(
                cursor="cursor",
                page_size=1,
                search="search",
            )


        asyncio.run(main())
        rC   NrH   rJ   s         r   rI   zAsyncTestsClient.list  sC     f **//Yv 0 
 
	 ~~
s   #868c                n    | j                   ddlm}  || j                        | _         | j                   S )Nr   )r   r   )r   rL   r   r   )r   r   s     r   rM   zAsyncTestsClient.invocations%  s0    $B 6dFZFZ [D   r!   )r   r   )rN   r   rO   rQ   rS   rT   rU   rV   rX   r]   r!   r   r_   r_     s   J
     fj)0)Cb)	%)V ]a %P tx--(>-Qp-	-^ `d %P ei'/'Ba'	,'X (,*.'+;?6 %6 (	6
 %6 96 
#6p ! !r!   r_   )"
__future__r   typingcore.client_wrapperr   r   core.request_optionsr   &types.create_agent_test_response_modelr   #types.get_tests_page_response_modelr	   /types.get_tests_summaries_by_ids_response_modelr
   
raw_clientr   r   types.tests_create_request_bodyr   types.tests_get_responser   types.tests_update_request_bodyr   types.tests_update_responser   TYPE_CHECKINGrL   r   r   castAnyOMITr   r_   r]   r!   r   <module>rz      sf    #  H 2 R L b ; C 6 C <	Mv{{6::s#p! p!f`! `!r!   