
    y^j                        d dl Z d dlZd dlZd dlZd dlZd dlmZ  ee                                          j	        d         Z
e
dz  Z ej                    dz  Ze
dz  Ze
dz  e
dz  e
d	z  d
Zd Zd Zd Zd Zedk    r e             dS dS )    N)Path   zimage/prompts.jsonzA.hermes/skills/content-creation/tao-anh/scripts/generate_image.pyzlog/artwork-generation.jsonz image/intro-poster-1920x1080.pngzimage/right-panel-master.pngzimage/left-panel-master.png)introright_panel
left_panelc                    t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                  .                          d          S )Ni   )read)handles   script/run-artwork.py<lambda>zsha256.<locals>.<lambda>   s    &++o">">     r   )hashlibsha256openiterupdate	hexdigest)pathdigestblockr   s      @r   r   r      s    ^F	4 !F>>>>DD 	! 	!EMM%    	!! ! ! ! ! ! ! ! ! ! ! ! ! ! ! s   ,A##A'*A'c                     |                      | j        dz             }|                    t          j        |dd          dz   d           t          j        ||            d S )Nz.partF   )ensure_asciiindent
utf-8encoding)with_suffixsuffix
write_textjsondumpsosreplace)r   datatemps      r   atomic_jsonr*      sa    DK'122DOODJt%BBBTIT[O\\\JtTr   c                 @   |                                  r|                                 j        dk    rt          d|            |                     d          5 }|                    d          dk    rt          d|            	 d d d            d S # 1 swxY w Y   d S )N   zmissing or empty image: r	   s   PNG

z	not PNG: )is_filestatst_sizeRuntimeErrorr   r   )r   r   s     r   	check_pngr1   "   s    <<>> >TYY[[0A55<d<<===	4 3F;;q>>1111411222 23 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   ,BBBc                  Z   t          j        t                              d                    } | d                                         D ]4\  }}t
          |z  }t          |          |k    rt          d|           5t          d t          
                                D                       st                                          rt          d          i }t                                          D ]c\  }}t          j        dt          t                     d| d	         |         d
t          |          ddddddddgd           t#          |           | d                                         D ]2\  }}t          t
          |z            |k    rt          d|           3t          |                    t
                              t          |          |                                j        d||<   t+          t          ddd| d         |t,          j                            t,          j        j                                                  d           et,          j                            t,          j        j                                                  }t+          t          ddd| d         ||d           d| d<   t          t                              t
                              | d<   || d<   t+          t          |            t7          t          j        d|d d!                     d S )"Nr   r   source_authority_hasheszauthority drift: c              3   >   K   | ]}|                                 V  d S )N)exists).0r   s     r   	<genexpr>zmain.<locals>.<genexpr>0   s*      
6
6T4;;==
6
6
6
6
6
6r   z%artwork output/receipt must be virginpython3z--promptpromptsz--outputz--n1z--detailhighz--formatpngz	--timeout600T)checkz%authority drift after provider call: )r   r   bytesrunningFzcx/gpt-5.5-image)statusverifiedproviderr3   results
updated_at	completed)rA   rB   rC   r3   rD   completed_atimage_api_calledgeneration_receiptrE   )rA   targets)r   )r$   loadsPROMPTS	read_textitemsROOTr   r0   anyTARGETSvaluesRECEIPTr5   
subprocessrunstr	GENERATORr1   relative_tor.   r/   r*   datetimenowtimezoneutc	isoformatprintr%   )bundlerelexpectedr   rD   keyoutputrZ   s           r   mainrd   *   s   Z))7);;<<F 9:@@BB : :Xcz$<<8##8388999 $

6
6W^^%5%5
6
6
666 D'..:J:J DBCCCG}} 
A 
AVI
F94Ec4JJX[\bXcXcejloq{  ~D  FP  RW  Yd  fk  l	
 	
 	
 	
 	&#$=>DDFF 	R 	RMCdSj!!X--"#P3#P#PQQQ . #F$6$6t$<$< = =PVbhbmbmbobobwxxG	uRd  BH  Ib  Bc  pw  GO  GX  G\  G\  ]e  ]n  ]r  Gs  Gs  G}  G}  G  G  @  @  	A  	A  	A  	A



 1 5
6
6
@
@
B
BCKTOa  E  F_  `  mt  FI  J  J  K  K  K!%F#&w':':4'@'@#A#AF F<   	$*@@u
U
U
UVVVVVr   __main__)rY   r   r$   r&   rT   pathlibr   __file__resolveparentsrO   rL   homerW   rS   rQ   r   r*   r1   rd   __name__ r   r   <module>rm      s      				          tH~~'*
%
%DIKK]]	
.
.668866     3 3 3W W W: zDFFFFF r   