U
    ·êÕjt  ã                   @   sÐ   d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZ dd	„ Zed
dgd�ZG dd„ de	ƒZe d¡eeƒfeedœdd„ƒZd dlmZ e d¡edœdd„ƒZdS )é    )Úlimpiar_para_voz)ÚOptional)Ú	APIRouterÚHTTPExceptionÚDepends)Ú	BaseModelÚField)ÚUUID)Úrun_in_threadpool)Úpreguntar_hermes_panelc                   C   s   t ddd�‚d S )Niô  u$   AutenticaciÃ³n Hermes no configurada©Zstatus_codeZdetail)r   © r   r   úhermes_api_v4_candidate.pyÚobtener_usuario_hermes
   s    þr   z/api/hermesz	Hermes AI)ÚprefixZtagsc                   @   s2   e Zd ZU eddd�Zeed< dZee ed< dS )ÚHermesPreguntaé   iÐ  )Z
min_lengthZ
max_lengthÚmensajeNÚsesion)	Ú__name__Ú
__module__Ú__qualname__r   r   ÚstrÚ__annotations__r   r   r   r   r   r   r      s   
r   z/chat)ÚdatosÚusuarioc                 Ã   sœ   | j stddd�‚ztt| j ƒƒ}W n  tk
rD   tddd�‚Y nX |sVtddd�‚z tt| j||ƒI d H }d|iW S  tk
r–   tdd	d�‚Y nX d S )
Né�  u"   Identificador de sesiÃ³n requeridor   u"   Identificador de sesiÃ³n invÃ¡lidoi‘  zUsuario no identificadoÚ	respuestaéö  z No fue posible consultar Gemini.)	r   r   r   r	   Ú
ValueErrorr
   r   r   Ú	Exception)r   r   r   r   r   r   r   Úhermes_chat   s<    þþþü

þr!   )Úgenerar_voz_hermesz/voice)r   c                 Ã   s`   zt tt| jƒƒI d H }|W S  tk
r<   tddd�‚Y n  tk
rZ   tddd�‚Y nX d S )Nr   u   Texto invÃ¡lidor   r   z'No fue posible generar la voz de Hermes)r
   r"   r   r   r   r   r    )r   Z	resultador   r   r   Úhermes_voice=   s     þ
þ
þr#   N)Zhermes_speech_cleanerr   Útypingr   Zfastapir   r   r   Zpydanticr   r   Zuuidr	   Zstarlette.concurrencyr
   Zhermes_v4_adapterr   r   Zrouterr   Zpostr   r!   Zhermes_azurer"   r#   r   r   r   r   Ú<module>   s   $