ó
    ­[j®O  ã                  ó¢  • S SK Jr  S SKrS SKrS SKJrJrJrJrJ	r	  S SK
Jr  S SKJr  S SKrSSKJrJrJrJrJr  SS	KJr  SS
KJrJrJrJrJrJrJrJr  SSK J!r!J"r"  SSK#J$r$J%r%  SSK&J'r'  SSK(J)r)J*r*  SSK+J,r,  SSK-J.r.  SSK/J0r0  SSK1J2r2  / SQr3            SS jr4 " S S\\)5      r5 " S S\\*5      r6 " S S\\)5      r7 " S S\\*5      r8g)é    )ÚannotationsN)ÚAnyÚMappingÚCallableÚOptionalÚcast)ÚPath)ÚLiteralé   )ÚDEFAULT_WAIT_TIMEOUTÚJobListÚV2ResourceMixinÚpoll_until_terminalÚapoll_until_terminalé   )Údeepcopy_with_paths)ÚBodyÚOmitÚQueryÚHeadersÚNotGivenÚ	FileTypesÚomitÚ	not_given)Úis_givenÚextract_files)ÚJobÚV2ParseResponse)Únormalize_parse_job)ÚSyncAPIResourceÚAsyncAPIResource)ÚAPIStatusError)Úmake_request_options)Úconvert_url_to_file_if_local)Úraise_if_sync_timeout)ÚParseResourceÚAsyncParseResourceÚParseJobsResourceÚAsyncParseJobsResourcec                óB  • [        U5      (       a†  Ubƒ  0 n[        U5      (       a]  UbZ  [        U[        5      (       a  [        [        R
                  " U5      5      O%[        [        [        [        [        4   U5      5      nUR                  SU5        Un[        U5      (       a0  Ub-  [        U[        5      (       d  [        R                  " U5      OUnU UUUUS.nUR                  5        VVs0 s H  u  px[        U5      (       d  M  Uc  M  Xx_M      snn$ s  snnf )NÚpassword)ÚdocumentÚdocument_urlÚmodelÚoptionsr+   )r   Ú
isinstanceÚstrÚdictÚjsonÚloadsr   r   r   Ú
setdefaultÚdumpsÚitems)	r,   r-   r.   r/   r+   ÚoptsÚraw_bodyÚkeyÚvalues	            Ú]/home/mande/repo/quber/.venv/lib/python3.13/site-packages/landingai_ade/resources/v2/parse.pyÚ_build_parse_bodyr=      sî   € ô �×Ñ˜hÑ2Ø!ˆÜ�G×Ñ Ñ!4Ü0:¸7ÄC×0HÑ0H”4œŸ
š
 7Ó+Ô,ÌdÔSWÔX_Ô`cÔehÐ`hÑXiÐkrÓSsÓNtˆDØ�‰˜
 HÔ-Øˆä�×Ñ˜WÑ0Ü-7¸Ä×-EÑ-E”$—*’*˜WÔ%È7ˆàØ$ØØØñ€Hð *2¯©Ô)9ÔcÒ)9™:˜3¼XÀe¿_‹JÐQV‹JˆCŠJÑ)9ÒcÐcùÓcs   Ã2DÄDÄDc                  ób   • \ rS rSr\\\\\SSSS\S.
                     SS jjrSrg)r&   é?   N©
r,   r-   r.   r/   r+   Úsave_toÚextra_headersÚextra_queryÚ
extra_bodyÚtimeoutc       
        ó   • XpË[        X5      u  p[        [        XX4U5      S//5      n[        [	        [
        [        [        4   U5      S//S9nSS0U=(       d    0 En U R                  U R                  S5      UU[        XxXšS9[        S9nU(       a  S	S
KJnJn  U" X¼5      nU" UUSU5        U$ ! [         a  n[        U5        e SnAff = f)a@  Parse a document synchronously against the V2 (ADE) `/v2/parse` endpoint.

Returns a `V2ParseResponse` on both a full success (HTTP 200) and a partial
success (HTTP 206) -- in the 206 case `result.metadata.failed_pages` lists the
pages that could not be parsed. Raises `V2SyncTimeoutError` when the server
times out the synchronous request (HTTP 504); use the async jobs route for
long-running documents in that case.

Args:
  document: A file to be parsed. Either this parameter or `document_url` must be provided.

  document_url: The URL to the file to be parsed. Either this parameter or `document` must be
      provided. Local file paths are automatically converted to a `document` upload.

  model: The version of the model to use for parsing.

  options: Additional parsing options. Sent to the server as a JSON-encoded string form
      field.

  password: Password for encrypted document files. Sent to the server as
      `options.password` (an explicit `options["password"]` takes precedence) and,
      for older gateways, as a top-level form field.

  save_to: Optional output path. If a directory, auto-generates the filename
      (e.g. {input_file}_parse_output.json, or parse_output.json when no
      input filename is available). If a full path ending in .json, saves there
      directly. Parent directories are created automatically.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
r,   ©ÚpathsúContent-Typeúmultipart/form-dataú	/v2/parse©rB   rC   rD   rE   ©ÚbodyÚfilesr/   Úcast_toNr   ©Ú_save_responseÚ_get_input_filenameÚparse©r$   r   r=   r   r   r   r1   ÚobjectÚ_postÚ_v2_urlr#   r   r"   r%   Ú_clientrR   rS   ©Úselfr,   r-   r.   r/   r+   rA   rB   rC   rD   rE   Úoriginal_documentÚoriginal_document_urlrN   rO   ÚresultÚexcrR   rS   Úfilenames                       r<   ÚrunÚParseResource.run@   sï   € ðh 4<Ð0Ü!=¸hÓ!UÑˆÜ"Ü˜h°eÀhÓOØˆ\ˆNó
ˆô œd¤7¬3´¨;Ñ#7¸Ó>È
À|ÀnÑUˆð (Ð)>ÐXÀ=×CVÐTVÐXˆð	Ø—Z‘ZØ—‘˜[Ó)ØØÜ,Ø"/ÐU_ñô (ð  ð ˆFö ßFá*Ð+<ÓTˆHÙ˜7 H¨g°vÔ>Øˆøô ó 	Ü! #Ô&Øûð	ús   Á .B2 Â2
CÂ<CÃC© ©r,   úOptional[FileTypes] | Omitr-   úOptional[str] | Omitr.   rf   r/   ú%Optional[Mapping[str, object]] | Omitr+   rf   rA   zstr | Path | NonerB   úHeaders | NonerC   úQuery | NonerD   úBody | NonerE   ú'float | httpx.Timeout | None | NotGivenÚreturnr   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   ra   Ú__static_attributes__rc   ó    r<   r&   r&   ?   s©   † ð 04Ø-1Ø&*Ø9=Ø)-Ø%)ð )-Ø$(Ø"&Ø;DñQð -ðQð +ð	Qð
 $ðQð 7ðQð 'ðQð #ðQð &ðQð "ðQð  ðQð 9ðQð 
÷Qð Qrs   r&   c                  ób   • \ rS rSr\\\\\SSSS\S.
                     SS jjrSrg)r'   é”   Nr@   c       
      ƒ  ó¼  #   • XpË[        X5      u  p[        [        XX4U5      S//5      n[        [	        [
        [        [        4   U5      S//S9nSS0U=(       d    0 En U R                  U R                  S5      UU[        XxXšS9[        S9I Sh  v•N nU(       a  S	S
KJnJn  U" X¼5      nU" UUSU5        U$  N(! [         a  n[        U5        e SnAff = f7f)zFAsync mirror of `ParseResource.run`. See there for full documentation.r,   rG   rI   rJ   rK   rL   rM   Nr   rQ   rT   rU   rZ   s                       r<   ra   ÚAsyncParseResource.run•   sø   é € ð" 4<Ð0Ü!=¸hÓ!UÑˆÜ"Ü˜h°eÀhÓOØˆ\ˆNó
ˆô œd¤7¬3´¨;Ñ#7¸Ó>È
À|ÀnÑUˆØ'Ð)>ÐXÀ=×CVÐTVÐXˆð	ØŸ:™:Ø—‘˜[Ó)ØØÜ,Ø"/ÐU_ñô (ð &ð ÷ ˆFö ßFá*Ð+<ÓTˆHÙ˜7 H¨g°vÔ>Øˆñ#øô ó 	Ü! #Ô&Øûð	üs<   ‚ACÁ"1B> ÂB<ÂB> Â$CÂ<B> Â>
CÃCÃCÃCrc   rd   rm   rc   rs   r<   r'   r'   ”   sœ   † ð 04Ø-1Ø&*Ø9=Ø)-Ø%)ð )-Ø$(Ø"&Ø;Dñ+ð -ð+ð +ð	+ð
 $ð+ð 7ð+ð 'ð+ð #ð+ð &ð+ð "ð+ð  ð+ð 9ð+ð 
÷+ð +rs   r'   c                  ó   • \ rS rSr\\\\\\\SSS\S.                       SS jjrSSS\S.           SS jjr\\\SSS\S.               SS jjr\	SS	SS
.           SS jjr
Srg)r(   éÃ   N©r,   r-   r.   r/   r+   Úoutput_save_urlÚservice_tierrB   rC   rD   rE   c               ó¼  • [        XX4U5      n[        U5      (       a  Ub  XlS'   [        U5      (       a  Ub  X|S'   [        US//5      n[        [	        [
        [        [        4   U5      S//S9nSS0U=(       d    0 EnU R                  U R                  S5      UU[        X‰X«S9[	        S	[        5      S
9n[        [	        [
        [        [        4   U5      5      $ )aó  Create an asynchronous parse job against `/v2/parse/jobs`.

Returns a normalized `Job` immediately (typically `pending`). Poll for
completion via `.get(job_id)`, or block until the job is terminal with
`.wait(job_id)`.

Args:
  document: A file to be parsed. Either this parameter or `document_url` must be provided.

  document_url: The URL to the file to be parsed. Either this parameter or `document` must be
      provided.

  model: The version of the model to use for parsing.

  options: Additional parsing options. Sent to the server as a JSON-encoded string form
      field.

  password: Password for encrypted document files. Sent to the server as
      `options.password` (an explicit `options["password"]` takes precedence) and,
      for older gateways, as a top-level form field.

  output_save_url: If zero data retention (ZDR) is enabled, a URL the parsed output should be
      saved to instead of being returned in the job result.

  service_tier: Service tier for the job: ``standard`` or ``priority``.

  extra_headers: Send extra headers

  extra_query: Add additional query parameters to the request

  extra_body: Add additional JSON properties to the request

  timeout: Override the client-level default timeout for this request, in seconds
r{   r|   r,   rG   rI   rJ   ú/v2/parse/jobsrL   ú	type[Any]rM   ©r=   r   r   r   r   r   r1   rV   rW   rX   r#   r   r   ©r[   r,   r-   r.   r/   r+   r{   r|   rB   rC   rD   rE   rN   rO   Úraws                  r<   ÚcreateÚParseJobsResource.createÄ   sç   € ôf ! ¸ÈÓRˆÜ�O×$Ñ$¨Ñ)DØ&5Ð"Ñ#Ü�L×!Ñ! lÑ&>Ø#/�Ñ Ü" 4¨:¨,¨Ó8ˆÜœd¤7¬3´¨;Ñ#7¸Ó>È
À|ÀnÑUˆØ'Ð)>ÐXÀ=×CVÐTVÐXˆØ�j‰jØ�L‰LÐ)Ó*ØØÜ(Ø+ÐQ[ñô ˜¤fÓ-ð ð 
ˆô #¤4¬´´S°Ñ(9¸3Ó#?Ó@Ð@rs   rL   c          
     óì   • U(       d  [        SU< 35      eU R                  U R                  SU 35      [        X#XES9[	        S[
        5      S9n[        [	        [        [        [        4   U5      5      $ )z9Get the current status of an async parse job by `job_id`.ú5Expected a non-empty value for `job_id` but received ú/v2/parse/jobs/rL   r   ©r/   rP   ©
Ú
ValueErrorÚ_getrX   r#   r   rV   r   r   r1   r   ©r[   Újob_idrB   rC   rD   rE   r‚   s          r<   ÚgetÚParseJobsResource.get
  sy   € ö ÜÐTÐU[ÑT^Ð_Ó`Ð`Ø�i‰iØ�L‰L˜?¨6¨(Ð3Ó4Ü(Ø+ÐQ[ñô ˜¤fÓ-ð ð 
ˆô #¤4¬´´S°Ñ(9¸3Ó#?Ó@Ð@rs   ©ÚpageÚ	page_sizeÚstatusrB   rC   rD   rE   c               ót  • XUS.R                  5        VV	s0 s H  u  p‰[        U	5      (       d  M  U	c  M  X‰_M      n
nn	U R                  U R                  S5      [	        UUUUU
S9[        S[        5      S9n[        [        [        [        4   U5      nUR                  S/ 5       Vs/ s H)  n[        [        [        [        [        4   U5      5      PM+     nn[        R                  " UUR                  S5      UR                  S5      UR                  S	5      UR                  S
5      S9$ s  sn	nf s  snf )zAList async parse jobs associated with your API key, newest first.©r‘   r’   r“   r~   ©rB   rC   rD   rE   Úqueryr   rˆ   ÚjobsÚhas_moreÚorg_idr‘   r’   ©r™   rš   r‘   r’   ©r7   r   r‹   rX   r#   r   rV   r   r1   r   rŽ   r   r   Úbuild©r[   r‘   r’   r“   rB   rC   rD   rE   r:   r;   r—   r‚   ÚenvÚitemr˜   s                  r<   ÚlistÚParseJobsResource.list  s*  € ð (,ÈvÑV×\Ñ\Ô^ô
â^‘
�Ü˜�ó à#(ó ˆCŠJÙ^ð 	ñ 
ð
 �i‰iØ�L‰LÐ)Ó*Ü(Ø+Ø'Ø%ØØñô ˜¤fÓ-ð ð 

ˆô ”7œ3¤˜8Ñ$ cÓ*ˆØORÏwÉwÐW]Ð_aÔObÓcÒObÀtÔ#¤D¬´´c°Ñ):¸DÓ$AÖBÑObˆÐcÜ�}Š}ØØ—W‘W˜ZÓ(Ø—7‘7˜8Ó$Ø—‘˜“Ø—g‘g˜kÓ*ñ
ð 	
ùó%
ùò" ds   —D/±D/¶D/Â)0D5F©rE   Úpoll_intervalÚraise_on_failureÚ
_monotonicc          	     ón   ^ ^• [        UU 4S jU=(       d    [        R                  T R                  UUUS9$ )a˜  Block, polling `.get(job_id)` with backoff, until the job is terminal.

Raises `JobWaitTimeoutError` if `timeout` seconds elapse before the job
reaches a terminal state, and `JobFailedError` if `raise_on_failure` is
set and the job ends failed/cancelled with an error attached.

`_monotonic` is a test seam for injecting a fake clock; production
callers should leave it unset (defaults to `time.monotonic`).
c                 ó&   >• TR                  T 5      $ ©N©rŽ   ©r�   r[   s   €€r<   Ú<lambda>Ú(ParseJobsResource.wait.<locals>.<lambda>X  ó   ø€ �D—H‘H˜VÔ$rs   )Ú	monotonicÚsleeprE   r¤   r¥   )r   Útimer¯   Ú_sleep©r[   r�   rE   r¤   r¥   r¦   s   ``    r<   ÚwaitÚParseJobsResource.waitE  s1   ù€ ô$ #Ý$Ø ×2¤D§N¡NØ—+‘+ØØ'Ø-ñ
ð 	
rs   rc   ©r,   re   r-   rf   r.   rf   r/   rg   r+   rf   r{   rf   r|   z0Optional[Literal['standard', 'priority']] | OmitrB   rh   rC   ri   rD   rj   rE   rk   rl   r   ©r�   r1   rB   rh   rC   ri   rD   rj   rE   rk   rl   r   ©r‘   ú
int | Omitr’   r¹   r“   rf   rB   rh   rC   ri   rD   rj   rE   rk   rl   r   ©r�   r1   rE   Úfloatr¤   zOptional[float]r¥   Úboolr¦   zOptional[Callable[[], float]]rl   r   ©rn   ro   rp   rq   r   r   rƒ   rŽ   r¡   r   r´   rr   rc   rs   r<   r(   r(   Ã   sÓ  † ð 04Ø-1Ø&*Ø9=Ø)-Ø04ØIMð )-Ø$(Ø"&Ø;DñDAð -ðDAð +ð	DAð
 $ðDAð 7ðDAð 'ðDAð .ðDAð GðDAð &ðDAð "ðDAð  ðDAð 9ðDAð  
õ!DAðT )-Ø$(Ø"&Ø;DñAàðAð &ð	Að
 "ðAð  ðAð 9ðAð 
õAð0  Ø $Ø'+Ø(,Ø$(Ø"&Ø;Dñ$
ð ð$
ð ð	$
ð
 %ð$
ð &ð$
ð "ð$
ð  ð$
ð 9ð$
ð 
õ$
ðT .Ø)-Ø!&Ø48ñ
àð
ð ð	
ð
 'ð
ð ð
ð 2ð
ð 
÷
ð 
rs   r(   c                  ó   • \ rS rSr\\\\\\\SSS\S.                       SS jjrSSS\S.           SS jjr\\\SSS\S.               SS jjr\	SS	SS
.           SS jjr
Srg)r)   ia  Nrz   c             ƒ  óØ  #   • [        XX4U5      n[        U5      (       a  Ub  XlS'   [        U5      (       a  Ub  X|S'   [        US//5      n[        [	        [
        [        [        4   U5      S//S9nSS0U=(       d    0 EnU R                  U R                  S5      UU[        X‰X«S	9[	        S
[        5      S9I Sh  v•N n[        [	        [
        [        [        4   U5      5      $  N*7f)zMAsync mirror of `ParseJobsResource.create`. See there for full documentation.Nr{   r|   r,   rG   rI   rJ   r~   rL   r   rM   r€   r�   s                  r<   rƒ   ÚAsyncParseJobsResource.createb  só   é € ô$ ! ¸ÈÓRˆÜ�O×$Ñ$¨Ñ)DØ&5Ð"Ñ#Ü�L×!Ñ! lÑ&>Ø#/�Ñ Ü" 4¨:¨,¨Ó8ˆÜœd¤7¬3´¨;Ñ#7¸Ó>È
À|ÀnÑUˆØ'Ð)>ÐXÀ=×CVÐTVÐXˆØ—J‘JØ�L‰LÐ)Ó*ØØÜ(Ø+ÐQ[ñô ˜¤fÓ-ð ð 
÷ 
ˆô #¤4¬´´S°Ñ(9¸3Ó#?Ó@Ð@ñ
ùs   ‚B;C*Â=C(Â>+C*rL   c          
   ƒ  ó  #   • U(       d  [        SU< 35      eU R                  U R                  SU 35      [        X#XES9[	        S[
        5      S9I Sh  v•N n[        [	        [        [        [        4   U5      5      $  N*7f)zJAsync mirror of `ParseJobsResource.get`. See there for full documentation.r†   r‡   rL   r   rˆ   Nr‰   rŒ   s          r<   rŽ   ÚAsyncParseJobsResource.get‡  s†   é € ö ÜÐTÐU[ÑT^Ð_Ó`Ð`Ø—I‘IØ�L‰L˜?¨6¨(Ð3Ó4Ü(Ø+ÐQ[ñô ˜¤fÓ-ð ð 
÷ 
ˆô #¤4¬´´S°Ñ(9¸3Ó#?Ó@Ð@ñ
ùs   ‚ABÁB Á+Br�   c             ƒ  ó�  #   • XUS.R                  5        VV	s0 s H  u  p‰[        U	5      (       d  M  U	c  M  X‰_M      n
nn	U R                  U R                  S5      [	        UUUUU
S9[        S[        5      S9I Sh  v•N n[        [        [        [        4   U5      nUR                  S/ 5       Vs/ s H)  n[        [        [        [        [        4   U5      5      PM+     nn[        R                  " UUR                  S5      UR                  S	5      UR                  S
5      UR                  S5      S9$ s  sn	nf  NÁs  snf 7f)zKAsync mirror of `ParseJobsResource.list`. See there for full documentation.r•   Nr~   r–   r   rˆ   r˜   r™   rš   r‘   r’   r›   rœ   rž   s                  r<   r¡   ÚAsyncParseJobsResource.listœ  s7  é € ð (,ÈvÑV×\Ñ\Ô^ô
â^‘
�Ü˜�ó à#(ó ˆCŠJÙ^ð 	ñ 
ð
 —I‘IØ�L‰LÐ)Ó*Ü(Ø+Ø'Ø%ØØñô ˜¤fÓ-ð ð 

÷ 

ˆô ”7œ3¤˜8Ñ$ cÓ*ˆØORÏwÉwÐW]Ð_aÔObÓcÒObÀtÔ#¤D¬´´c°Ñ):¸DÓ$AÖBÑObˆÐcÜ�}Š}ØØ—W‘W˜ZÓ(Ø—7‘7˜8Ó$Ø—‘˜“Ø—g‘g˜kÓ*ñ
ð 	
ùó%
ñ


ùò dùs8   ‚E™D9³D9¸D9¾?EÁ=D?Á>5EÂ30EÃ#AEÅEFr£   c             ƒ  ót   ^ ^#   • [        UU 4S jU=(       d    [        R                  UUUS9I Sh  v•N $  N7f)zWAsync mirror of `ParseJobsResource.wait`; sleeps via `anyio.sleep` instead of blocking.c                 ó&   >• TR                  T 5      $ r©   rª   r«   s   €€r<   r¬   Ú-AsyncParseJobsResource.wait.<locals>.<lambda>Í  r®   rs   )r¯   rE   r¤   r¥   N)r   r±   r¯   r³   s   ``    r<   r´   ÚAsyncParseJobsResource.waitÂ  s7   ùé € ô *Ý$Ø ×2¤D§N¡NØØ'Ø-ñ
÷ 
ð 	
ñ 
ùs   „-8±6²8rc   r¶   r·   r¸   rº   r½   rc   rs   r<   r)   r)   a  sÆ  † ð 04Ø-1Ø&*Ø9=Ø)-Ø04ØIMð )-Ø$(Ø"&Ø;Dñ#Að -ð#Að +ð	#Að
 $ð#Að 7ð#Að 'ð#Að .ð#Að Gð#Að &ð#Að "ð#Að  ð#Að 9ð#Að  
õ!#AðR )-Ø$(Ø"&Ø;DñAàðAð &ð	Að
 "ðAð  ðAð 9ðAð 
õAð0  Ø $Ø'+Ø(,Ø$(Ø"&Ø;Dñ$
ð ð$
ð ð	$
ð
 %ð$
ð &ð$
ð "ð$
ð  ð$
ð 9ð$
ð 
õ$
ðT .Ø)-Ø!&Ø48ñ
àð
ð ð	
ð
 'ð
ð ð
ð 2ð
ð 
÷
ð 
rs   r)   )r,   rV   r-   rV   r.   rV   r/   rV   r+   rV   rl   zdict[str, Any])9Ú
__future__r   r3   r±   Útypingr   r   r   r   r   Úpathlibr	   Útyping_extensionsr
   ÚhttpxÚ_baser   r   r   r   r   Ú_filesr   Ú_typesr   r   r   r   r   r   r   r   Ú_utilsr   r   Útypes.v2r   r   Ú
_normalizer   Ú	_resourcer    r!   Ú_exceptionsr"   Ú_base_clientr#   Úlib.url_utilsr$   Úlib.v2_errorsr%   Ú__all__r=   r&   r'   r(   r)   rc   rs   r<   Ú<module>rÚ      sÔ   ðå "ã Û ß 9Õ 9Ý Ý %ã ç lÕ lÝ )ß V× VÓ Vß -ß ,Ý +ß :Ý )Ý 0Ý 9Ý 2â
`€ð!dØð!dàð!dð ð!dð ð	!dð
 ð!dð ô!dôHR�O _ô Rôj,˜Ð*:ô ,ô^[
˜¨ô [
ô|q
˜_Ð.>õ q
rs   