
    W.jL                        d dl mZ d dlZd dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlmZmZ dZh dZh d	Zg d
Zd eD             Zd2dZd3d4dZd5d6dZd7dZ d8d$Z!d9d'Z"ddd(d:d1Z#dS );    )annotationsN)datetimetimezone)Any)ActionDescriptor
ActionModeAttentionItemDisplayPolicyKpiItemModuleIdModuleSnapshotModuleStatusSensitivitySeveritySourceHealth
SourceTypeutcnow)assert_safe_module_snapshotredact_error_messagezautoshorts.safe_status.v1>   idlereadystalefailedreviewunknownplanningpreview_ready>   r   blockedr   	not_readyreview_needed)!tokensecretoauthrefresh_tokenaccess_tokenyoutubetiktok	instagramffmpegz\bwan\bpromptscript	voiceoversubtitlecaptiondescription
video_path
audio_path
image_path
frame_paththumbnail_pathmanifest_path
local_pathz/home/z\.srtz\.assz\.mp4z\.movz\.wavz\.mp3z\.pngz\.jpgz\.webpc                L    g | ]!}t          j        |t           j                  "S  )recompile
IGNORECASE).0ps     \/home/agent/projects/Jarvis/apps/api-gateway/jarvis_gateway/adapters/autoshorts_sanitizer.py
<listcomp>r?   "   s&    QQQaRZ2=))QQQ    returnr   c            
     X    t          ddt          j        t          j        d ddd          S )NzOpen AutoShortsz/autoshortsF)labelhrefmodesensitivityblocked_reasonpreview_requiredconfirm_requiredaudit_required)r   r   	LINK_ONLYr   INTERNALr8   r@   r>   _safe_actionrM   %   sM    "3-jNbp{  qE  VZ  mr  EJ  [`  a  a  a  ar@     valuer   defaultintmaximumc                B   t          | t                    r|S t          | t                    rt          dt	          | |                    S t          | t
                    r?|                                 r+t          dt	          t          |           |                    S |S )Nr   )
isinstanceboolrQ   maxminstrisdigit)rO   rP   rR   s      r>   	_safe_intrZ   )   s    % % +1c%))***% 0%--// 01c#e**g..///Nr@   r   allowedset[str]rX   c                    t          | t                    s|S |                                                                 t	          fdt
          D                       r|S |v rn|S )Nc              3  B   K   | ]}|                               V  d S Nsearch)r<   r=   	candidates     r>   	<genexpr>z!_safe_category.<locals>.<genexpr>7   s/      
2
21188I
2
2
2
2
2
2r@   )rT   rX   striplowerany	_COMPILED)rO   r[   rP   rb   s      @r>   _safe_categoryrh   3   sq    eS!! ##%%I

2
2
2
2	
2
2
222 !W,,99'9r@   datetime | Nonec                j    t           t          t          f          r& dk    r t          j         t
          j                  S t           t                    rZt           fdt          D                       s:	 t          j
                             dd                    S # t          $ r Y d S w xY wd S )Nr   )tzc              3  B   K   | ]}|                               V  d S r_   r`   )r<   r=   rO   s     r>   rc   z"_safe_timestamp.<locals>.<genexpr>?   s-      )M)Ma!((5//)M)M)M)M)M)Mr@   Zz+00:00)rT   rQ   floatr   fromtimestampr   utcrX   rf   rg   fromisoformatreplace
ValueError)rO   s   `r>   _safe_timestamprt   <   s    %#u&& >5199%e====% c)M)M)M)M9)M)M)M&M&M 	)%--X*F*FGGG 	 	 	44	4s   :'B" "
B0/B0nowr   titleseverityr   deduper	   c                ~    t          d| t          j        |||t          j        | t                      d| 	  	        S )Natt_autoshorts_zautoshorts.)	id	module_idrv   messagerw   rF   
created_ataction
dedupe_key)r	   r   
AUTOSHORTSr   rL   rM   )ru   rv   rw   rx   s       r>   
_attentionr   G   s    6f66(BU]blq  }E  S^  Sg  tw  @L  @N  @N  [q  io  [q  [q  r  r  r  rr@   payloadNonec                    t          |           }t          D ]&}|                    |          rt          d          'd S )Nz)autoshorts snapshot contains unsafe value)rX   rg   ra   rs   )r   textpatterns      r>   %assert_no_sensitive_autoshorts_outputr   K   sT    w<<D J J>>$ 	JHIII	JJ Jr@   )last_attempt_aterrorrawdict[str, Any]source_typer   r   r   
str | Noner   c                  |pt                      }t          |                     dd                    o| }t          |                     d|                     dd                              }t          |                     d|                     d|                     dd                                        }t          |                     d	|                     d
d                              }t	          |                     d|                     dd                    t
                    }	t	          |                     dd          t                    }
t	          |                     dd          h d          }|r"t          |                     d                    nd }|dk    p|	dk    p| }|rt          j	        }nE|st          j
        }n6|rt          j	        }n'|s|s
|dk    s|
dv rt          j        }nt          j        }g }|r/|                    t          |dt          j        d                     |
dv r/|                    t          |dt          j        d                     |r/|                    t          |dt          j        d                     |r/|                    t          |dt          j        d                     t%          t&          j        d|t*          j        t.          j        ||d|rdn|rd nd t3          |d |d!t4          |||rt7          |          nd |"	  	        t9          dd#|d$|rt          j        nt          j        t*          j        t.          j        d%&          t9          dd'|d$|rt          j        nt          j        t*          j        t.          j        d%&          t9          dd(|	d |	d)k    rt          j        n|	d*v rt          j        nt          j        t*          j        t.          j        d+&          g|d d,         t?                      gt?                      d-.          }|                     d/0          }tC          |           tE          |           |S )1N	reachableTpending_review_countready_for_approvalr   ready_preview_countready_previewsneeds_metadatafailed_pipeline_countfailed_actionslast_pipeline_statuspipeline_statusr   publishing_status_categorypipeline_freshness>   freshr   r   last_success_atr   r   >   r   r    zReview pendingreview_pendingzUpload check neededupload_checkzPipeline stalepipeline_stalezRender failedrender_failed
AutoShortsiQ autoshorts_readonly_unavailableautoshorts_pipeline_failedzautoshorts-readonly-v1)	r   
latency_msr   versioncontract_versionr   r   last_error_redactedr   zCandidates pending reviewitemszSafe count only.)keyrC   rO   unitrw   rF   display_policy	help_textzReady previewszLast pipeline statusr   >   r   r   zSafe category only.   zjarvis.module_snapshot.v1)r|   rv   statusrF   r   r   r   stale_after_secondsdegraded_reasonsource_healthkpisattention_itemslinksprimary_actionr   json)rE   )#r   rU   getrZ   rh   ALLOWED_PIPELINEALLOWED_PUBLISHINGrt   r   DEGRADEDOFFLINE	ATTENTIONOKappendr   r   WARNINGERRORr   r   r   r   rL   r
   SUMMARYr   CONTRACT_VERSIONr   r   SUCCESSINFOrM   
model_dumpr   r   )r   r   r   r   ru   r   pendingr   r   pipeline
publishing	freshnesslast_successr   r   	attentionsnapshotr   s                     r>   sanitize_autoshorts_statusr   R   s[   

%VXXCSWW[$//00>YI 6@TVW8X8XYYZZGcgg3SWW=MswwWgijOkOk5l5lmmnnEsww6@PRS8T8TUUVVFcgg&<cggFWYb>c>cddfvwwH(Di P PRdeeJsww';YGGIfIfIfggIBKU?377+<#=#=>>>QUL HH$7Hy=E 	!& !%	 !&	 !E !Y'11ZC_5_5_'%'I `C)98;KM]^^___111C)>@PR`aabbb `C)98;KM]^^___ \C(./ZZ[[[%($,$!=Bx99hnHxHdHdtx"Y4U`  kC  Vf  xD  VY  NS  o]  oC  DI  oJ  oJ  oJ  Y]  ej  k  k  k.6QY`gn  NU  zk  zB  zJ  zJ  [c  [k  yD  yM  ^k  ^s  Q  R  R  R-5EUY`  @E  l[ksk{k{  KS  K[  it  i}  N[  Nc  oA  B  B  B.6LT\cg  EM  QY  EY  EYrz  sA  sA  s{  R  sR  sR  _g  _o  _o  X`  Xe  s~  sG  Xe  Xm  yN  O  O  O

 ""1"~~#~~4'  H* !!v!..G)'222(((Or@   )rA   r   )r   rN   )rO   r   rP   rQ   rR   rQ   rA   rQ   )r   )rO   r   r[   r\   rP   rX   rA   rX   )rO   r   rA   ri   )
ru   r   rv   rX   rw   r   rx   rX   rA   r	   )r   r   rA   r   )
r   r   r   r   r   ri   r   r   rA   r   )$
__future__r   r9   r   r   typingr   jarvis_gateway.contractsr   r   r	   r
   r   r   r   r   r   r   r   r   r   jarvis_gateway.redactionr   r   r   r   r   FORBIDDEN_AUTOSHORTS_PATTERNSrg   rM   rZ   rh   rt   r   r   r   r8   r@   r>   <module>r      s   " " " " " " 				 ' ' ' ' ' ' ' '                                    W V V V V V V V. iii RRR ! ! !  RQ3PQQQ	a a a a    : : : : :   r r r rJ J J J tx  NR 6 6 6 6 6 6 6 6r@   