
    Ej                     v    d Z ddlmZ ddlmZmZmZ ddlmZ  G d de      Z	 G d de      Z
 G d	 d
e      Zy)u   이미지 API 스키마.    )Optional)	BaseModelFieldfield_validatorto_relative_image_pathc                      e Zd ZU eed<   eed<   dZee   ed<   dZeed<   dZ	ee   ed<   dZ
ee   ed<   dZee   ed	<   dZee   ed
<   eed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   eed<   eed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZee   ed<   dZeed<   dZee   ed<   dZee   ed<   dZee   ed<    edd !      Z eed"<    edd#!      Z!ee"e      ed$<   eed%<   dZ#ee   ed&<   dZ$ee   ed'<   dZ%ee&   ed(<   dZ'ee   ed)<   dZ(ee   ed*<   dZ)ee   ed+<   dZ*ee   ed,<   d-d.iZ+ e,dd/0      e-d1               Z.y)2ImageResponseid
asset_typeNpipeline_roleFis_intermediatedisposition	entity_idstill_id
episode_id	file_pathprompt_usedgeneration_modelwidthheightstatusreview_notesvalidation_scorevalidation_resultsanitization_strategyoriginal_promptsanitization_notevariant_typeangle_appliedcolor_appliedsource_image_id
is_primaryprompt_typecode_versionprompt_file_versionz[]u   (lineage) JSON array of visible_entities character/prop UUID list. NOT actual LLM-attached refs — for actual refs see actual_attached_refs.)defaultdescriptionreference_image_idsu   Actual ref labels attached to the LLM call (joined from llm_call_log.reference_image_ids — most recent entry matching still_id). None when log entry not found, retention exceeded, or caller did not pass db/actual_refs_cache.actual_attached_refs
created_atangle_horizontalangle_vertical
angle_zoomcolor_promptis_recommendedselected_for_pdfrecommendation_reasonfrom_attributesTbefore)modec                      |s|S t        |      S )u   ORM의 ImagePathType은 read 시 절대 경로 string 을 반환한다.
        API 응답에는 절대 호스트 경로가 누출되지 않도록 상대로 환원한다 (Codex B2).r   )clsvs     G/Users/manta/Documents/Projects/TheRoad-I1/backend/app/schemas/image.py_normalize_file_pathz"ImageResponse._normalize_file_pathI   s    
 H%a((    )/__name__
__module____qualname__str__annotations__r   r   r   boolr   r   r   r   r   r   r   intr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r   r)   r*   listr,   r-   r.   floatr/   r0   r1   r2   model_configr   classmethodr:    r;   r9   r
   r
   
   s9   GO $(M8C=' "OT!!%K#%#Ix}#"Hhsm" $J$N!%K#%&*hsm*E8C= FHSM K&*hsm*'+x}++/8C=/%)OXc])'+x}+"&L(3-&#'M8C='#'M8C='%)OXc])J!%K#%"&L(3-&)-#-$Y   16;1(49-  O '+hsm*$(NHSM("&J&"&L(3-&%)NHTN)'+htn++/8C=/%t,L[x0)  1)r;   r
   c                   b    e Zd ZU eed<   dZee   ed<   dZee	   ed<   g Z
ee   ed<   dZeed<   y)ValidationResponseimage_idNscorepassedissues r(   )r<   r=   r>   r?   r@   rK   r   rB   rL   rA   rM   rC   r(   rG   r;   r9   rI   rI   S   s;    ME8C=!FHTN!FDIKr;   rI   c                   &    e Zd ZU eed<   dZeed<   y)ReviewUpdater   rN   notesN)r<   r=   r>   r?   r@   rQ   rG   r;   r9   rP   rP   [   s    KE3Or;   rP   N)__doc__typingr   pydanticr   r   r   app.core.file_pathsr   r
   rI   rP   rG   r;   r9   <module>rV      s;      6 6 6F)I F)R 9 r;   