§
     j·   ã                   óŽ   — d dl Zd dlZddlmZ ddlmZmZ ddlm	Z	 ddl
mZmZ ddlmZ  G d	„ d
¦  «        Z G d„ d¦  «        ZdS )é    Né   )ÚSessionWithTraces)ÚAsyncClientWrapperÚSyncClientWrapper)ÚRequestOptionsé   )ÚAsyncRawSessionsClientÚRawSessionsClient)ÚPaginatedSessionsc                   ób  — e Zd Zdefd„Zedefd„¦   «         Zdddddddœdej	        e
         dej	        e
         d	ej	        ej                 d
ej	        ej                 dej	        ej        eej        e         f                  dej	        e         defd„Zddœdedej	        e         defd„ZdS )ÚSessionsClientÚclient_wrapperc                ó0   — t          |¬¦  «        | _        d S ©N)r   )r
   Ú_raw_client©Úselfr   s     úf/lsinfo/ai/hellotax_ai/base_platform/venv/lib/python3.11/site-packages/langfuse/api/sessions/client.pyÚ__init__zSessionsClient.__init__   s   € Ý,¸NÐKÑKÔKˆÔÐÐó    Úreturnc                 ó   — | j         S )z–
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawSessionsClient
        ©r   ©r   s    r   Úwith_raw_responsez SessionsClient.with_raw_response   ó   € ð ÔÐr   N©ÚpageÚlimitÚfrom_timestampÚto_timestampÚenvironmentÚrequest_optionsr   r   r    r!   r"   r#   c                óP   — | j                              ||||||¬¦  «        }|j        S )a‡  
        Get sessions

        Parameters
        ----------
        page : typing.Optional[int]
            Page number, starts at 1

        limit : typing.Optional[int]
            Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit.

        from_timestamp : typing.Optional[dt.datetime]
            Optional filter to only include sessions created on or after a certain datetime (ISO 8601)

        to_timestamp : typing.Optional[dt.datetime]
            Optional filter to only include sessions created before a certain datetime (ISO 8601)

        environment : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Optional filter for sessions where the environment is one of the provided values.

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

        Returns
        -------
        PaginatedSessions

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.sessions.list()
        r   ©r   ÚlistÚdata©r   r   r   r    r!   r"   r#   Ú	_responses           r   r&   zSessionsClient.list   s>   € ðf Ô$×)Ò)ØØØ)Ø%Ø#Ø+ð *ñ 
ô 
ˆ	ð Œ~Ðr   ©r#   Ú
session_idc                óH   — | j                              ||¬¦  «        }|j        S )aÇ  
        Get a session. Please note that `traces` on this endpoint are not paginated, if you plan to fetch large sessions, consider `GET /api/public/traces?sessionId=<sessionId>`

        Parameters
        ----------
        session_id : str
            The unique id of a session

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

        Returns
        -------
        SessionWithTraces

        Examples
        --------
        from langfuse import LangfuseAPI

        client = LangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )
        client.sessions.get(
            session_id="sessionId",
        )
        r*   ©r   Úgetr'   ©r   r+   r#   r)   s       r   r.   zSessionsClient.getY   s(   € ðJ Ô$×(Ò(¨À_Ð(ÑUÔUˆ	ØŒ~Ðr   )Ú__name__Ú
__module__Ú__qualname__r   r   Úpropertyr
   r   ÚtypingÚOptionalÚintÚdtÚdatetimeÚUnionÚstrÚSequencer   r   r&   r   r.   © r   r   r   r      s^  € € € € € ðLÐ*;ð Lð Lð Lð Lð ð Ð#4ð  ð  ð  ñ „Xð ð &*Ø&*Ø7;Ø59ØPTØ;?ð;ð ;ð ;ð Œo˜cÔ"ð;ð Œ˜sÔ#ð	;ð
 œ¨¬Ô4ð;ð ”o b¤kÔ2ð;ð ”_ V¤\°#°v´ÀsÔ7KÐ2KÔ%LÔMð;ð  œ¨Ô8ð;ð 
ð;ð ;ð ;ð ;ðB <@ð	&ð &ð &àð&ð  œ¨Ô8ð	&ð
 
ð&ð &ð &ð &ð &ð &r   r   c                   ób  — e Zd Zdefd„Zedefd„¦   «         Zdddddddœdej	        e
         dej	        e
         d	ej	        ej                 d
ej	        ej                 dej	        ej        eej        e         f                  dej	        e         defd„Zddœdedej	        e         defd„ZdS )ÚAsyncSessionsClientr   c                ó0   — t          |¬¦  «        | _        d S r   )r	   r   r   s     r   r   zAsyncSessionsClient.__init__ƒ   s   € Ý1ÀÐPÑPÔPˆÔÐÐr   r   c                 ó   — | j         S )z›
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawSessionsClient
        r   r   s    r   r   z%AsyncSessionsClient.with_raw_response†   r   r   Nr   r   r   r    r!   r"   r#   c             ƒ   ó`   K  — | j                              ||||||¬¦  «        ƒ d{V —†}|j        S )aõ  
        Get sessions

        Parameters
        ----------
        page : typing.Optional[int]
            Page number, starts at 1

        limit : typing.Optional[int]
            Limit of items per page. If you encounter api issues due to too large page sizes, try to reduce the limit.

        from_timestamp : typing.Optional[dt.datetime]
            Optional filter to only include sessions created on or after a certain datetime (ISO 8601)

        to_timestamp : typing.Optional[dt.datetime]
            Optional filter to only include sessions created before a certain datetime (ISO 8601)

        environment : typing.Optional[typing.Union[str, typing.Sequence[str]]]
            Optional filter for sessions where the environment is one of the provided values.

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

        Returns
        -------
        PaginatedSessions

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


        async def main() -> None:
            await client.sessions.list()


        asyncio.run(main())
        r   Nr%   r(   s           r   r&   zAsyncSessionsClient.list‘   s`   è è € ðv Ô*×/Ò/ØØØ)Ø%Ø#Ø+ð 0ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆ	ð Œ~Ðr   r*   r+   c             ƒ   óX   K  — | j                              ||¬¦  «        ƒ d{V —†}|j        S )a=  
        Get a session. Please note that `traces` on this endpoint are not paginated, if you plan to fetch large sessions, consider `GET /api/public/traces?sessionId=<sessionId>`

        Parameters
        ----------
        session_id : str
            The unique id of a session

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

        Returns
        -------
        SessionWithTraces

        Examples
        --------
        import asyncio

        from langfuse import AsyncLangfuseAPI

        client = AsyncLangfuseAPI(
            x_langfuse_sdk_name="YOUR_X_LANGFUSE_SDK_NAME",
            x_langfuse_sdk_version="YOUR_X_LANGFUSE_SDK_VERSION",
            x_langfuse_public_key="YOUR_X_LANGFUSE_PUBLIC_KEY",
            username="YOUR_USERNAME",
            password="YOUR_PASSWORD",
            base_url="https://yourhost.com/path/to/api",
        )


        async def main() -> None:
            await client.sessions.get(
                session_id="sessionId",
            )


        asyncio.run(main())
        r*   Nr-   r/   s       r   r.   zAsyncSessionsClient.getÖ   sS   è è € ðZ Ô*×.Ò.Ø¨ð /ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆ	ð Œ~Ðr   )r0   r1   r2   r   r   r3   r	   r   r4   r5   r6   r7   r8   r9   r:   r;   r   r   r&   r   r.   r<   r   r   r>   r>   ‚   sk  € € € € € ðQÐ*<ð Qð Qð Qð Qð ð Ð#9ð  ð  ð  ñ „Xð ð &*Ø&*Ø7;Ø59ØPTØ;?ðCð Cð Cð Œo˜cÔ"ðCð Œ˜sÔ#ð	Cð
 œ¨¬Ô4ðCð ”o b¤kÔ2ðCð ”_ V¤\°#°v´ÀsÔ7KÐ2KÔ%LÔMðCð  œ¨Ô8ðCð 
ðCð Cð Cð CðR <@ð	0ð 0ð 0àð0ð  œ¨Ô8ð	0ð
 
ð0ð 0ð 0ð 0ð 0ð 0r   r>   )r8   r7   r4   Ú!commons.types.session_with_tracesr   Úcore.client_wrapperr   r   Úcore.request_optionsr   Ú
raw_clientr	   r
   Útypes.paginated_sessionsr   r   r>   r<   r   r   ú<module>rH      sï   ðð Ð Ð Ð Ø €€€à AÐ AÐ AÐ AÐ AÐ AØ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ 7Ð 7Ð 7Ð 7Ð 7Ð 7ðrð rð rð rð rñ rô rð rðjDð Dð Dð Dð Dñ Dô Dð Dð Dð Dr   