
    %Gg!                       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)!LlamaParseSupportedFileExtensions)ParserLanguages)ParsingHistoryItem)
ParsingJob)ParsingJobJsonResult)ParsingJobMarkdownResult)ParsingJobStructuredResult)ParsingJobTextResult)ParsingMode)ParsingUsage)PresignedUrlz1..c                   &   e Zd ZdefdZdededdfdZdej                  e	   fdZ
ddeed	d
ej                  e   dej                  e   dej                  e   dededededededej                  e   dededededededef"dZddeeedd
ej                  e   dej                  e   dej                  e   dedededed ed!ed"ed#ed$ed%ed&ed'ed(ed)ed*ed+ed,ed-eded.ed/ed0ed1ed2ed3edededededed4ej                  e   d5edej                  e   d6ededed7ed8ed9ed:ed;ed<ed=ed>ed?ed@ededAedBedCededDedEej                  e   dFedGedHedededIedJedKedLedMedNedOedPedQedRedSedTedUedVedWedXedYedZedefd[Zdd\d
ej                  e   defd]Zdedefd^Zdedej0                  fd_Zdd\ded
ej                  e   defd`Zdedej0                  fdaZdd\ded
ej                  e   defdbZdedej0                  fdcZdedej0                  fddZ dd\ded
ej                  e   de!fdeZ"dedej0                  fdfZ#dd\ded
ej                  e   de$fdgZ%dedej0                  fdhZ&dej                  e'   fdiZ(dedjede)fdkZ*y)lParsingClientclient_wrapperc                    || _         y N_client_wrapperselfr   s     /home/kushmeetdev/apache_webroot/langgraph_flaskproject/venv/lib/python3.12/site-packages/llama_cloud/resources/parsing/client.py__init__zParsingClient.__init__&   
    -    job_idnamereturnNc           
      \   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d      }d|j                  cxk  rdk  ry	 |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      # t        $ r" t        |j                  |j                         w xY w)a`  
        Get a job by id

        Parameters:
            - job_id: str.

            - name: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_image_result(
            job_id="string",
            name="string",
        )
        GET/api/v1/parsing/job//result/image/<   headerstimeout   ,  N  status_codebodyr   httpx_clientrequesturllibparseurljoinget_base_urlget_headersr4   r
   pydanticparse_obj_asr   jsonr   r   textr   r$   r%   	_response_response_jsons        r    get_job_image_resultz"ParsingClient.get_job_image_result)   s   & ((55==LL  ''4467q9=PQWPXXfgkfl;m ((446 > 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D   +D+c                 D   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S 	 |j                         }t!        |j                  |      # t        $ r" t!        |j                  |j"                        w xY w)	z
        Get a list of supported file extensions

        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_supported_file_extensions()
        r(   r)   (api/v1/parsing/supported_file_extensionsr,   r-   r0   r1   r3   r   r7   r8   r9   r:   r;   r<   r=   r4   r>   r?   typingListr   r@   r   r   rA   r   rC   rD   s      r    get_supported_file_extensionsz+ParsingClient.get_supported_file_extensionsN   s     ((55==LL  D$8$8$E$E$G#H!JLvw((446	 > 
	 )''-#-((5V)WYbYgYgYijj	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   C4 4+Dorganization_id
project_idfile	max_pagesrN   rO   rP   do_not_cache
http_proxyinput_s_3_pathinput_s_3_region	input_urlinvalidate_cacherQ   output_s_3_path_prefixoutput_s_3_regiontarget_pageswebhook_urljob_timeout_in_seconds*job_timeout_extra_time_per_page_in_secondsc                "   ||||||	||||||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)  
        Parameters:
            - organization_id: typing.Optional[str].

            - project_id: typing.Optional[str].

            - file: typing.Optional[str].

            - do_not_cache: bool.

            - http_proxy: str.

            - input_s_3_path: str.

            - input_s_3_region: str.

            - input_url: str.

            - invalidate_cache: bool.

            - max_pages: typing.Optional[int].

            - output_s_3_path_prefix: str.

            - output_s_3_region: str.

            - target_pages: str.

            - webhook_url: str.

            - job_timeout_in_seconds: float.

            - job_timeout_extra_time_per_page_in_seconds: float.
        rR   rS   input_s3_pathinput_s3_regionrV   rW   output_s3_path_prefixoutput_s3_regionrZ   r[   r\   r]   rP   rQ   POSTr)   api/v1/parsing/screenshotrN   rO   r,   paramsr@   r.   r/   r0   r1   r2   r3   OMITr   r7   r8   r9   r:   r;   r<   r	   r   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   rN   rO   rP   rR   rS   rT   rU   rV   rW   rQ   rX   rY   rZ   r[   r\   r]   _requestrC   rD   s                       r    
screenshotzParsingClient.screenshoth   s   n )$+/" 0%; 1(&&<:d2
 t#HVD $-H[!((55==LL  D$8$8$E$E$G#H!JLgh(_\f)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   <E# #+FrN   rO   rP   rQ   
parse_modeadaptive_long_tableannotate_links	auto_mode"auto_mode_trigger_on_image_in_page"auto_mode_trigger_on_table_in_page!auto_mode_trigger_on_text_in_page#auto_mode_trigger_on_regexp_in_pageazure_openai_api_versionazure_openai_deployment_nameazure_openai_endpointazure_openai_keybbox_bottom	bbox_left
bbox_rightbbox_topdisable_ocrdisable_reconstructiondisable_image_extractiondo_not_unroll_columnsextract_chartsguess_xlsx_sheet_namehtml_make_all_elements_visiblehtml_remove_fixed_elementshtml_remove_navigation_elementslanguageextract_layoutoutput_pdf_of_documentpage_prefixpage_separatorpage_suffix&preserve_layout_alignment_across_pagesskip_diagonal_textspreadsheet_extract_sub_tablesstructured_outputstructured_output_json_schema"structured_output_json_schema_nametake_screenshotvendor_multimodal_api_keyvendor_multimodal_model_namemodelpresetrp   system_promptsystem_prompt_appenduser_promptstrict_mode_image_extractionstrict_mode_image_ocrstrict_mode_reconstructionstrict_mode_buggy_font-ignore_document_elements_for_layout_detectionoutput_tables_as_htmluse_vendor_multimodal_modelbounding_boxgpt_4_o_modegpt_4_o_api_key#complemental_formatting_instructioncontent_guideline_instructionpremium_modeis_formatting_instructioncontinuous_modeparsing_instruction	fast_modeformatting_instructionc       O   	         i d|d|d|d|d|d|	d|
d|d	|d
|d|d|d|d|d|d|d|i d|d|d|d|d|d|d|d|d|d|d|d| d|!d|"d |#d!|%d"|&i d#|'d$|(d%|)d&|*d'|+d(|,d)|-d*|.d+|/d,|0d-|1d.|2d/|3d0|4d1|5d2|6d3|7i d4|9d5|:d6|;d7|<d8|=d9|>d:|?d;@d<Ad=Bd>Cd?Dd@EdAFdBGdCHdDIJKLMNOdE}P|t         ur|PdF<   |$t         ur|$PdG<   |8t         ur|8PdH<   | j                  j                  j                  dIt        j
                  j                  | j                  j                          dJdK      t        ||dL      t        P      | j                  j                         dMN      }QdO|Qj                  cxk  rdPk  r+n n(t        j                  t        Qj                               S Qj                  dQk(  r1t!        t        j                  t"        Qj                                     	 Qj                         }Rt'        Qj                  RR      # t$        $ r" t'        Qj                  |Qj(                  R      w xY w)S  
        Upload a file to s3 and create a job. return a job id

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

            - project_id: typing.Optional[str].

            - file: typing.Optional[str].

            - adaptive_long_table: bool.

            - annotate_links: bool.

            - auto_mode: bool.

            - auto_mode_trigger_on_image_in_page: bool.

            - auto_mode_trigger_on_table_in_page: bool.

            - auto_mode_trigger_on_text_in_page: str.

            - auto_mode_trigger_on_regexp_in_page: str.

            - azure_openai_api_version: str.

            - azure_openai_deployment_name: str.

            - azure_openai_endpoint: str.

            - azure_openai_key: str.

            - bbox_bottom: float.

            - bbox_left: float.

            - bbox_right: float.

            - bbox_top: float.

            - disable_ocr: bool.

            - disable_reconstruction: bool.

            - disable_image_extraction: bool.

            - do_not_cache: bool.

            - do_not_unroll_columns: bool.

            - extract_charts: bool.

            - guess_xlsx_sheet_name: bool.

            - html_make_all_elements_visible: bool.

            - html_remove_fixed_elements: bool.

            - html_remove_navigation_elements: bool.

            - http_proxy: str.

            - input_s_3_path: str.

            - input_s_3_region: str.

            - input_url: str.

            - invalidate_cache: bool.

            - language: typing.List[ParserLanguages].

            - extract_layout: bool.

            - max_pages: typing.Optional[int].

            - output_pdf_of_document: bool.

            - output_s_3_path_prefix: str.

            - output_s_3_region: str.

            - page_prefix: str.

            - page_separator: str.

            - page_suffix: str.

            - preserve_layout_alignment_across_pages: bool.

            - skip_diagonal_text: bool.

            - spreadsheet_extract_sub_tables: bool.

            - structured_output: bool.

            - structured_output_json_schema: str.

            - structured_output_json_schema_name: str.

            - take_screenshot: bool.

            - target_pages: str.

            - vendor_multimodal_api_key: str.

            - vendor_multimodal_model_name: str.

            - model: str.

            - webhook_url: str.

            - preset: str.

            - parse_mode: typing.Optional[ParsingMode].

            - system_prompt: str.

            - system_prompt_append: str.

            - user_prompt: str.

            - job_timeout_in_seconds: float.

            - job_timeout_extra_time_per_page_in_seconds: float.

            - strict_mode_image_extraction: bool.

            - strict_mode_image_ocr: bool.

            - strict_mode_reconstruction: bool.

            - strict_mode_buggy_font: bool.

            - ignore_document_elements_for_layout_detection: bool.

            - output_tables_as_html: bool.

            - use_vendor_multimodal_model: bool.

            - bounding_box: str.

            - gpt_4_o_mode: bool.

            - gpt_4_o_api_key: str.

            - complemental_formatting_instruction: str.

            - content_guideline_instruction: str.

            - premium_mode: bool.

            - is_formatting_instruction: bool.

            - continuous_mode: bool.

            - parsing_instruction: str.

            - fast_mode: bool.

            - formatting_instruction: str.
        rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   rR   r   r   r   r   r   r   rS   ra   rb   rV   rW   r   r   r   rc   rd   r   r   r   r   r   r   r   r   r   r   rZ   r   r   r   r[   r   r   r   r   r\   r]   r   r   r   r   r   output_tables_as_HTMLr   r   
gpt4o_modegpt4o_api_keyr   r   r   r   r   r   r   r   rP   rQ   rp   re   r)   api/v1/parsing/uploadrg   r,   rh   r0   r1   r2   r3   rj   Sr   rN   rO   rP   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   rR   r   r   r   r   r   r   rS   rT   rU   rV   rW   r   r   rQ   r   rX   rY   r   r   r   r   r   r   r   r   r   r   rZ   r   r   r   r[   r   rp   r   r   r   r\   r]   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rm   rC   rD   sS                                                                                      r    upload_filezParsingClient.upload_file   so   jK2
!#6K2
nK2
 K2
 12T	K2

 12TK2
 01RK2
 23VK2
 '(@K2
 +,HK2
 $%:K2
  0K2
 ;K2
 K2
 *K2
 K2
  ;!K2
" %&<#K2
$ '(@%K2
& L'K2
( $%:)K2
* n+K2
, $%:-K2
. -.L/K2
0 )*D1K2
2 ./N3K2
4 *5K2
6 ^7K2
8 /9K2
: ;K2
<  0=K2
> ?K2
@ nAK2
B %&<CK2
D $%;EK2
F  1GK2
H ;IK2
J nKK2
L ;MK2
N 56\OK2
P !"4QK2
R -.LSK2
T  !2UK2
V ,-JWK2
X 12TYK2
Z [K2
\ L]K2
^ ()B_K2
` +,HaK2
b UcK2
d ;eK2
f fgK2
h ]iK2
j #$8kK2
l ;mK2
n %&<oK2
p 9:dqK2
r +,HsK2
t $%:uK2
v )*DwK2
x %&<yK2
z <=j{K2
| $%:}K2
~ *+FK2
@ LAK2
B ,CK2
D _EK2
F 23VGK2
H ,-JIK2
J ))B.#6"&<UK2
X t#HVD $-H[!T!%/H\"((55==LL  D$8$8$E$E$G#H!JLcd(_\f)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   H> >+I)rN   c                   | 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  
        DEPRECATED: use either /organizations/{organization_id}/usage or /projects/{project_id}/usage instead
        Get parsing usage for user

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.usage()
        r(   r)   api/v1/parsing/usagerN   r,   ri   r.   r/   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r	   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   rN   rC   rD   s       r    usagezParsingClient.usage  s(    ((55==LL  D$8$8$E$E$G#H!JLbc(*;_)MN((446 > 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D/ /+Ec                    | j                   j                  j                  dt        j                  j                  | j                   j                          d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  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job(
            job_id="string",
        )
        r(   r)   r*   r,   r-   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   r$   rC   rD   s       r    get_jobzParsingClient.get_job;  s#     ((55==LL  D$8$8$E$E$G#H!JNabhaiLjk((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   ?D& &+Ec           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a.  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_parsing_job_details(
            job_id="string",
        )
        r(   r)   r*   /detailsr,   r-   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r=   r4   r>   r?   rI   Anyr@   r
   r   r   r   rA   r   s       r    get_parsing_job_detailsz%ParsingClient.get_parsing_job_details[  s*     ((55==LL  D$8$8$E$E$G#H!JNabhaiiqLrs((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   
D1 1+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)a`  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_text_result(
            job_id="string",
        )
        r(   r)   r*   /result/textrN   r,   r   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r	   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   r$   rN   rC   rD   s        r    get_job_text_resultz!ParsingClient.get_job_text_result{  5   $ ((55==LL  D$8$8$E$E$G#H!JNabhaiiuLvw(*;_)MN((446 > 
	 )''-#-(()=y~~?OPP  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      | j                   j                         d      }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a.  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_raw_text_result(
            job_id="string",
        )
        r(   r)   r*   /result/raw/pdfr,   r-   r0   r1   r2   r3   r   r   s       r    get_job_raw_text_resultz%ParsingClient.get_job_raw_text_result  s/     ((55==LL  ''4467q9=PQWPXXg;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   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)af  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_structured_result(
            job_id="string",
        )
        r(   r)   r*   /result/structuredrN   r,   r   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r	   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   s        r    get_job_structured_resultz'ParsingClient.get_job_structured_result  s:   ( ((55==LL  ''4467q9=PQWPXXj;k )*;_)MN((446 > 
	 )''-#-(()CY^^EUVV  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a4  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_raw_structured_result(
            job_id="string",
        )
        r(   r)   r*   /result/raw/structuredr,   r-   r0   r1   r2   r3   r   r   s       r    get_job_raw_structured_resultz+ParsingClient.get_job_raw_structured_result  s/     ((55==LL  ''4467q9=PQWPXXn;o ((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   c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a.  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_raw_xlsx_result(
            job_id="string",
        )
        r(   r)   r*   /result/raw/xlsxr,   r-   r0   r1   r2   r3   r   r   s       r    get_job_raw_xlsx_resultz%ParsingClient.get_job_raw_xlsx_result	  /     ((55==LL  ''4467q9=PQWPXXh;i ((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   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)a[  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_result(
            job_id="string",
        )
        r(   r)   r*   /result/markdownrN   r,   r   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r	   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   s        r    get_job_resultzParsingClient.get_job_result+  s:   $ ((55==LL  ''4467q9=PQWPXXh;i )*;_)MN((446 > 
	 )''-#-(()A9>>CSTT  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Sr   c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a,  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_raw_md_result(
            job_id="string",
        )
        r(   r)   r*   /result/raw/markdownr,   r-   r0   r1   r2   r3   r   r   s       r    get_job_raw_md_resultz#ParsingClient.get_job_raw_md_resultP  s/     ((55==LL  ''4467q9=PQWPXXl;m ((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   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)a`  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_json_result(
            job_id="string",
        )
        r(   r)   r*   /result/jsonrN   r,   r   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r	   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   s        r    get_job_json_resultz!ParsingClient.get_job_json_resultr  r   r   c           	         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d      }d|j                  cxk  rdk  r5n n2t        j                  t        j                  |j                               S |j                  d	k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |
      # t         $ r" t#        |j                  |j$                  
      w xY w)a.  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_job_json_raw_result(
            job_id="string",
        )
        r(   r)   r*   /result/raw/jsonr,   r-   r0   r1   r2   r3   r   r   s       r    get_job_json_raw_resultz%ParsingClient.get_job_json_raw_result  r   r   c                    | j                   j                  j                  dt        j                  j                  | j                   j                          dd      | j                   j                         d      }d|j                  cxk  rdk  r<n n9t        j                  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)
z
        Get parsing history for user

        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.get_parsing_history_result()
        r(   r)   api/v1/parsing/historyr,   r-   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r=   r4   r>   r?   rI   rJ   r   r@   r
   r   r   r   rA   rK   s      r    get_parsing_history_resultz(ParsingClient.get_parsing_history_result  s$    ((55==LL  D$8$8$E$E$G#H!JLde((446	 > 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D4 4+Efilenamec           
         | j                   j                  j                  dt        j                  j                  | j                   j                          dd| 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}  
        Generate a presigned URL for a job

        Parameters:
            - job_id: str.

            - filename: str.
        ---
        from llama_cloud.client import LlamaCloud

        client = LlamaCloud(
            token="YOUR_TOKEN",
        )
        client.parsing.generate_presigned_url(
            job_id="string",
            filename="string",
        )
        r(   r)   r*   /read/r,   r-   r0   r1   r2   r3   r   r7   r8   r9   r:   r;   r<   r=   r4   r>   r?   r   r@   r
   r   r   r   rA   r   r$   r   rC   rD   s        r    generate_presigned_urlz$ParsingClient.generate_presigned_url  s1   & ((55==LL  ''4467q9=PQWPXX^_g^h;i ((446 > 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN  	Sy'<'<9>>RR	Ss   D) )+E)+__name__
__module____qualname__r   r!   strrE   rI   rJ   r   rL   rk   Optionalboolintfloatr   rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r#   r    r   r   %   s   .*; .#O3 #Oc #Od #OJOv{{;\/] O: 15+/%) +/XO  -XO OOC(	XO
 ooc"XO XO XO XO XO XO XO ??3'XO !$XO XO XO  !XO" !&#XO$ 5:%XO& 
'XOz 15+/%)B +/( 48uWO  -WO OOC(	WO
 ooc"WO "WO WO WO -1WO -1WO ,/WO .1WO #&WO '*WO  #WO  !WO" #WO$ %WO& 'WO( )WO* +WO, !%-WO. #'/WO0 1WO2  $3WO4 5WO6  $7WO8 )-9WO: %);WO< *.=WO> ?WO@ AWOB CWOD EWOF GWOH ++o.IWOJ KWOL ??3'MWON !%OWOP !$QWOR SWOT UWOV WWOX YWOZ 15[WO\ !]WO^ )-_WO`  aWOb (+cWOd -0eWOf gWOh iWOj $'kWOl '*mWOn oWOp qWOr sWOt OOK0uWOv wWOx "yWOz {WO| !&}WO~ 5:WO@ '+AWOB  $CWOD %)EWOF !%GWOH 8<IWOJ  $KWOL &*MWON OWOP QWOR SWOT .1UWOV (+WWOX YWOZ $([WO\ ]WO^ !_WO` aWOb !$cWOd 
eWOr
 @D O(< O O@Oc Oj O@Oc Ofjj O@ [_ !O# !O6??SVCW !Ocw !OF Oc  Ofjj  OF GK%O%O/5s/C%O	#%ON OC  OFJJ  OD Oc  Ofjj  OD VZ #OS #Ofooc>R #O^v #OJ OC  OFJJ  OD [_ !O# !O6??SVCW !Ocw !OF Oc  Ofjj  ODOFKK8J,K O8#OS #OC #OL #Or#   r   c                   &   e Zd ZdefdZdededdfdZdej                  e	   fdZ
ddeed	d
ej                  e   dej                  e   dej                  e   dededededededej                  e   dededededededef"dZddeeedd
ej                  e   dej                  e   dej                  e   dedededed ed!ed"ed#ed$ed%ed&ed'ed(ed)ed*ed+ed,ed-eded.ed/ed0ed1ed2ed3edededededed4ej                  e   d5edej                  e   d6ededed7ed8ed9ed:ed;ed<ed=ed>ed?ed@ededAedBedCededDedEej                  e   dFedGedHedededIedJedKedLedMedNedOedPedQedRedSedTedUedVedWedXedYedZedefd[Zdd\d
ej                  e   defd]Zdedefd^Zdedej0                  fd_Zdd\ded
ej                  e   defd`Zdedej0                  fdaZdd\ded
ej                  e   defdbZdedej0                  fdcZdedej0                  fddZ dd\ded
ej                  e   de!fdeZ"dedej0                  fdfZ#dd\ded
ej                  e   de$fdgZ%dedej0                  fdhZ&dej                  e'   fdiZ(dedjede)fdkZ*y)lAsyncParsingClientr   c                    || _         y r   r   r   s     r    r!   zAsyncParsingClient.__init__  r"   r#   r$   r%   r&   Nc           
      x  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d|       | j                   j                         d       d{   }d|j                  cxk  rd	k  ry |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t        |j                  |      7 # t        $ r" t        |j                  |j                         w xY ww)ap  
        Get a job by id

        Parameters:
            - job_id: str.

            - name: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_image_result(
            job_id="string",
            name="string",
        )
        r(   r)   r*   r+   r,   r-   Nr0   r1   r2   r3   r6   rB   s        r    rE   z'AsyncParsingClient.get_job_image_result  s-    & ..;;CCLL  ''4467q9=PQWPXXfgkfl;m ((446 D 
 
	 )''-#- .  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Ss+   BD:D
AD:#D 3D:+D77D:c                 `  K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      | j                   j                         d       d{   }d|j                  cxk  rdk  r<n n9t        j                  t        j                  t           |j                               S 	 |j                         }t!        |j                  |	      7 }# t        $ r" t!        |j                  |j"                  	      w xY ww)
a  
        Get a list of supported file extensions

        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_supported_file_extensions()
        r(   r)   rG   r,   r-   Nr0   r1   r3   rH   rK   s      r    rL   z0AsyncParsingClient.get_supported_file_extensions"  s     ..;;CCLL  D$8$8$E$E$G#H!JLvw((446	 D 
 
	 )''-#-((5V)WYbYgYgYijj	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   A>D. C>AD.D  'D. +D++D.rM   rN   rO   rP   rR   rS   rT   rU   rV   rW   rQ   rX   rY   rZ   r[   r\   r]   c                >  K   ||||||	||||||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)r_   r`   rP   rQ   re   r)   rf   rg   r,   rh   Nr0   r1   r2   r3   rj   rl   s                       r    rn   zAsyncParsingClient.screenshot<  s    n )$+/" 0%; 1(&&<:d2
 t#HVD $-H[!..;;CCLL  D$8$8$E$E$G#H!JLgh(_\f)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>F E-BFE/ F/+FFro   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   c       O   	        K   i d|d|d|d|d|d|	d|
d|d	|d
|d|d|d|d|d|d|d|i d|d|d|d|d|d|d|d|d|d|d|d| d|!d|"d |#d!|%d"|&i d#|'d$|(d%|)d&|*d'|+d(|,d)|-d*|.d+|/d,|0d-|1d.|2d/|3d0|4d1|5d2|6d3|7i d4|9d5|:d6|;d7|<d8|=d9|>d:|?d;@d<Ad=Bd>Cd?Dd@EdAFdBGdCHdDIJKLMNOdE}P|t         ur|PdF<   |$t         ur|$PdG<   |8t         ur|8PdH<   | j                  j                  j                  dIt        j
                  j                  | j                  j                          dJdK      t        ||dL      t        P      | j                  j                         dMN       dO{   }QdP|Qj                  cxk  rdQk  r+n n(t        j                  t        Qj                               S Qj                  dRk(  r1t!        t        j                  t"        Qj                                     	 Qj                         }Rt'        Qj                  RS      7 # t$        $ r" t'        Qj                  |Qj(                  S      w xY ww)Tr   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   rR   r   r   r   r   r   r   rS   ra   rb   rV   rW   r   r   r   rc   rd   r   r   r   r   r   r   r   r   r   r   rZ   r   r   r   r[   r   r   r   r   r\   r]   r   r   r   r   r   r   r   r   r   r   r   r   r   rP   rQ   rp   re   r)   r   rg   r,   rh   Nr0   r1   r2   r3   rj   r   sS                                                                                      r    r   zAsyncParsingClient.upload_file  s}    jK2
!#6K2
nK2
 K2
 12T	K2

 12TK2
 01RK2
 23VK2
 '(@K2
 +,HK2
 $%:K2
  0K2
 ;K2
 K2
 *K2
 K2
  ;!K2
" %&<#K2
$ '(@%K2
& L'K2
( $%:)K2
* n+K2
, $%:-K2
. -.L/K2
0 )*D1K2
2 ./N3K2
4 *5K2
6 ^7K2
8 /9K2
: ;K2
<  0=K2
> ?K2
@ nAK2
B %&<CK2
D $%;EK2
F  1GK2
H ;IK2
J nKK2
L ;MK2
N 56\OK2
P !"4QK2
R -.LSK2
T  !2UK2
V ,-JWK2
X 12TYK2
Z [K2
\ L]K2
^ ()B_K2
` +,HaK2
b UcK2
d ;eK2
f fgK2
h ]iK2
j #$8kK2
l ;mK2
n %&<oK2
p 9:dqK2
r +,HsK2
t $%:uK2
v )*DwK2
x %&<yK2
z <=j{K2
| $%:}K2
~ *+FK2
@ LAK2
B ,CK2
D _EK2
F 23VGK2
H ,-JIK2
J ))B.#6"&<UK2
X t#HVD $-H[!T!%/H\"..;;CCLL  D$8$8$E$E$G#H!JLcd(_\f)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+   FI8IBI8!I
 1I8
+I55I8r   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)a  
        DEPRECATED: use either /organizations/{organization_id}/usage or /projects/{project_id}/usage instead
        Get parsing usage for user

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.usage()
        r(   r)   r   rN   r,   r   Nr0   r1   r2   r3   r   r   s       r    r   zAsyncParsingClient.usage  s6     ..;;CCLL  D$8$8$E$E$G#H!JLbc(*;_)MN((446 D 
 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   B
E)D9BE)D; "E);+E&&E)c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          d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.  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job(
            job_id="string",
        )
        r(   r)   r*   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   zAsyncParsingClient.get_job  s1      ..;;CCLL  D$8$8$E$E$G#H!JNabhaiLjk((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 D0BE 	D2 E 2+EE c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |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 by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_parsing_job_details(
            job_id="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   z*AsyncParsingClient.get_parsing_job_details/  s8      ..;;CCLL  D$8$8$E$E$G#H!JNabhaiiqLrs((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+   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)ap  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_text_result(
            job_id="string",
        )
        r(   r)   r*   r   rN   r,   r   Nr0   r1   r2   r3   r   r   s        r    r   z&AsyncParsingClient.get_job_text_resultO  C    ( ..;;CCLL  D$8$8$E$E$G#H!JNabhaiiuLvw(*;_)MN((446 D 
 
	 )''-#-(()=y~~?OPP  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      | j                   j                         d       d{   }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |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 by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_raw_text_result(
            job_id="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   z*AsyncParsingClient.get_job_raw_text_resultt  s=      ..;;CCLL  ''4467q9=PQWPXXg;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	  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)av  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_structured_result(
            job_id="string",
        )
        r(   r)   r*   r   rN   r,   r   Nr0   r1   r2   r3   r   r   s        r    r   z,AsyncParsingClient.get_job_structured_result  sH    ( ..;;CCLL  ''4467q9=PQWPXXj;k )*;_)MN((446 D 
 
	 )''-#-(()CY^^EUVV  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      | j                   j                         d       d{   }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |j                               S |j                  d
k(  r1t        t        j                  t        |j                                     	 |j                         }t#        |j                  |      7 # t         $ r" t#        |j                  |j$                        w xY ww)aD  
        Get a job by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_raw_structured_result(
            job_id="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   z0AsyncParsingClient.get_job_raw_structured_result  s=      ..;;CCLL  ''4467q9=PQWPXXn;o ((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	  c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |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 by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_raw_xlsx_result(
            job_id="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   z*AsyncParsingClient.get_job_raw_xlsx_result  =      ..;;CCLL  ''4467q9=PQWPXXh;i ((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	  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)ak  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_result(
            job_id="string",
        )
        r(   r)   r*   r   rN   r,   r   Nr0   r1   r2   r3   r   r   s        r    r   z!AsyncParsingClient.get_job_result  sH    ( ..;;CCLL  ''4467q9=PQWPXXh;i )*;_)MN((446 D 
 
	 )''-#-(()A9>>CSTT  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      | j                   j                         d       d{   }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |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 by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_raw_md_result(
            job_id="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   z(AsyncParsingClient.get_job_raw_md_result(  s=      ..;;CCLL  ''4467q9=PQWPXXl;m ((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	  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)ap  
        Get a job by id

        Parameters:
            - job_id: str.

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

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_json_result(
            job_id="string",
        )
        r(   r)   r*   r   rN   r,   r   Nr0   r1   r2   r3   r   r   s        r    r   z&AsyncParsingClient.get_job_json_resultJ  r  r  c           	        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| d      | j                   j                         d       d{   }d|j                  cxk  rd	k  r5n n2t        j                  t        j                  |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 by id

        Parameters:
            - job_id: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_job_json_raw_result(
            job_id="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s       r    r   z*AsyncParsingClient.get_job_json_raw_resulto  r  r	  c                   K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd      | j                   j                         d       d{   }d|j                  cxk  rdk  r<n n9t        j                  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)z
        Get parsing history for user

        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.get_parsing_history_result()
        r(   r)   r   r,   r-   Nr0   r1   r2   r3   r   rK   s      r    r   z-AsyncParsingClient.get_parsing_history_result  s2     ..;;CCLL  D$8$8$E$E$G#H!JLde((446	 D 
 
	 )''-#-((5G)H)..JZ[[  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN
  	Sy'<'<9>>RR	Ss+   A>E. D>BE.E  'E. +E++E.r   c           
        K   | j                   j                  j                  dt        j                  j                  | j                   j                          dd| 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  
        Generate a presigned URL for a job

        Parameters:
            - job_id: str.

            - filename: str.
        ---
        from llama_cloud.client import AsyncLlamaCloud

        client = AsyncLlamaCloud(
            token="YOUR_TOKEN",
        )
        await client.parsing.generate_presigned_url(
            job_id="string",
            filename="string",
        )
        r(   r)   r*   r   r,   r-   Nr0   r1   r2   r3   r   r   s        r    r   z)AsyncParsingClient.generate_presigned_url  s?    & ..;;CCLL  ''4467q9=PQWPXX^_g^h;i ((446 D 
 
	 )''-#-((y~~7GHH  C'*8+@+@ATV_VdVdVf+ghh	S&^^-N 9#8#8~NN!
  	Sy'<'<9>>RR	Ss+   BE#D3BE#D5 E#5+E  E#)+r   r   r   r   r!   r   rE   rI   rJ   r   rL   rk   r   r   r   r   r   rn   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r#   r    r   r     s   .*< .#O #OC #OD #OJOV[[Ab5c O: 15+/%) +/XO  -XO OOC(	XO
 ooc"XO XO XO XO XO XO XO ??3'XO !$XO XO XO  !XO" !&#XO$ 5:%XO& 
'XOz 15+/%)B +/( 48uWO  -WO OOC(	WO
 ooc"WO "WO WO WO -1WO -1WO ,/WO .1WO #&WO '*WO  #WO  !WO" #WO$ %WO& 'WO( )WO* +WO, !%-WO. #'/WO0 1WO2  $3WO4 5WO6  $7WO8 )-9WO: %);WO< *.=WO> ?WO@ AWOB CWOD EWOF GWOH ++o.IWOJ KWOL ??3'MWON !%OWOP !$QWOR SWOT UWOV WWOX YWOZ 15[WO\ !]WO^ )-_WO`  aWOb (+cWOd -0eWOf gWOh iWOj $'kWOl '*mWOn oWOp qWOr sWOt OOK0uWOv wWOx "yWOz {WO| !&}WO~ 5:WO@ '+AWOB  $CWOD %)EWOF !%GWOH 8<IWOJ  $KWOL &*MWON OWOP QWOR SWOT .1UWOV (+WWOX YWOZ $([WO\ ]WO^ !_WO` aWOb !$cWOd 
eWOr
 FJ Ofooc.B Ol O@OC OJ O@OC OFJJ OB GK#O#O/5s/C#O	#OJ OC  OFJJ  OF GK%O%O/5s/C%O	#%ON O#  O&**  OD OC  OFJJ  OF GK%O%O/5s/C%O	!%ON O#  O&**  OF GK#O#O/5s/C#O	#OJ OC  OFJJ  ODO&++>P2Q O8#O3 #O# #O, #Or#   r   )3rI   urllib.parser9   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_supported_file_extensionsr   types.parser_languagesr   types.parsing_history_itemr   types.parsing_jobr   types.parsing_job_json_resultr   !types.parsing_job_markdown_resultr   #types.parsing_job_structured_resultr   types.parsing_job_text_resultr   types.parsing_moder   types.parsing_usager   types.presigned_urlr   r>   __version__
startswithImportErrorpydantic.v1v1castr   rk   r   r   r   r#   r    <module>r1     s      ( & H 5 ? I > \ 5 < + A I M A - / /&&t,"
 v{{6::s#QO QOhWO WOw  s   8'C 	CC