
    j
                         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	m
Z
  e j                  e j                  d      Z G d	 d
      Z G d d      Zy)    N   )AsyncClientWrapperSyncClientWrapper)RequestOptions)WelcomeWizardTracking   )AsyncRawWelcomeWizardClientRawWelcomeWizardClient.c                   (   e Zd ZdefdZedefd       Zdddej                  e
   defdZeeeedd	d
ej                  e   dej                  ej                  e      dej                  e   dej                  e   dej                  e
   ddfdZy)WelcomeWizardClient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/welcome_wizard/client.py__init__zWelcomeWizardClient.__init__   s    1P    returnc                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawWelcomeWizardClient
        r   r   s    r   with_raw_responsez%WelcomeWizardClient.with_raw_response        r   Nrequest_optionsr   c                R    | j                   j                  |      }|j                  S )a  
        Get welcome wizard tracking status for the current workspace

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

        Returns
        -------
        WelcomeWizardTracking
            Welcome wizard tracking status

        Examples
        --------
        from Opik import OpikApi
        client = OpikApi(api_key="YOUR_API_KEY", workspace_name="YOUR_WORKSPACE_NAME", )
        client.welcome_wizard.get_welcome_wizard_status()
        r   r   get_welcome_wizard_statusdatar   r   	_responses      r   r    z-WelcomeWizardClient.get_welcome_wizard_status   s'    , $$>>>_	~~r   roleintegrationsemailjoin_beta_programr   r%   r&   r'   r(   c                Z    | j                   j                  |||||      }|j                  S )a.  
        Submit welcome wizard with user information

        Parameters
        ----------
        role : typing.Optional[str]
            Optional user role

        integrations : typing.Optional[typing.Sequence[str]]
            List of integrations the user selected

        email : typing.Optional[str]
            Optional user email

        join_beta_program : typing.Optional[bool]
            Whether user wants to join beta programs

        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.welcome_wizard.submit_welcome_wizard()
        r$   r   submit_welcome_wizardr!   r   r%   r&   r'   r(   r   r#   s          r   r+   z)WelcomeWizardClient.submit_welcome_wizard6   s;    N $$::%/+ ; 
	 ~~r   )__name__
__module____qualname__r   r   propertyr
   r   typingOptionalr   r   r    OMITstrSequenceboolr+    r   r   r   r      s    Q*; Q  #9     EI"(//."A	8 &*>B&*37;?. ooc". oofooc&:;	.
 s#. "??40.  8. 
.r   r   c                   (   e Zd ZdefdZedefd       Zdddej                  e
   defdZeeeedd	d
ej                  e   dej                  ej                  e      dej                  e   dej                  e   dej                  e
   ddfdZy)AsyncWelcomeWizardClientr   c                &    t        |      | _        y r   )r	   r   r   s     r   r   z!AsyncWelcomeWizardClient.__init__h   s    6nUr   r   c                     | j                   S )z
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawWelcomeWizardClient
        r   r   s    r   r   z*AsyncWelcomeWizardClient.with_raw_responsek   r   r   Nr   r   c                n   K   | j                   j                  |       d{   }|j                  S 7 w)a  
        Get welcome wizard tracking status for the current workspace

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

        Returns
        -------
        WelcomeWizardTracking
            Welcome wizard tracking status

        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.welcome_wizard.get_welcome_wizard_status()
        asyncio.run(main())
        r   Nr   r"   s      r   r    z2AsyncWelcomeWizardClient.get_welcome_wizard_statusv   s5     2 **DDUdDee	~~ fs    535r$   r%   r&   r'   r(   c                v   K   | j                   j                  |||||       d{   }|j                  S 7 w)a  
        Submit welcome wizard with user information

        Parameters
        ----------
        role : typing.Optional[str]
            Optional user role

        integrations : typing.Optional[typing.Sequence[str]]
            List of integrations the user selected

        email : typing.Optional[str]
            Optional user email

        join_beta_program : typing.Optional[bool]
            Whether user wants to join beta programs

        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.welcome_wizard.submit_welcome_wizard()
        asyncio.run(main())
        r$   Nr*   r,   s          r   r+   z.AsyncWelcomeWizardClient.submit_welcome_wizard   sJ     T **@@%/+ A 
 
	 ~~
s   $979)r-   r.   r/   r   r   r0   r	   r   r1   r2   r   r   r    r3   r4   r5   r6   r+   r7   r   r   r9   r9   g   s    V*< V  #>     EI"(//."A	> &*>B&*37;?1 ooc"1 oofooc&:;	1
 s#1 "??401  81 
1r   r9   )r1   core.client_wrapperr   r   core.request_optionsr   types.welcome_wizard_trackingr   
raw_clientr	   r
   castAnyr3   r   r9   r7   r   r   <module>rD      sG     G 1 A K v{{6::s#V Vr\ \r   