
    >'hJ9                     l   d dl Z 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 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Zej6                  j9                  d      red dlmZ  e j@                  e jB                  d      Z" G d d      Z# G d d      Z$y# e$ r d dlZY =w xY w)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)jsonable_encoder)remove_none_from_dict)UnprocessableEntityError)Batch)BatchPaginatedList)BatchPublicOutput)HttpValidationError)LlamaParseParametersz1..c                      e Zd ZdefdZddddddej                  e   dej                  e   dej                  e   dej                  e   d	e	f
d
Z
ddeeeeddej                  e   dej                  e   dedej                  e   dededej                  e   dej                  e   dededej                  e   d	efdZdddedej                  e   d	efdZy)
BetaClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     h/home/kushmeetdev/Regenta/Chatbot/venv/lib/python3.12/site-packages/llama_cloud/resources/beta/client.py__init__zBetaClient.__init__   
    -    Nlimitoffset
project_idorganization_idr   r   r    r!   returnc                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||||d      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a  
        Parameters:
            - limit: typing.Optional[int].

            - offset: typing.Optional[int].

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.beta.list_batches()
        GET/api/v1/beta/batchesr   <   paramsheaderstimeout   ,    status_codebodyr   httpx_clientrequesturllibparseurljoinget_base_urlr	   get_headersr0   pydanticparse_obj_asr   jsonr
   r   r   r   textr   r   r   r    r!   	_response_response_jsons          r   list_batcheszBetaClient.list_batches"   s2   2 ((55==LL  D$8$8$E$E$G#H!JLab(6`op ((446 > 
	 )''-#-(();Y^^=MNN  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D2 2+Er!   r    	tool_dataoutput_type	output_idcompletion_windowtoolrD   
input_typeinput_idrE   rF   batch_create_project_idexternal_idrG   c          	      H   ||||	|
d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd      t        ||d	      t        |      | j                  j                         d
      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      # t$        $ r" t'        |j                  |j(                        w xY w)a  
        Parameters:
            - organization_id: typing.Optional[str].

            - project_id: typing.Optional[str].

            - tool: str. The tool to be used for all requests in the batch.

            - tool_data: typing.Optional[LlamaParseParameters].

            - input_type: str. The type of input file. Currently only 'datasource' is supported.

            - input_id: str. The ID of the input file for the batch.

            - output_type: typing.Optional[str].

            - output_id: typing.Optional[str].

            - batch_create_project_id: str. The ID of the project to which the batch belongs

            - external_id: str. A developer-provided ID for the batch. This ID will be returned in the response.

            - completion_window: typing.Optional[int]. The time frame within which the batch should be processed. Currently only 24h is supported.
        ---
        from llama_cloud import FailPageMode, LlamaParseParameters, ParsingMode
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.beta.create_batch(
            tool="string",
            tool_data=LlamaParseParameters(
                parse_mode=ParsingMode.PARSE_PAGE_WITHOUT_LLM,
                replace_failed_page_mode=FailPageMode.RAW_TEXT,
            ),
            input_type="string",
            input_id="string",
            batch_create_project_id="string",
            external_id="string",
        )
        rH   rI   rJ   r    rL   rD   rE   rF   rG   POSTr%   r&   r!   r    r'   r)   r<   r*   r+   r,   r-   r.   r/   OMITr   r3   r4   r5   r6   r7   r8   r	   r   r9   r0   r:   r;   r   r<   r
   r   r   r   r=   r   r!   r    rH   rD   rI   rJ   rE   rF   rK   rL   rG   _requestr?   r@   s                  r   create_batchzBetaClient.create_batchN   s   t $ 1&2
 D $-H[!d"&1H]#D $-H[!D(,=H()((55==LL  D$8$8$E$E$G#H!JLab(_\f)gh!(+((446 > 
	 )''-#-((	0@AA  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   E6 6+F!r!   batch_idc                   | j                   j                  j                  dt        j                  j                  | j                   j                          dd|       t        d|i      | j                   j                         d      }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a>  
        Parameters:
            - batch_id: str.

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.beta.get_batch(
            batch_id="string",
        )
        r$   r%   api/v1/beta/batches/r!   r'   r(   r,   r-   r.   r/   r   r3   r4   r5   r6   r7   r8   r	   r9   r0   r:   r;   r   r<   r
   r   r   r   r=   r   rX   r!   r?   r@   s        r   	get_batchzBetaClient.get_batch   s2     ((55==LL  D$8$8$E$E$G#H!JNbckblLmn(*;_)MN((446 > 
	 )''-#-(():INN<LMM  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	SrB   )__name__
__module____qualname__r   r   typingOptionalintstrr   rA   rS   r   r   rV   r   r]    r   r   r   r      s   .*; . '+'++/04*O s#*O $	*O
 OOC(*O  -*O 
*O^ 15+/;? -1*. 37XO  -XO OOC(	XO
 XO ??#78XO XO XO __S)XO ??3'XO "%XO XO "??3/XO 
XOt SW O# O6??3;O O[l Or   r   c                      e Zd ZdefdZddddddej                  e   dej                  e   dej                  e   dej                  e   d	e	f
d
Z
ddeeeeddej                  e   dej                  e   dedej                  e   dededej                  e   dej                  e   dededej                  e   d	efdZdddedej                  e   d	efdZy)AsyncBetaClientr   c                    || _         y r   r   r   s     r   r   zAsyncBetaClient.__init__   r   r   Nr   r   r   r    r!   r"   c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      t        ||||d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      7 # t         $ r" t#        |j                  |j$                        w xY ww)a  
        Parameters:
            - limit: typing.Optional[int].

            - offset: typing.Optional[int].

            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.beta.list_batches()
        r$   r%   r&   r   r'   r(   Nr,   r-   r.   r/   r2   r>   s          r   rA   zAsyncBetaClient.list_batches   s@    2 ..;;CCLL  D$8$8$E$E$G#H!JLab(6`op ((446 D 
 
	 )''-#-(();Y^^=MNN  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	S+   BE,D<BE,D> %E,>+E))E,rC   rH   rD   rI   rJ   rE   rF   rK   rL   rG   c          	      d  K   ||||	|
d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   | j                  j                  j                  dt        j
                  j                  | j                  j                          dd      t        ||d	      t        |      | j                  j                         d
       d{   }d|j                  cxk  rdk  r+n n(t        j                  t        |j                               S |j                  dk(  r1t!        t        j                  t"        |j                                     	 |j                         }t'        |j                  |      7 # t$        $ r" t'        |j                  |j(                        w xY ww)a  
        Parameters:
            - organization_id: typing.Optional[str].

            - project_id: typing.Optional[str].

            - tool: str. The tool to be used for all requests in the batch.

            - tool_data: typing.Optional[LlamaParseParameters].

            - input_type: str. The type of input file. Currently only 'datasource' is supported.

            - input_id: str. The ID of the input file for the batch.

            - output_type: typing.Optional[str].

            - output_id: typing.Optional[str].

            - batch_create_project_id: str. The ID of the project to which the batch belongs

            - external_id: str. A developer-provided ID for the batch. This ID will be returned in the response.

            - completion_window: typing.Optional[int]. The time frame within which the batch should be processed. Currently only 24h is supported.
        ---
        from llama_cloud import FailPageMode, LlamaParseParameters, ParsingMode
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.beta.create_batch(
            tool="string",
            tool_data=LlamaParseParameters(
                parse_mode=ParsingMode.PARSE_PAGE_WITHOUT_LLM,
                replace_failed_page_mode=FailPageMode.RAW_TEXT,
            ),
            input_type="string",
            input_id="string",
            batch_create_project_id="string",
            external_id="string",
        )
        rN   rD   rE   rF   rG   rO   r%   r&   rP   r'   rQ   Nr,   r-   r.   r/   rR   rT   s                  r   rV   zAsyncBetaClient.create_batch   s    t $ 1&2
 D $-H[!d"&1H]#D $-H[!D(,=H()..;;CCLL  D$8$8$E$E$G#H!JLab(_\f)gh!(+((446 D 
 
	 )''-#-((	0@AA  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Ss+   CF0F BF0F )F0+F--F0rW   rX   c                  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd|       t        d|i      | j                   j                         d       d{   }d|j                  cxk  rd	k  r+n n(t        j                  t        |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      7 # t         $ r" t#        |j                  |j$                        w xY ww)aN  
        Parameters:
            - batch_id: str.

            - organization_id: typing.Optional[str].
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.beta.get_batch(
            batch_id="string",
        )
        r$   r%   rZ   r!   r'   r(   Nr,   r-   r.   r/   r[   r\   s        r   r]   zAsyncBetaClient.get_batchT  s@      ..;;CCLL  D$8$8$E$E$G#H!JNbckblLmn(*;_)MN((446 D 
 
	 )''-#-(():INN<LMM  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Srj   )r^   r_   r`   r   r   ra   rb   rc   rd   r   rA   rS   r   r   rV   r   r]   re   r   r   rg   rg      s   .*< . '+'++/04*O s#*O $	*O
 OOC(*O  -*O 
*O^ 15+/;? -1*. 37XO  -XO OOC(	XO
 XO ??#78XO XO XO __S)XO ??3'XO "%XO XO "??3/XO 
XOt Y] O OQTAU Oar Or   rg   )%ra   urllib.parser5   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.jsonable_encoderr   core.remove_none_from_dictr	   !errors.unprocessable_entity_errorr
   types.batchr   types.batch_paginated_listr   types.batch_public_outputr   types.http_validation_errorr   types.llama_parse_parametersr   r:   __version__
startswithImportErrorpydantic.v1v1castAnyrS   r   rg   re   r   r   <module>r      s      ( & H 5 ? I   < : > @&&t,"
 v{{6::s#iO iOXiO iOg  s   'B' '	B32B3