ó
    uÕgj×  ã                  óÔ   • S r SSKJr  SSKrSSKrSSKJrJr  SSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJrJr  SS
KJr  SSKJrJr  \ " S S5      5       rS\S4         SS jjrg)aw  Run one ADE parse end to end: submit, write artifacts, summarize.

`run_parse` takes a source PDF or image (local path or ``s3://`` URI), an
output destination (local directory or ``s3://`` prefix), a model name, and
an optional 1-based page number. It parses the document through ADE, writes
the artifacts through the same output contract the other extraction routines
honor, and returns a run summary with the credit usage the platform reported.

Artifacts per run: ``<base>.ade.json`` (raw parse response), ``<base>.ade.md``
(the parse markdown), and ``<base>.ade.complete.json`` written strictly last as
the completion marker.
é    )ÚannotationsN)Ú	dataclassÚfield)ÚPath)ÚOptional)Úlogger)Úresolve_document)Úoutput_sinkÚwrite_completion_marker)Ú
slice_page)ÚDEFAULT_MODELÚparse_documentc                  óX   • \ rS rSr% SrS\S'   S\S'   S\S'   S	\S
'   \" \S9rS\S'   Sr	g)Ú
RunSummaryé   zCWhat one ADE run produced, for the CLI to print and callers to log.ÚstrÚbaseúOptional[int]ÚpageszOptional[float]ÚcreditszOptional[str]Úmodel_version)Údefault_factoryz	list[str]Ú	artifacts© N)
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r   Úlistr   Ú__static_attributes__r   ó    ÚB/home/mande/repo/quber/src/quber/providers/landing/orchestrator.pyr   r      s+   ‡ áMà
ƒIØÓàÓØ Ó Ù °Ñ6€IˆyÖ6r#   r   Úoutputc                óh  • [        U 5      nUR                  nUb  U SU 3n[        R                  " SS9 nUnUb  [	        XC[        U5      U S3-  5      n[        XrS9nSSS5        WR                  S5      =(       d    0 n	U	R                  S5      n
U
c)  U	R                  S	5      =(       d    0 R                  S
5      n
[        UU	R                  S5      U
U	R                  S5      =(       d    U	R                  S5      S9n[        U5       nXÅ S3-  nUR                  [        R                  " USS9SS9  XÅ S3-  nUR                  UR                  S5      =(       d    SSS9  UR                  UR                  /Ul        SSS5        [        UU S3UR                  UR                   UR"                  UR$                  U	R                  S5      S.5        [&        R(                  " SUR*                  UR                   UR"                  5        U$ ! , (       d  f       GN¸= f! , (       d  f       N¦= f)zCParse ``source`` through ADE and write artifacts to ``output_dir``.Nz.pz
quber-ade-)Úprefixz.pdf)ÚmodelÚmetadataÚcredit_usageÚbillingÚtotal_creditsÚ
page_countÚversionr   )r   r   r   r   z	.ade.jsoné   )Úindentzutf-8)Úencodingz.ade.mdÚmarkdownÚ z.ade.complete.jsonÚjob_id)r   r-   r*   r.   r4   z-ADE run complete: base={} pages={} credits={})r	   ÚstemÚtempfileÚTemporaryDirectoryr   r   r   Úgetr   r
   Ú
write_textÚjsonÚdumpsÚnamer   r   r   r   r   r   Úinfor   )ÚsourceÚ
output_dirr(   ÚpageÚlocalr   ÚtmpÚ	submittedÚdocÚmetar   ÚsummaryÚoutÚ	json_pathÚmd_paths                  r$   Ú	run_parserJ   *   sü  € ô ˜VÓ$€EØ�:‰:€DØÑØ��r˜$˜Ð ˆä	×	$Ò	$¨LÒ	9¸SØˆ	ØÑÜ" 5´°S³	¸t¸fÀD¸MÑ0IÓJˆIÜ˜YÑ4ˆ÷	 
:ð �7‰7�:Ó×$ "€Dð �h‰h�~Ó&€GØ�Ø—8‘8˜IÓ&×,¨"×1Ñ1°/ÓBˆÜØØ�h‰h�|Ó$ØØ—h‘h˜yÓ)×F¨T¯X©X°oÓ-Fñ	€Gô 
�ZÔ	  CØ˜F )Ð,Ñ,ˆ	Ø×ÑœTŸZšZ¨°AÑ6ÀÐÑIØ˜& Ð(Ñ(ˆØ×Ñ˜3Ÿ7™7 :Ó.×4°"¸wÐÑGØ&Ÿ^™^¨W¯\©\Ð:ˆÔ÷ 
!ô ØØˆ&Ð"Ð#à ×*Ñ*Ø!Ÿ-™-Ø#ŸO™OØ×,Ñ,Ø—h‘h˜xÓ(ñ	
ô
ô ‡K‚KØ7Ø�‰Ø�‰Ø�‰ô	ð €N÷Y 
:Ö	9ú÷( 
!Õ	 ús   ¶*HÄA7H#È
H È#
H1)
r>   r   r?   r   r(   r   r@   r   Úreturnr   )r   Ú
__future__r   r:   r6   Údataclassesr   r   Úpathlibr   Útypingr   Úlogurur   Úquber.files.cacher	   Úquber.files.outputr
   r   Úquber.files.pdfr   Úquber.providers.landing.clientr   r   r   rJ   r   r#   r$   Ú<module>rU      s„   ðñõ #ã Û ß (Ý Ý å å .ß CÝ &ß Hð ÷7ð 7ó ð7ð ØØð	8Øð8àð8ð ð8ð ð	8ð
 ö8r#   