
    j                        d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d de          Z	 G d d	e          Z
 ed
           G d d                      ZddZdS )z8Minimal AI-disclosure review model for pre-render gates.    )annotations)	dataclass)StrEnum)ValidationResultc                      e Zd ZdZdZdZdS )DisclosureValueyesnounclearN)__name__
__module____qualname__YESNOUNCLEAR     ]/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/autoshorts/compliance/ai_disclosure.pyr   r      s        
C	BGGGr   r   c                  *    e Zd ZdZdZdZdZdZdZdZ	dS )	SyntheticMediaTypenonetext_only_assistanceabstract_backgroundrealistic_personrealistic_eventrealistic_voicer   N)
r   r   r   NONETEXT_ONLY_ASSISTANCEABSTRACT_BACKGROUNDREALISTIC_PERSONREALISTIC_EVENTREALISTIC_VOICEr   r   r   r   r   r      s4        D1/)'O'OGGGr   r   T)frozenc                  r    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   edd            ZdS )AIDisclosureReviewr   youtubetiktok	instagramlinkedinstrreasonr   synthetic_media_typeFboolmanual_review_requiredreturn'AIDisclosureReview'c           	          | t           j        t           j        t           j        t           j        |t          j        d          S )NF)r&   r'   r(   r)   r+   r,   r.   )r   r   r   r   )clsr+   s     r   r   z'AIDisclosureReview.text_only_assistance%   s?    s#&"%%($'!3!H#(
 
 
 	
r   N)r+   r*   r/   r0   )r   r   r   __annotations__r.   classmethodr   r   r   r   r%   r%      s         KKK,,,,#(((((	
 	
 	
 [	
 	
 	
r   r%   reviewr/   r   c                *   g }t           j        | j        | j        | j        | j        fv r|                    d           | j        t          j        k    r|                    d           | j        t          j	        t          j
        t          j        hv r| j        s|                    d           | j        pd                                s|                    d           t          | t!          t"                              |                              S )Nz#unclear disclosure blocks renderingz-unclear synthetic media type blocks renderingz9realistic synthetic media requires manual_review_required zdisclosure reason is required)is_validerrors)r   r   r&   r'   r(   r)   appendr,   r   r    r!   r"   r.   r+   stripr   tupledictfromkeys)r5   r9   s     r   validate_ai_disclosure_reviewr?   2   s   F6>6=&BRTZTc"ddd;<<<"&8&@@@EFFF"+**'   +	
 	QRRRMR&&(( 75666ZdmmF>S>S8T8TUUUUr   N)r5   r%   r/   r   )__doc__
__future__r   dataclassesr   enumr   autoshorts.ideas.candidater   r   r   r%   r?   r   r   r   <module>rE      s   > > " " " " " " ! ! ! ! ! !       7 7 7 7 7 7    g           $
 
 
 
 
 
 
 
,V V V V V Vr   