
    j4                         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 d	d
lmZmZ d	dlmZ  e j&                  e j(                  d      Z G d d      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)FeedbackCreate)FeedbackDefinitionPagePublic)FeedbackPublic)FeedbackUpdate   )!AsyncRawFeedbackDefinitionsClientRawFeedbackDefinitionsClient)"FindFeedbackDefinitionsRequestType.c                       e Zd ZdefdZ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dfdZdddedej                  e   defdZdddededej                  e   ddfdZdddedej                  e   ddfdZdddej.                  e   dej                  e   ddfdZy)FeedbackDefinitionsClientclient_wrapperc                &    t        |      | _        y N)r   )r   _raw_clientselfr   s     /Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/rest_api/feedback_definitions/client.py__init__z"FeedbackDefinitionsClient.__init__   s    7~V    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawFeedbackDefinitionsClient
        r   r   s    r   with_raw_responsez+FeedbackDefinitionsClient.with_raw_response        r   Npagesizenametyperequest_optionsr!   r"   r#   r$   r%   c                Z    | j                   j                  |||||      }|j                  S )a  
        Find Feedback definitions

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        type : typing.Optional[FindFeedbackDefinitionsRequestType]

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

        Returns
        -------
        FeedbackDefinitionPagePublic
            Feedback definitions resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.feedback_definitions.find_feedback_definitions()
        r    r   find_feedback_definitionsdatar   r!   r"   r#   r$   r%   	_responses          r   r(   z3FeedbackDefinitionsClient.find_feedback_definitions!   s7    H $$>>Dt$ ? 
	 ~~r   r%   requestc                T    | j                   j                  ||      }|j                  S )a:  
        Get feedback definition

        Parameters
        ----------
        request : FeedbackCreate

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import OpikApi
        from Opik import FeedbackCreate_Numerical
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.feedback_definitions.create_feedback_definition(request=FeedbackCreate_Numerical(), )
        r-   r%   r   create_feedback_definitionr)   r   r-   r%   r+   s       r   r1   z4FeedbackDefinitionsClient.create_feedback_definitionJ   s*    0 $$??ap?q	~~r   idc                T    | j                   j                  ||      }|j                  S )a  
        Get feedback definition by id

        Parameters
        ----------
        id : str

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

        Returns
        -------
        FeedbackPublic
            Feedback definition resource

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.feedback_definitions.get_feedback_definition_by_id(id='id', )
        r,   r   get_feedback_definition_by_idr)   r   r3   r%   r+   s       r   r6   z7FeedbackDefinitionsClient.get_feedback_definition_by_ide   s*    0 $$BB2WfBg	~~r   c                V    | j                   j                  |||      }|j                  S )a^  
        Update feedback definition by id

        Parameters
        ----------
        id : str

        request : FeedbackUpdate

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import OpikApi
        from Opik import FeedbackUpdate_Numerical
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.feedback_definitions.update_feedback_definition(id='id', request=FeedbackUpdate_Numerical(), )
        r/   r   update_feedback_definitionr)   r   r3   r-   r%   r+   s        r   r:   z4FeedbackDefinitionsClient.update_feedback_definition   s,    4 $$??Get?u	~~r   c                T    | j                   j                  ||      }|j                  S )a  
        Delete feedback definition by id

        Parameters
        ----------
        id : str

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.feedback_definitions.delete_feedback_definition_by_id(id='id', )
        r,   r    delete_feedback_definition_by_idr)   r7   s       r   r>   z:FeedbackDefinitionsClient.delete_feedback_definition_by_id   s*    . $$EEbZiEj	~~r   idsc                T    | j                   j                  ||      }|j                  S )a  
        Delete feedback definitions batch

        Parameters
        ----------
        ids : typing.Sequence[str]

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.feedback_definitions.delete_feedback_definitions_batch(ids=['ids'], )
        r?   r%   r   !delete_feedback_definitions_batchr)   r   r?   r%   r+   s       r   rC   z;FeedbackDefinitionsClient.delete_feedback_definitions_batch   s*    . $$FF3`oFp	~~r   )__name__
__module____qualname__r   r   propertyr   r   typingOptionalintstrr   r   r   r(   r   r1   r	   r6   r
   r:   r>   SequencerC    r   r   r   r      s   W*; W  #?     &*%)%)DH;?' ooc"' ooc"	'
 ooc"' oo@A'  8' 
&'T ^b(;A??>;Z	8 NR+1??>+J	8 gk#1DJOOTbDc	< NR+1??>+J	6 `dooc*=C__^=\	r   r   c                       e Zd ZdefdZ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dfdZdddedej                  e   defdZdddededej                  e   ddfdZdddedej                  e   ddfdZdddej.                  e   dej                  e   ddfdZy)AsyncFeedbackDefinitionsClientr   c                &    t        |      | _        y r   )r   r   r   s     r   r   z'AsyncFeedbackDefinitionsClient.__init__   s    <N[r   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawFeedbackDefinitionsClient
        r   r   s    r   r   z0AsyncFeedbackDefinitionsClient.with_raw_response   r   r   Nr    r!   r"   r#   r$   r%   c                v   K   | j                   j                  |||||       d{   }|j                  S 7 w)a!  
        Find Feedback definitions

        Parameters
        ----------
        page : typing.Optional[int]

        size : typing.Optional[int]

        name : typing.Optional[str]

        type : typing.Optional[FindFeedbackDefinitionsRequestType]

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

        Returns
        -------
        FeedbackDefinitionPagePublic
            Feedback definitions resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.feedback_definitions.find_feedback_definitions()
        asyncio.run(main())
        r    Nr'   r*   s          r   r(   z8AsyncFeedbackDefinitionsClient.find_feedback_definitions   sF     N **DDDt$ E 
 
	 ~~
s   $979r,   r-   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        Get feedback definition

        Parameters
        ----------
        request : FeedbackCreate

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import AsyncOpikApi
        from Opik import FeedbackCreate_Numerical
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.feedback_definitions.create_feedback_definition(request=FeedbackCreate_Numerical(), )
        asyncio.run(main())
        r/   Nr0   r2   s       r   r1   z9AsyncFeedbackDefinitionsClient.create_feedback_definition  s7     6 **EEggvEww	~~ x   !646r3   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)a  
        Get feedback definition by id

        Parameters
        ----------
        id : str

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

        Returns
        -------
        FeedbackPublic
            Feedback definition resource

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.feedback_definitions.get_feedback_definition_by_id(id='id', )
        asyncio.run(main())
        r,   Nr5   r7   s       r   r6   z<AsyncFeedbackDefinitionsClient.get_feedback_definition_by_id+  s7     6 **HH]lHmm	~~ nrU   c                r   K   | j                   j                  |||       d{   }|j                  S 7 w)a  
        Update feedback definition by id

        Parameters
        ----------
        id : str

        request : FeedbackUpdate

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import AsyncOpikApi
        from Opik import FeedbackUpdate_Numerical
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.feedback_definitions.update_feedback_definition(id='id', request=FeedbackUpdate_Numerical(), )
        asyncio.run(main())
        r/   Nr9   r;   s        r   r:   z9AsyncFeedbackDefinitionsClient.update_feedback_definitionI  sA     : **EE F 
 
	 ~~
s   "757c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)aU  
        Delete feedback definition by id

        Parameters
        ----------
        id : str

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.feedback_definitions.delete_feedback_definition_by_id(id='id', )
        asyncio.run(main())
        r,   Nr=   r7   s       r   r>   z?AsyncFeedbackDefinitionsClient.delete_feedback_definition_by_idk  s7     4 **KKB`oKpp	~~ qrU   r?   c                p   K   | j                   j                  ||       d{   }|j                  S 7 w)am  
        Delete feedback definitions batch

        Parameters
        ----------
        ids : typing.Sequence[str]

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

        Returns
        -------
        None

        Examples
        --------
        from Opik import AsyncOpikApi
        import asyncio
        client = AsyncOpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        async def main() -> None:
            await client.feedback_definitions.delete_feedback_definitions_batch(ids=['ids'], )
        asyncio.run(main())
        rA   NrB   rD   s       r   rC   z@AsyncFeedbackDefinitionsClient.delete_feedback_definitions_batch  s8     4 **LLQTfuLvv	~~ wrU   )rE   rF   rG   r   r   rH   r   r   rI   rJ   rK   rL   r   r   r   r(   r   r1   r	   r6   r
   r:   r>   rM   rC   rN   r   r   rP   rP      s   \*< \  #D     &*%)%)DH;?* ooc"* ooc"	*
 ooc"* oo@A*  8* 
&*Z ^b(;A??>;Z	> NR+1??>+J	> gk  #1 DJOOTbDc 	 F NR+1??>+J	< `dooc*=C__^=\	r   rP   )rI   core.client_wrapperr   r   core.request_optionsr   types.feedback_creater   %types.feedback_definition_page_publicr   types.feedback_publicr	   types.feedback_updater
   
raw_clientr   r   ,types.find_feedback_definitions_request_typer   castAnyOMITr   rP   rN   r   r   <module>re      sS     G 1 2 P 2 2 W \ v{{6::s#} }@Q Qr   