
    Gj                        d Z ddlmZ ddlmZ ddlmZmZ ddddZ ed	
           G d d                      Z	ddZ
ddZddZddZdS )z:Telegram review-package formatting for content candidates.    )annotations)	dataclass)ScriptQualityScoreshould_renderYouTubeTikTok	Instagram)youtubetiktok	instagramT)frozenc                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   dZded<   dZded<   dS )ReviewPackagea  Everything Sir needs to approve, reject, or request changes.

    This structure is deterministic by design: strategy/rendering code can fill
    it, Telegram code can send the rendered text, and publishing code can wait
    for an explicit parsed approval decision.
    strcandidate_idtitlepillarintduration_secondshookscript_summaryvisual_conceptcaptiontuple[str, ...]hashtags	platformsr   quality_score policy_notesNz
str | Nonepreview_path)__name__
__module____qualname____doc____annotations__r   r    r       S/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/autoshorts/review/package.pyr   r      s           JJJKKKIIILLL%%%%$&L&&&&#L######r&   r   itemsr   returnr   c                4    | rd                     |           ndS )Nz; -join)r(   s    r'   _join_or_dashr.   (   s    $-499U#-r&   r   c                L    d | D             }|rd                     |          ndS )Nc                D    g | ]}t                               ||          S r   )_PLATFORM_LABELSget).0platforms     r'   
<listcomp>z#_platform_names.<locals>.<listcomp>-   s)    QQQ8""8X66QQQr&   z, r+   r,   )r   labelss     r'   _platform_namesr7   ,   s1    QQyQQQF &/499VC/r&   	list[str]c                    dg}| D ]G}t                               ||                                          }|                    d|            H|                    ddg           |S )NzFreigabe allez	Freigabe Ablehnenu   Ändern: <Wunschänderung>)r1   r2   r   appendextend)r   commandsr4   labels       r'   _approval_commandsr?   1   ss     H - - $$Xx~~/?/?@@+E++,,,,OOZ!=>???Or&   packagec                N   | j         }t          |          }|rdnd}| j        rd                    | j                  nd}| j        pd}d                    d t          | j                  D                       }d                    d| j         d| j         d	| j	         d
t          | j                   d| j         ddd| j         d| j         d| j         d| j         d| dd|j        ddd|j         ddt%          | j                   |d| dd|g          S )z2Render a concise Telegram-friendly review message.zRender gate: READYu2   Render gate: BLOCKED — nicht automatisch rendern r+   
c              3  "   K   | ]
}d | dV  dS )z- ``Nr   )r3   commands     r'   	<genexpr>z1render_telegram_review_package.<locals>.<genexpr>B   s.      __g)w)))______r&   z## Review: zTitle: zPillar: zPlatforms: z
Duration: s zHook: zScript: zVisual: z	Caption: z
Hashtags: z	Quality: z.1fz/10zAI-slop risk: zPolicy: z	Preview: zApproval commands:)r   r   r   r-   r    r?   r   r   r   r   r7   r   r   r   r   r   average_qualityai_slop_riskr.   r   )r@   scorerender_allowed	gate_liner   previewr=   s          r'   render_telegram_review_packagerP   :   s    !E"5))N(6p$$<pI-4-=Fsxx()))3H")cGyy__9KGL]9^9^_____H990'.00%gm%%'w~''>/'*;<<>>41444#W\##/w-///w-//)))###6-66664U/444<}W%9::<<!!! )	
  r&   N)r(   r   r)   r   )r   r   r)   r   )r   r   r)   r8   )r@   r   r)   r   )r$   
__future__r   dataclassesr   autoshorts.scripting.qualityr   r   r1   r   r.   r7   r?   rP   r   r&   r'   <module>rT      s    @ @ " " " " " " ! ! ! ! ! ! J J J J J J J J    $$ $ $ $ $ $ $ $.. . . .0 0 0 0
   ! ! ! ! ! !r&   