
    Ji                        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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(jR                  jU                  d      re+d dl,m-Z(  e j\                  e j^                  d      Z0 G d d      Z1 G d d      Z2y# e+$ r d dl(Z(Y =w xY w)    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)jsonable_encoder)remove_none_from_dict)UnprocessableEntityError)HttpValidationError)LlamaParseCropBox)LlamaParseInputOptions)LlamaParseOutputOptions)LlamaParsePageRanges)LlamaParseProcessingControl)LlamaParseTierOptions)LlamaParseWebhookConfiguration)MarkdownResult)
ParsingJob)StructuredResult)
TextResultz1..c                      e Zd ZdefdZddeeeeeeeed
dej                  e   dej                  e   dej                  e   dej                  e	   d	ej                  e
   d
edej                  e   dej                  e   dej                  e   dedej                  e   dej                  ej                   e      defdZddeeeeeeeeeddej                  e   dej                  e   dedej                  e   dej                  e	   d	ej                  e
   dej                  e   dej                  e   dej                  e   dej                  e   dedej                  e   dej                  ej                   e      defdZdddedej                  e   defdZdddedej                  e   defdZdddedej                  e   defdZddddej                  e   dej                  e   defdZddeeeeeeeeeddej                  e   dej                  e   dej                  e   dej                  e	   d	ej                  e
   dej                  e   dej                  e   dej                  e   dej                  e   dedej                  e   d edej                  ej                   e      defd!Zy)"AlphaClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     t/var/www/html/BankruptcyAI-uat/bankruptcy-ai/venv/lib/python3.12/site-packages/llama_cloud/resources/alpha/client.py__init__zAlphaClient.__init__&   
    -    N

project_idorganization_idclient_namecrop_boxdisable_cacheinput_optionsoutput_optionspage_rangesprocessing_controlwebhook_configurationsr%   r&   r'   r(   r)   file_idr*   r+   r,   parse_optionsr-   r.   returnc          	         ||
d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||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)am  
        Parse an already uploaded file by file ID.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - client_name: typing.Optional[str].

            - crop_box: typing.Optional[LlamaParseCropBox]. Document crop box boundaries

            - disable_cache: typing.Optional[bool].

            - file_id: str. ID of an existing file in the project to parse

            - input_options: typing.Optional[LlamaParseInputOptions]. Input format-specific parsing options

            - output_options: typing.Optional[LlamaParseOutputOptions]. Output format and styling options

            - page_ranges: typing.Optional[LlamaParsePageRanges]. Page range selection options

            - parse_options: LlamaParseTierOptions. Parsing tier and related configuration options

            - processing_control: typing.Optional[LlamaParseProcessingControl]. Job processing control and failure handling

            - webhook_configurations: typing.Optional[typing.List[LlamaParseWebhookConfiguration]]. List of webhook configurations for notifications
        ---
        from llama_cloud import (LlamaParseAgenticOptions, LlamaParseCropBox,
                                 LlamaParseEmbeddedImagesOptions,
                                 LlamaParseExportPdfOptions, LlamaParseFastOptions,
                                 LlamaParseHtmlOptions, LlamaParseIgnoreOptions,
                                 LlamaParseInputOptions,
                                 LlamaParseJobFailureConditions,
                                 LlamaParseMarkdownOptions, LlamaParseOcrParameters,
                                 LlamaParseOutputOptions, LlamaParsePageRanges,
                                 LlamaParsePages, LlamaParsePdfOptions,
                                 LlamaParsePresentationOptions,
                                 LlamaParseProcessingControl,
                                 LlamaParseScreenshotsOptions,
                                 LlamaParseSpatialTextOptions,
                                 LlamaParseSpreadsheetOptions, LlamaParseTables,
                                 LlamaParseTablesAsSpreadsheetOptions,
                                 LlamaParseTierOptions, LlamaParseTierOptionsVersion,
                                 LlamaParseTimeouts, TierName)
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(token="YOUR_TOKEN", )
        client.alpha.upload_file_by_id_api_v_2_alpha_1_parse_post(crop_box=LlamaParseCropBox(), file_id="string", input_options=LlamaParseInputOptions(html=LlamaParseHtmlOptions(), pdf=LlamaParsePdfOptions(), presentation=LlamaParsePresentationOptions(), spreadsheet=LlamaParseSpreadsheetOptions(), ), output_options=LlamaParseOutputOptions(embedded_images=LlamaParseEmbeddedImagesOptions(), export_pdf=LlamaParseExportPdfOptions(), markdown=LlamaParseMarkdownOptions(pages=LlamaParsePages(), tables=LlamaParseTables(), ), screenshots=LlamaParseScreenshotsOptions(), spatial_text=LlamaParseSpatialTextOptions(pages=LlamaParsePages(), ), tables_as_spreadsheet=LlamaParseTablesAsSpreadsheetOptions(), ), page_ranges=LlamaParsePageRanges(), parse_options=LlamaParseTierOptions(agentic_options=LlamaParseAgenticOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), fast_options=LlamaParseFastOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), tier=TierName.FAST, version=LlamaParseTierOptionsVersion.2025_11_18, ), processing_control=LlamaParseProcessingControl(job_failure_conditions=LlamaParseJobFailureConditions(), timeouts=LlamaParseTimeouts(), ), )
        r/   r0   r'   r(   r)   r*   r+   r,   r-   r.   POST/api/v2alpha1/parser%   r&   <   paramsjsonheaderstimeout   ,    status_codebodyOMITr   httpx_clientrequesturllibparseurljoinget_base_urlr	   r   get_headersrB   pydanticparse_obj_asr   r;   r
   r   r   r   textr   r%   r&   r'   r(   r)   r/   r*   r+   r,   r0   r-   r.   _request	_response_response_jsons                   r    ,upload_file_by_id_api_v_2_alpha_1_parse_postz8AlphaClient.upload_file_by_id_api_v_2_alpha_1_parse_post)   s   D >EWd1ed"&1H]#4#+HZ $(5H_%$(5H_%%)7H%&d"&1H]#T)-?H)*!-1GH-.((55==LL  D$8$8$E$E$G#H!JL`a(
Wf)gh!(+((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss    F' '+Gr%   r&   r'   r(   r)   filenamer*   r+   r,   r-   r.   base_64_filerV   c          	         ||d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||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  
        Upload a file using base64 encoded content in JSON request.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - base_64_file: str. Base64 encoded file content for parsing

            - client_name: typing.Optional[str].

            - crop_box: typing.Optional[LlamaParseCropBox]. Document crop box boundaries

            - disable_cache: typing.Optional[bool].

            - filename: typing.Optional[str].

            - input_options: typing.Optional[LlamaParseInputOptions]. Input format-specific parsing options

            - output_options: typing.Optional[LlamaParseOutputOptions]. Output format and styling options

            - page_ranges: typing.Optional[LlamaParsePageRanges]. Page range selection options

            - parse_options: LlamaParseTierOptions. Parsing tier and related configuration options

            - processing_control: typing.Optional[LlamaParseProcessingControl]. Job processing control and failure handling

            - webhook_configurations: typing.Optional[typing.List[LlamaParseWebhookConfiguration]]. List of webhook configurations for notifications
        ---
        from llama_cloud import (LlamaParseAgenticOptions, LlamaParseCropBox,
                                 LlamaParseEmbeddedImagesOptions,
                                 LlamaParseExportPdfOptions, LlamaParseFastOptions,
                                 LlamaParseHtmlOptions, LlamaParseIgnoreOptions,
                                 LlamaParseInputOptions,
                                 LlamaParseJobFailureConditions,
                                 LlamaParseMarkdownOptions, LlamaParseOcrParameters,
                                 LlamaParseOutputOptions, LlamaParsePageRanges,
                                 LlamaParsePages, LlamaParsePdfOptions,
                                 LlamaParsePresentationOptions,
                                 LlamaParseProcessingControl,
                                 LlamaParseScreenshotsOptions,
                                 LlamaParseSpatialTextOptions,
                                 LlamaParseSpreadsheetOptions, LlamaParseTables,
                                 LlamaParseTablesAsSpreadsheetOptions,
                                 LlamaParseTierOptions, LlamaParseTierOptionsVersion,
                                 LlamaParseTimeouts, TierName)
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(token="YOUR_TOKEN", )
        client.alpha.upload_file_base_64(base_64_file="string", crop_box=LlamaParseCropBox(), input_options=LlamaParseInputOptions(html=LlamaParseHtmlOptions(), pdf=LlamaParsePdfOptions(), presentation=LlamaParsePresentationOptions(), spreadsheet=LlamaParseSpreadsheetOptions(), ), output_options=LlamaParseOutputOptions(embedded_images=LlamaParseEmbeddedImagesOptions(), export_pdf=LlamaParseExportPdfOptions(), markdown=LlamaParseMarkdownOptions(pages=LlamaParsePages(), tables=LlamaParseTables(), ), screenshots=LlamaParseScreenshotsOptions(), spatial_text=LlamaParseSpatialTextOptions(pages=LlamaParsePages(), ), tables_as_spreadsheet=LlamaParseTablesAsSpreadsheetOptions(), ), page_ranges=LlamaParsePageRanges(), parse_options=LlamaParseTierOptions(agentic_options=LlamaParseAgenticOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), fast_options=LlamaParseFastOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), tier=TierName.FAST, version=LlamaParseTierOptionsVersion.2025_11_18, ), processing_control=LlamaParseProcessingControl(job_failure_conditions=LlamaParseJobFailureConditions(), timeouts=LlamaParseTimeouts(), ), )
        base64_filer0   r'   r(   r)   rV   r*   r+   r,   r-   r.   r4   r5   api/v2alpha1/parse/base64r7   r8   r9   r>   r?   r@   rA   rD   r   r%   r&   rW   r'   r(   r)   rV   r*   r+   r,   r0   r-   r.   rQ   rR   rS   s                    r    upload_file_base_64zAlphaClient.upload_file_base_64   s   J BN`m1nd"&1H]#4#+HZ $(5H_%4#+HZ $(5H_%%)7H%&d"&1H]#T)-?H)*!-1GH-.((55==LL  D$8$8$E$E$G#H!JLgh(
Wf)gh!(+((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   F4 4+Gr&   job_idc          	         | j                   j                  j                  dt        j                  j                  | j                   j                          d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)ar  
        Get a job's markdown result by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.alpha.get_markdown_template(
            job_id="string",
        )
        GETr5   api/v2alpha1/parse/job//result/markdownr&   r8   r:   r<   r=   r>   r?   r@   rA   r   rF   rG   rH   rI   rJ   rK   r	   rL   rB   rM   rN   r   r;   r
   r   r   r   rO   r   r`   r&   rR   rS   s        r    get_markdown_templatez!AlphaClient.get_markdown_template   s9   $ ((55==LL  ''4467q9=TU[T\\l;m )*;_)MN((446 > 
	 )''-#-((9IJJ  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	S   D3 3+Ec          	         | j                   j                  j                  dt        j                  j                  | j                   j                          d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)av  
        Get a job's structured result by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.alpha.get_structured_template(
            job_id="string",
        )
        rb   r5   rc   /result/structuredr&   r8   re   r>   r?   r@   rA   r   rF   rG   rH   rI   rJ   rK   r	   rL   rB   rM   rN   r   r;   r
   r   r   r   rO   rg   s        r    get_structured_templatez#AlphaClient.get_structured_template  s:   $ ((55==LL  ''4467q9=TU[T\\n;o )*;_)MN((446 > 
	 )''-#-(()99>>;KLL  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sri   c          	         | j                   j                  j                  dt        j                  j                  | j                   j                          d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)aj  
        Get a job's text result by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.alpha.get_text_template(
            job_id="string",
        )
        rb   r5   rc   /result/textr&   r8   re   r>   r?   r@   rA   r   rF   rG   rH   rI   rJ   rK   r	   rL   rB   rM   rN   r   r;   r
   r   r   r   rO   rg   s        r    get_text_templatezAlphaClient.get_text_templateB  s9   $ ((55==LL  ''4467q9=TU[T\\h;i )*;_)MN((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sri   r7   c          	         | 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)a6  
        Parameters:
            - project_id: typing.Optional[str].

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.alpha.upload_file_multipart()
        r4   r5   api/v2alpha1/parse/uploadr7   r8   re   r>   r?   r@   rA   r   rF   rG   rH   rI   rJ   rK   r	   rL   rB   rM   rN   r   r;   r
   r   r   r   rO   r   r%   r&   rR   rS   s        r    upload_file_multipartz!AlphaClient.upload_file_multipartg  s(     ((55==LL  D$8$8$E$E$G#H!JLgh(
Wf)gh((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   	D0 0+Er%   r&   r'   r(   r)   
http_proxyr*   r+   r,   r-   r.   rx   
source_urlc          	         |
|d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||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)ao  
        Parse a document from a URL.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - client_name: typing.Optional[str].

            - crop_box: typing.Optional[LlamaParseCropBox]. Document crop box boundaries

            - disable_cache: typing.Optional[bool].

            - http_proxy: typing.Optional[str].

            - input_options: typing.Optional[LlamaParseInputOptions]. Input format-specific parsing options

            - output_options: typing.Optional[LlamaParseOutputOptions]. Output format and styling options

            - page_ranges: typing.Optional[LlamaParsePageRanges]. Page range selection options

            - parse_options: LlamaParseTierOptions. Parsing tier and related configuration options

            - processing_control: typing.Optional[LlamaParseProcessingControl]. Job processing control and failure handling

            - source_url: str. Source URL to fetch document from

            - webhook_configurations: typing.Optional[typing.List[LlamaParseWebhookConfiguration]]. List of webhook configurations for notifications
        ---
        from llama_cloud import (LlamaParseAgenticOptions, LlamaParseCropBox,
                                 LlamaParseEmbeddedImagesOptions,
                                 LlamaParseExportPdfOptions, LlamaParseFastOptions,
                                 LlamaParseHtmlOptions, LlamaParseIgnoreOptions,
                                 LlamaParseInputOptions,
                                 LlamaParseJobFailureConditions,
                                 LlamaParseMarkdownOptions, LlamaParseOcrParameters,
                                 LlamaParseOutputOptions, LlamaParsePageRanges,
                                 LlamaParsePages, LlamaParsePdfOptions,
                                 LlamaParsePresentationOptions,
                                 LlamaParseProcessingControl,
                                 LlamaParseScreenshotsOptions,
                                 LlamaParseSpatialTextOptions,
                                 LlamaParseSpreadsheetOptions, LlamaParseTables,
                                 LlamaParseTablesAsSpreadsheetOptions,
                                 LlamaParseTierOptions, LlamaParseTierOptionsVersion,
                                 LlamaParseTimeouts, TierName)
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(token="YOUR_TOKEN", )
        client.alpha.upload_file_by_url(crop_box=LlamaParseCropBox(), input_options=LlamaParseInputOptions(html=LlamaParseHtmlOptions(), pdf=LlamaParsePdfOptions(), presentation=LlamaParsePresentationOptions(), spreadsheet=LlamaParseSpreadsheetOptions(), ), output_options=LlamaParseOutputOptions(embedded_images=LlamaParseEmbeddedImagesOptions(), export_pdf=LlamaParseExportPdfOptions(), markdown=LlamaParseMarkdownOptions(pages=LlamaParsePages(), tables=LlamaParseTables(), ), screenshots=LlamaParseScreenshotsOptions(), spatial_text=LlamaParseSpatialTextOptions(pages=LlamaParsePages(), ), tables_as_spreadsheet=LlamaParseTablesAsSpreadsheetOptions(), ), page_ranges=LlamaParsePageRanges(), parse_options=LlamaParseTierOptions(agentic_options=LlamaParseAgenticOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), fast_options=LlamaParseFastOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), tier=TierName.FAST, version=LlamaParseTierOptionsVersion.2025_11_18, ), processing_control=LlamaParseProcessingControl(job_failure_conditions=LlamaParseJobFailureConditions(), timeouts=LlamaParseTimeouts(), ), source_url="string", )
        r0   ry   r'   r(   r)   rx   r*   r+   r,   r-   r.   r4   r5   api/v2alpha1/parse/urlr7   r8   r9   r>   r?   r@   rA   rD   r   r%   r&   r'   r(   r)   rx   r*   r+   r,   r0   r-   ry   r.   rQ   rR   rS   s                    r    upload_file_by_urlzAlphaClient.upload_file_by_url  s   J DQ`j1kd"&1H]#4#+HZ $(5H_%T!%/H\"$(5H_%%)7H%&d"&1H]#T)-?H)*!-1GH-.((55==LL  D$8$8$E$E$G#H!JLde(
Wf)gh!(+((446 > 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr^   )__name__
__module____qualname__r   r!   rE   typingOptionalstrr   boolr   r   r   r   r   Listr   r   rT   r]   r   rh   r   rm   r   rq   rv   r~    r#   r    r   r   %   s   .*; . ,004,07;/3AECG=AKO_ccO OOC(cO  -	cO
 __S)cO //"34cO t,cO cO '=>cO (?@cO __%9:cO -cO #OO,GHcO !'<Z0[ \cO 
cOP ,004,07;/3)-AECG=AKO_chO OOC(hO  -	hO
 hO __S)hO //"34hO t,hO //#&hO '=>hO (?@hO __%9:hO -hO #OO,GHhO !'<Z0[ \hO  
!hOT ]a #OC #OV__UXEY #Oes #OJ _c #Oc #OvWZG[ #Ogw #OJ Y] #O #OQTAU #Oak #OL 59bfO#__S1OKQ??[^K_O	OH ,004,07;/3+/AECG=AKO_chO OOC(hO  -	hO
 __S)hO //"34hO t,hO OOC(hO '=>hO (?@hO __%9:hO -hO #OO,GHhO hO !'<Z0[ \hO  
!hOr#   r   c                      e Zd ZdefdZddeeeeeeeed
dej                  e   dej                  e   dej                  e   dej                  e	   d	ej                  e
   d
edej                  e   dej                  e   dej                  e   dedej                  e   dej                  ej                   e      defdZddeeeeeeeeeddej                  e   dej                  e   dedej                  e   dej                  e	   d	ej                  e
   dej                  e   dej                  e   dej                  e   dej                  e   dedej                  e   dej                  ej                   e      defdZdddedej                  e   defdZdddedej                  e   defdZdddedej                  e   defdZddddej                  e   dej                  e   defdZddeeeeeeeeeddej                  e   dej                  e   dej                  e   dej                  e	   d	ej                  e
   dej                  e   dej                  e   dej                  e   dej                  e   dedej                  e   d edej                  ej                   e      defd!Zy)"AsyncAlphaClientr   c                    || _         y r   r   r   s     r    r!   zAsyncAlphaClient.__init__  r"   r#   Nr$   r%   r&   r'   r(   r)   r/   r*   r+   r,   r0   r-   r.   r1   c          	        K   ||
d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||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}  
        Parse an already uploaded file by file ID.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - client_name: typing.Optional[str].

            - crop_box: typing.Optional[LlamaParseCropBox]. Document crop box boundaries

            - disable_cache: typing.Optional[bool].

            - file_id: str. ID of an existing file in the project to parse

            - input_options: typing.Optional[LlamaParseInputOptions]. Input format-specific parsing options

            - output_options: typing.Optional[LlamaParseOutputOptions]. Output format and styling options

            - page_ranges: typing.Optional[LlamaParsePageRanges]. Page range selection options

            - parse_options: LlamaParseTierOptions. Parsing tier and related configuration options

            - processing_control: typing.Optional[LlamaParseProcessingControl]. Job processing control and failure handling

            - webhook_configurations: typing.Optional[typing.List[LlamaParseWebhookConfiguration]]. List of webhook configurations for notifications
        ---
        from llama_cloud import (LlamaParseAgenticOptions, LlamaParseCropBox,
                                 LlamaParseEmbeddedImagesOptions,
                                 LlamaParseExportPdfOptions, LlamaParseFastOptions,
                                 LlamaParseHtmlOptions, LlamaParseIgnoreOptions,
                                 LlamaParseInputOptions,
                                 LlamaParseJobFailureConditions,
                                 LlamaParseMarkdownOptions, LlamaParseOcrParameters,
                                 LlamaParseOutputOptions, LlamaParsePageRanges,
                                 LlamaParsePages, LlamaParsePdfOptions,
                                 LlamaParsePresentationOptions,
                                 LlamaParseProcessingControl,
                                 LlamaParseScreenshotsOptions,
                                 LlamaParseSpatialTextOptions,
                                 LlamaParseSpreadsheetOptions, LlamaParseTables,
                                 LlamaParseTablesAsSpreadsheetOptions,
                                 LlamaParseTierOptions, LlamaParseTierOptionsVersion,
                                 LlamaParseTimeouts, TierName)
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(token="YOUR_TOKEN", )
        await client.alpha.upload_file_by_id_api_v_2_alpha_1_parse_post(crop_box=LlamaParseCropBox(), file_id="string", input_options=LlamaParseInputOptions(html=LlamaParseHtmlOptions(), pdf=LlamaParsePdfOptions(), presentation=LlamaParsePresentationOptions(), spreadsheet=LlamaParseSpreadsheetOptions(), ), output_options=LlamaParseOutputOptions(embedded_images=LlamaParseEmbeddedImagesOptions(), export_pdf=LlamaParseExportPdfOptions(), markdown=LlamaParseMarkdownOptions(pages=LlamaParsePages(), tables=LlamaParseTables(), ), screenshots=LlamaParseScreenshotsOptions(), spatial_text=LlamaParseSpatialTextOptions(pages=LlamaParsePages(), ), tables_as_spreadsheet=LlamaParseTablesAsSpreadsheetOptions(), ), page_ranges=LlamaParsePageRanges(), parse_options=LlamaParseTierOptions(agentic_options=LlamaParseAgenticOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), fast_options=LlamaParseFastOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), tier=TierName.FAST, version=LlamaParseTierOptionsVersion.2025_11_18, ), processing_control=LlamaParseProcessingControl(job_failure_conditions=LlamaParseJobFailureConditions(), timeouts=LlamaParseTimeouts(), ), )
        r3   r'   r(   r)   r*   r+   r,   r-   r.   r4   r5   r6   r7   r8   r9   Nr>   r?   r@   rA   rD   rP   s                   r    rT   z=AsyncAlphaClient.upload_file_by_id_api_v_2_alpha_1_parse_post  s    D >EWd1ed"&1H]#4#+HZ $(5H_%$(5H_%%)7H%&d"&1H]#T)-?H)*!-1GH-...;;CCLL  D$8$8$E$E$G#H!JL`a(
Wf)gh!(+((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Ss+   DG!F1BG!
F3 G!3+GG!rU   rW   rV   c          	        K   ||d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||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  
        Upload a file using base64 encoded content in JSON request.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - base_64_file: str. Base64 encoded file content for parsing

            - client_name: typing.Optional[str].

            - crop_box: typing.Optional[LlamaParseCropBox]. Document crop box boundaries

            - disable_cache: typing.Optional[bool].

            - filename: typing.Optional[str].

            - input_options: typing.Optional[LlamaParseInputOptions]. Input format-specific parsing options

            - output_options: typing.Optional[LlamaParseOutputOptions]. Output format and styling options

            - page_ranges: typing.Optional[LlamaParsePageRanges]. Page range selection options

            - parse_options: LlamaParseTierOptions. Parsing tier and related configuration options

            - processing_control: typing.Optional[LlamaParseProcessingControl]. Job processing control and failure handling

            - webhook_configurations: typing.Optional[typing.List[LlamaParseWebhookConfiguration]]. List of webhook configurations for notifications
        ---
        from llama_cloud import (LlamaParseAgenticOptions, LlamaParseCropBox,
                                 LlamaParseEmbeddedImagesOptions,
                                 LlamaParseExportPdfOptions, LlamaParseFastOptions,
                                 LlamaParseHtmlOptions, LlamaParseIgnoreOptions,
                                 LlamaParseInputOptions,
                                 LlamaParseJobFailureConditions,
                                 LlamaParseMarkdownOptions, LlamaParseOcrParameters,
                                 LlamaParseOutputOptions, LlamaParsePageRanges,
                                 LlamaParsePages, LlamaParsePdfOptions,
                                 LlamaParsePresentationOptions,
                                 LlamaParseProcessingControl,
                                 LlamaParseScreenshotsOptions,
                                 LlamaParseSpatialTextOptions,
                                 LlamaParseSpreadsheetOptions, LlamaParseTables,
                                 LlamaParseTablesAsSpreadsheetOptions,
                                 LlamaParseTierOptions, LlamaParseTierOptionsVersion,
                                 LlamaParseTimeouts, TierName)
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(token="YOUR_TOKEN", )
        await client.alpha.upload_file_base_64(base_64_file="string", crop_box=LlamaParseCropBox(), input_options=LlamaParseInputOptions(html=LlamaParseHtmlOptions(), pdf=LlamaParsePdfOptions(), presentation=LlamaParsePresentationOptions(), spreadsheet=LlamaParseSpreadsheetOptions(), ), output_options=LlamaParseOutputOptions(embedded_images=LlamaParseEmbeddedImagesOptions(), export_pdf=LlamaParseExportPdfOptions(), markdown=LlamaParseMarkdownOptions(pages=LlamaParsePages(), tables=LlamaParseTables(), ), screenshots=LlamaParseScreenshotsOptions(), spatial_text=LlamaParseSpatialTextOptions(pages=LlamaParsePages(), ), tables_as_spreadsheet=LlamaParseTablesAsSpreadsheetOptions(), ), page_ranges=LlamaParsePageRanges(), parse_options=LlamaParseTierOptions(agentic_options=LlamaParseAgenticOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), fast_options=LlamaParseFastOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), tier=TierName.FAST, version=LlamaParseTierOptionsVersion.2025_11_18, ), processing_control=LlamaParseProcessingControl(job_failure_conditions=LlamaParseJobFailureConditions(), timeouts=LlamaParseTimeouts(), ), )
        rY   r'   r(   r)   rV   r*   r+   r,   r-   r.   r4   r5   r[   r7   r8   r9   Nr>   r?   r@   rA   rD   r\   s                    r    r]   z$AsyncAlphaClient.upload_file_base_64\  s    J BN`m1nd"&1H]#4#+HZ $(5H_%4#+HZ $(5H_%%)7H%&d"&1H]#T)-?H)*!-1GH-...;;CCLL  D$8$8$E$E$G#H!JLgh(
Wf)gh!(+((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	S+   DG.F>BG.G  'G. +G++G.r_   r`   c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          d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)a  
        Get a job's markdown result by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.alpha.get_markdown_template(
            job_id="string",
        )
        rb   r5   rc   rd   r&   r8   re   Nr>   r?   r@   rA   rf   rg   s        r    rh   z&AsyncAlphaClient.get_markdown_template  sG    ( ..;;CCLL  ''4467q9=TU[T\\l;m )*;_)MN((446 D 
 
	 )''-#-((9IJJ  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-c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          d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)a  
        Get a job's structured result by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.alpha.get_structured_template(
            job_id="string",
        )
        rb   r5   rc   rk   r&   r8   re   Nr>   r?   r@   rA   rl   rg   s        r    rm   z(AsyncAlphaClient.get_structured_template  sH    ( ..;;CCLL  ''4467q9=TU[T\\n;o )*;_)MN((446 D 
 
	 )''-#-(()99>>;KLL  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Sr   c          	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          d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)az  
        Get a job's text result by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.alpha.get_text_template(
            job_id="string",
        )
        rb   r5   rc   ro   r&   r8   re   Nr>   r?   r@   rA   rp   rg   s        r    rq   z"AsyncAlphaClient.get_text_template  sG    $ ..;;CCLL  ''4467q9=TU[T\\h;i )*;_)MN((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN#
  	Sy'<'<9>>RR	Sr   r7   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)aF  
        Parameters:
            - project_id: typing.Optional[str].

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.alpha.upload_file_multipart()
        r4   r5   rs   r7   r8   re   Nr>   r?   r@   rA   rt   ru   s        r    rv   z&AsyncAlphaClient.upload_file_multipart9  s6      ..;;CCLL  D$8$8$E$E$G#H!JLgh(
Wf)gh((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   BE*D:BE*D< #E*<+E''E*rw   rx   ry   c          	        K   |
|d}|t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||d<   |t         ur||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  
        Parse a document from a URL.

        Parameters:
            - project_id: typing.Optional[str].

            - organization_id: typing.Optional[str].

            - client_name: typing.Optional[str].

            - crop_box: typing.Optional[LlamaParseCropBox]. Document crop box boundaries

            - disable_cache: typing.Optional[bool].

            - http_proxy: typing.Optional[str].

            - input_options: typing.Optional[LlamaParseInputOptions]. Input format-specific parsing options

            - output_options: typing.Optional[LlamaParseOutputOptions]. Output format and styling options

            - page_ranges: typing.Optional[LlamaParsePageRanges]. Page range selection options

            - parse_options: LlamaParseTierOptions. Parsing tier and related configuration options

            - processing_control: typing.Optional[LlamaParseProcessingControl]. Job processing control and failure handling

            - source_url: str. Source URL to fetch document from

            - webhook_configurations: typing.Optional[typing.List[LlamaParseWebhookConfiguration]]. List of webhook configurations for notifications
        ---
        from llama_cloud import (LlamaParseAgenticOptions, LlamaParseCropBox,
                                 LlamaParseEmbeddedImagesOptions,
                                 LlamaParseExportPdfOptions, LlamaParseFastOptions,
                                 LlamaParseHtmlOptions, LlamaParseIgnoreOptions,
                                 LlamaParseInputOptions,
                                 LlamaParseJobFailureConditions,
                                 LlamaParseMarkdownOptions, LlamaParseOcrParameters,
                                 LlamaParseOutputOptions, LlamaParsePageRanges,
                                 LlamaParsePages, LlamaParsePdfOptions,
                                 LlamaParsePresentationOptions,
                                 LlamaParseProcessingControl,
                                 LlamaParseScreenshotsOptions,
                                 LlamaParseSpatialTextOptions,
                                 LlamaParseSpreadsheetOptions, LlamaParseTables,
                                 LlamaParseTablesAsSpreadsheetOptions,
                                 LlamaParseTierOptions, LlamaParseTierOptionsVersion,
                                 LlamaParseTimeouts, TierName)
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(token="YOUR_TOKEN", )
        await client.alpha.upload_file_by_url(crop_box=LlamaParseCropBox(), input_options=LlamaParseInputOptions(html=LlamaParseHtmlOptions(), pdf=LlamaParsePdfOptions(), presentation=LlamaParsePresentationOptions(), spreadsheet=LlamaParseSpreadsheetOptions(), ), output_options=LlamaParseOutputOptions(embedded_images=LlamaParseEmbeddedImagesOptions(), export_pdf=LlamaParseExportPdfOptions(), markdown=LlamaParseMarkdownOptions(pages=LlamaParsePages(), tables=LlamaParseTables(), ), screenshots=LlamaParseScreenshotsOptions(), spatial_text=LlamaParseSpatialTextOptions(pages=LlamaParsePages(), ), tables_as_spreadsheet=LlamaParseTablesAsSpreadsheetOptions(), ), page_ranges=LlamaParsePageRanges(), parse_options=LlamaParseTierOptions(agentic_options=LlamaParseAgenticOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), fast_options=LlamaParseFastOptions(ignore=LlamaParseIgnoreOptions(), ocr_parameters=LlamaParseOcrParameters(), ), tier=TierName.FAST, version=LlamaParseTierOptionsVersion.2025_11_18, ), processing_control=LlamaParseProcessingControl(job_failure_conditions=LlamaParseJobFailureConditions(), timeouts=LlamaParseTimeouts(), ), source_url="string", )
        r{   r'   r(   r)   rx   r*   r+   r,   r-   r.   r4   r5   r|   r7   r8   r9   Nr>   r?   r@   rA   rD   r}   s                    r    r~   z#AsyncAlphaClient.upload_file_by_urlZ  s    J DQ`j1kd"&1H]#4#+HZ $(5H_%T!%/H\"$(5H_%%)7H%&d"&1H]#T)-?H)*!-1GH-...;;CCLL  D$8$8$E$E$G#H!JLde(
Wf)gh!(+((446 D 
 
	 )''-#-((Y^^5EFF  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Sr   )r   r   r   r   r!   rE   r   r   r   r   r   r   r   r   r   r   r   r   r   rT   r]   r   rh   r   rm   r   rq   rv   r~   r   r#   r    r   r     s   .*< . ,004,07;/3AECG=AKO_ccO OOC(cO  -	cO
 __S)cO //"34cO t,cO cO '=>cO (?@cO __%9:cO -cO #OO,GHcO !'<Z0[ \cO 
cOP ,004,07;/3)-AECG=AKO_chO OOC(hO  -	hO
 hO __S)hO //"34hO t,hO //#&hO '=>hO (?@hO __%9:hO -hO #OO,GHhO !'<Z0[ \hO  
!hOV GK%O%O/5s/C%O	%OP GK%O%O/5s/C%O	%ON _c #Oc #OvWZG[ #Ogq #OL 59bfO#__S1OKQ??[^K_O	OH ,004,07;/3+/AECG=AKO_chO OOC(hO  -	hO
 __S)hO //"34hO t,hO OOC(hO '=>hO (?@hO __%9:hO -hO #OO,GHhO hO !'<Z0[ \hO  
!hOr#   r   )3r   urllib.parserH   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.jsonable_encoderr   core.remove_none_from_dictr	   !errors.unprocessable_entity_errorr
   types.http_validation_errorr   types.llama_parse_crop_boxr   types.llama_parse_input_optionsr    types.llama_parse_output_optionsr   types.llama_parse_page_rangesr   $types.llama_parse_processing_controlr   types.llama_parse_tier_optionsr   'types.llama_parse_webhook_configurationr   types.markdown_resultr   types.parsing_jobr   types.structured_resultr   types.text_resultr   rM   __version__
startswithImportErrorpydantic.v1v1castAnyrE   r   r   r   r#   r    <module>r      s      ( & H 5 ? I > ; E G A O C U 3 + 7 +&&t,"
 v{{6::s#KO KO\OO OOk  s   8'C 	CC