+
    lHàj=  ã                  ó„  a € 0 t $ R t^ RIHt ^ RIt^ RIHtHtHt ^ RI	H
t
 ^ RIHtHtHt ^ RIHtHt R R ltR	 R
 ltR R ltR R ltRRRR/tR R lt]! RRRR/ 4      tR]R&   ]! RRRRRRR RR!//4      tR]R"&   R# R$ ltR% R& ltR' R( ltR]]3R]]33 F!  w  ttt ]PB                  ! ]R)]] ]. R*R+R,7       K#  	  R# )-z1xAI-specific Imagine video edit and extend tools.)ÚannotationsN)ÚAnyÚDictÚOptional)Úload_config)Úhas_xai_video_credentialsÚrun_xai_video_editÚrun_xai_video_extend)ÚregistryÚ
tool_errorc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚbool© )Úformats   "Ú:/home/ubuntu/.hermes/hermes-agent/tools/xai_video_tools.pyÚ__annotate__r      s   € ÷ Jñ J 4ñ Jó    c                 ó²   €  \        4       P                  R 4      p \        T \        4      ;'       d    T P                  R4      R8H  #   \         d     R# i ; i)Ú	video_genFÚproviderÚxai)r   ÚgetÚ	ExceptionÚ
isinstanceÚdict)Úsections    r   Ú_configured_for_xai_videor      sR   € ðÜ“-×#Ñ# KÓ0ˆô �gœtÓ$×IÐI¨¯©°ZÓ)@ÀEÑ)IÐIøô ô Úðús   ‚A ÁAÁAc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r      s   € ÷ Gñ G tñ Gr   c                 ó:   € \        4       ;'       d    \        4       # ©N)r   r   r   r   r   Ú_check_xai_video_requirementsr#      s   € Ü$Ó&×FÐFÔ+DÓ+FÐFr   c               ó    € V ^8„  d   QhRRRR/# )r   Úvaluer   r   zOptional[str]r   )r   s   "r   r   r      s   € ÷ Oñ O˜ð O ñ Or   c                ó~   € \        V \        4      '       d'   V P                  4       '       d   V P                  4       # R # r"   )r   ÚstrÚstrip©r%   s   &r   Ú_clean_stringr*      s)   € Ü& u¬c×2Ò2°u·{±{·}²}ˆ5�;‰;‹=ÐNÈ$ÐNr   c               ó    € V ^8„  d   QhRRRR/# )r   r%   r   r   zOptional[int]r   )r   s   "r   r   r      s   € ÷ ñ �sð ˜}ñ r   c                ó‚   € V e   \        V \        4      '       d   R #  \        V 4      #   \        \        3 d     R # i ; ir"   )r   r   ÚintÚ	TypeErrorÚ
ValueErrorr)   s   &r   Ú_coerce_intr0      s<   € à‚}œ
 5¬$×/Ò/ÙðÜ�5‹zÐøÜ”zÐ"ô Úðús   ž
) ©>½>ÚtypeÚstringÚdescriptionui   Public HTTPS MP4 URL of the source video â€” the `video` or `public_url` from a prior xAI Imagine result.c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# )	r   Únamer'   ÚverbÚnounÚprompt_verbÚextraúdict[str, Any]r   r   )r   s   "r   r   r   1   s8   € ÷ ñ ˜Cð  sð °#ð ÀCð ÐP^ð Ðcqñ r   c                óR   € R V RV RV R2RRRRRRR	RR
V R2/R\         /VCRRR.//# )r5   r3   zZ an existing video with xAI Imagine. This is separate from `video_generate` because video z‡ is provider-specific. `video_url` must be the public HTTPS MP4 URL from a prior Imagine result (`video` or `public_url` on files-cdn).Ú
parametersr1   ÚobjectÚ
propertiesÚpromptr2   zInstruction for how xAI should z the source video.Ú	video_urlÚrequired)Ú_VIDEO_URL_PARAM)r5   r6   r7   r8   r9   s   &&&&&r   Ú_xai_video_schemarC   1   s   € à�ØØˆfð .Ø.2¨Vð 4=ð=ð
 	Ø�HØØØ˜HØ!Ð%DÀ[ÀMÐQcÐ#dðð Ô-ðð ðð ˜ ;Ð/ð
ðð r   Úxai_video_editÚEditÚeditingÚmodifyr:   ÚXAI_VIDEO_EDIT_SCHEMAÚxai_video_extendÚExtendÚ	extensionÚcontinueÚdurationÚintegerzNDesired extension duration in seconds. xAI clamps this to its supported range.ÚXAI_VIDEO_EXTEND_SCHEMAc               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úargsr:   Úopr'   r9   r   r   r   )r   s   "r   r   r   X   s.   € ÷ Hñ H˜nð H°#ð HÀSð HÈSñ Hr   c           
     ó   € \        V P                  R 4      4      \        V P                  R4      4      rTV'       g   \        RV 24      # V'       d&   VP                  4       P	                  R4      '       g   \        R4      # \        4       '       g   \        P                  ! RRRRRR	R
R/4      # \        P                  ! V! RR VRV/VB 4      # )r?   r@   z!prompt is required for xAI video z_video_url must be a public HTTPS MP4 URL (the `video`/`public_url` from a prior Imagine result)ÚsuccessFÚerrorzzxAI video edit/extend tools require `video_gen.provider` to be configured as `xai` via `hermes tools` -> Video Generation.Ú
error_typeÚprovider_not_configuredr   r   )zhttp://zhttps://r   )r*   r   r   ÚlowerÚ
startswithr   ÚjsonÚdumps)rQ   rR   Úrunr9   r?   r@   s   &&&,  r   Ú_run_xai_video_toolr]   X   sÈ   € Ü% d§h¡h¨xÓ&8Ó9¼=ÈÏÉÐR]ÓI^Ó;_ˆIßÜÐ=¸b¸TÐBÓCÐCß˜)Ÿ/™/Ó+×6Ñ6Ð7N×OÒOÜð+ó
ð 	
ô %×&Ò&Ü�zŠzØ�uØðNð Ð3Ø˜ð
ó ð 	ô �:Š:‘cÑF ÐF°9ÐFÀÑFÓGÐGr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rQ   r:   Ú_kwr   r   r'   r   )r   s   "r   r   r   n   s&   € ÷ Añ A ð A¸ð AÀñ Ar   c                ó$   € \        V R \        4      # )Úedit)r]   r   ©rQ   r`   s   &,r   Ú_handle_xai_video_editrd   n   s   € Ü˜t VÔ-?Ó@Ð@r   c               ó$   € V ^8„  d   QhRRRRRR/# r_   r   )r   s   "r   r   r   r   s&   € ÷ qñ q >ð q¸#ð qÀ#ñ qr   c           
     óX   € \        V R \        \        V P                  R4      4      R7      # )ÚextendrM   )rM   )r]   r	   r0   r   rc   s   &,r   Ú_handle_xai_video_extendrh   r   s&   € Ü˜t XÔ/CÌkÐZ^×ZbÑZbÐcmÓZnÓNoÔpÐpr   r   FÚvideo)r5   ÚtoolsetÚschemaÚhandlerÚcheck_fnÚrequires_envÚis_asyncÚemoji)"Ú__conditional_annotations__Ú__doc__Ú
__future__r   rZ   Útypingr   r   r   Úhermes_cli.configr   Úplugins.video_gen.xair   r   r	   Útools.registryr
   r   r   r#   r*   r0   rB   rC   rH   Ú__annotations__rO   r]   rd   rh   Ú_nameÚ_schemaÚ_handlerÚregister)rq   s   @r   Ú<module>r}      s	  øðä 7å "ã ß &Ñ &å )ß eÑ eß /õJõGõOõð ˆHØð	8ðÐ õñ0 ):Ð:JÈFÐT]Ð_gÐikÓ(lÐ �~Ó lá*;Ø˜ +¨zØØ�IØð*ð
ð<ó
+Ð ˜ó 
õHõ,Aõqð
 Ð,Ð.DÐEØÐ0Ð2JÐKó!Ñ€Eˆ7�Hð ×ÒØ˜K°ÀØ.¸RÈ%ÐW^÷ó	!r   