
    _j                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZ ed          Z	e	j
        ZdZdZe	dz  Z ej                    dz  Ze	dz  e	d	z  e	d
z  dZd Zd Zd Zd Zd Zd Zedk    r e             dS dS )    )PathNzN/data/video-pipeline/HaTramAudio/project/021-Ngay-Toi-Bi-Gach-Ten-Khoi-Gia-Phazrun-20260721T131911Z-ac5d64d1@bb80e97d9adcb0427ea3828449858445323db228cca38f37cdf0446fffefdd6fzwork/artwork/image-prompts.jsonzA.hermes/skills/content-creation/tao-anh/scripts/generate_image.pyz(image/provider/intro-poster-provider.pngz'image/provider/right-panel-provider.pngz&image/provider/left-panel-provider.pngintrorightleftc                      t           j                            t           j        j                                                                      dd          S )Nz+00:00Z)dtdatetimenowtimezoneutc	isoformatreplace      work/artwork/generate_artwork.pyr   r   
   s5    11;;==EEhsSS
Sr   c                 &   t          j                    }t          | d          5 }|                    d          x}r,|                    |           |                    d          x},d d d            n# 1 swxY w Y   |                                S )Nrbi   )hashlibsha256openreadupdate	hexdigest)pathhfbs       r   shar!      s    
>
4oo +66+*qxx{{{166+*+ + + + + + + + + + + + + + +	s   AA44A8;A8c                     | j                             dd           |                     | j        dz             }|                    t          j        |dd          dz              |                    |            d S )NT)parentsexist_okz.tmpF   )ensure_asciiindent
)parentmkdirwith_suffixsuffix
write_textjsondumpsr   )r   objtmps      r   atomicr2      s    4...43C3CDKPVDV3W3WsX[XfXfgkgqru  DI  QR  hS  hS  hS  TX  hX  YY  YY  YY  Z]  Ze  Ze  fj  Zk  Zk  Zk  Zk  Zkr   c                     t           j                                        fddD             } | r(t          j                    dz  }|                                r/t          j        |                                j                  dk    sJ |	                                
                                D ]}d|v r|                                                    d          sy|                    dd          \  }}                    |                                |                                                    d                              d	                     t!          fd
dD                       sJ S )Nc                 >    g | ]}                     |          |S r   get.0kenvs     r   
<listcomp>zload_env.<locals>.<listcomp>   s.    cccaX[X_X_`aXbXbccccr   )TAO_ANH_API_KEYTAO_ANH_API_URLz.hermes/.envi  =#   "'c              3   B   K   | ]}                     |          V  d S )Nr5   r7   s     r   	<genexpr>zload_env.<locals>.<genexpr>   s-      FF1CGGAJJFFFFFFr   )osenvironcopyr   homeexistsstatS_IMODEst_mode	read_text
splitlineslstrip
startswithsplit
setdefaultstripall)missingpliner9   vr:   s        @r   load_envrY      sE   Z__cccc+Pcccw TIKK!ahhjjZT\!&&((BR5S5SUZ5Z5Z5Z5Zkkmm&&(( T Td	Tkk$++--22377k

3qCAa#..17799??33G3G3M3Mc3R3RSSSFFFF EFFFFFFFFczr   c                    t          j        t          dz                                            }|d         t          k    r)|d         t
          k    r|d         dk    r|d         dk    sJ t          t          dz            t          k    sJ | d	                                         D ],\  }}t          t          |z            |k    sJ |d
f            -d S )Nz.ownership-lock.json
project_idrun_idownerzorostatusmain_session_pipelinezstory/story-canon.txtauthority_sha256zauthority drift)	r.   loadsROOTrM   PROJECTRUNr!   CANONitems)bundlelockrelr   s       r   guardrk      s   
j$--88::;;4CUW^C^C^cghpcqsvcvcv{  AH  |I  KQ  |Q  |Q  VZ  [c  Vd  f}  V}  V}  V}  V}D(())50000'(..00``USDHq8H8H8H#N_I`8H8H8H8H``r   c                     t          j        t                                                    } | d         t          k    r| d         dk    sJ t                      }dD ]}t          |            t          |         }t          d| dz  }t          j
        | d         |                                                                                   }|                                r|                                rt          j        |                                          }|                    d          dk    rA|                    d	          t          |          k    r|                    d
          |k    rdt           t"          dd||t          t%          |          dt'                      d}t)          ||           t+          j        dt%          t.                    d| d         |         dt%          |          ddg|dd          }|j        dk    rG|                    ddt'                      d           t)          ||           t5          | d          |                                r=|                                j        dk    r |                                d d         dk    sJ |                    ddddt          |          |                                j        t'                      d           t)          ||           t=          t          j        dd  t                                           D             d!d"                     d S )#Nsource_canon_sha256r_   lockedr   zlog/artwork-z.jsonprompts	completedartifact_sha256prompt_sha256r@   creatingFz
[REDACTED])schema_versionr[   r\   r_   verified
prompt_keyrr   rm   output_path
credential
created_atpython3z--promptz--outputz	--timeout600T)r:   capture_outputtextr   failedz(provider command failed; stderr redacted)r_   failure	failed_atz provider failed   s   PNG

)r_   technical_verifiedru   awaiting_visual_qarq   
size_bytescompleted_at$artwork_generated_awaiting_visual_qac                     i | ]=\  }}|t          |          t          |          |                                j        d >S ))r   r   bytes)strr!   rJ   st_size)r8   r9   rX   s      r   
<dictcomp>zmain.<locals>.<dictcomp>+   s      Ne  Ne  Ne  NQ  NO  PQaX[\]X^X^hklmhnhnwxw}w}ww  xH  QI  QI  Ne  Ne  Ner   )r_   outputs)r&   )!r.   rb   PROMPTSrM   rf   rY   rk   OUTPUTSrc   r   r   encoder   rI   r6   r!   rd   re   r   r   r2   
subprocessrunSCRIPT
returncoder   RuntimeErrorrJ   r   
read_bytesprintr/   rg   )	rh   r:   keyoutreceiptpholdintentcps	            r   mainr      sj   
7$$&&''v6K/Le/S/SX^_gXhjrXrXrXrXrw  xB  xBsv$ 
T 
TS---GCL.GS.G.G.G)G7>Z`ajZkloZpZwZwZyZyKzKz  LE  LE  LG  LG^^ x#**,, xz'##%%&&3	ggh$$1B)C)CSXX)M)MRURYRYZiRjRjlnRnRnow'3
^cqt  FH  _d  sv  wz  s{  s{  IU  cf  ch  ch  
i  
i&  jp  qx  y  j@  j@  j@^Ys6{{:fY6G6LZX[\_X`X`almrsx{  LP  VZ  [  [  ["]A	==8.Xehejejkklllmst{  }C  nD  nD  nD  KW  [^  Xp  Xp  Xp  Kq  Kq  Eq	]#((**,Q..3>>3C3CBQB3GI]3]3]3]3]--+45fj  ~A  BE  ~F  ~F  TW  T\  T\  T^  T^  Tf  vy  v{  v{  |  |  }  }  }  ~D  EL  MS  ~T  ~T  ~T  ~TtzB  Ne  Ne  U\  Ub  Ub  Ud  Ud  Ne  Ne  Ne  f  f  ty  z  z  z  {  {  {  {  {r   __main__)pathlibr   r   r   r   r.   rE   rJ   r   rc   namerd   re   rf   r   rH   r   r   r   r!   r2   rY   rk   r   __name__r   r   r   <module>r      sY         : : : : : : : : : : : : : : : : : : : : : : : :	T
Z[[	5#<~e..idikk  CF  7Fv@@NwIw  @D  Em  @m  	n  	n S S S  
k k kR R Ra a a{ { { Zr   