
    z޶h              	           d dl mZ d dlmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ  e       Zdded	ed
ee   de
fdZdeded	edee
   fdZdedee
   fdZy)    )Session)ListOptional)datetime)AIAssistantCreateAIAssistantUpdate)AIAssistant)RetellAIManagerNdbdataretell_agent_idreturnc                   K   |j                   |j                  |j                  |j                  ddddddddddd|j                  dd}t
        j                  |       d {   }t        ||j                   |j                  |j                  |j                  |j                  |j                  |j                  	      }| j                  |       | j                          | j                  |       |S 7 w)
Ng      ?Ti0u  openaizgpt-4gffffff?)providermodeltemperaturesystem_prompt)
agent_namevoice_idvoice_modelllm_websocket_urlvoice_temperaturevoice_speedresponsivenessinterruption_sensitivityenable_backchannelnormalize_for_speechenable_voicemail_detectionvoicemail_detection_timeout_msllm)r   namegenderaccentpersonalityr   r   r   )r"   r   r   r   r   retell_managercreate_agentr	   r#   r$   r%   addcommitrefresh)r   r   r   agent_configretell_response	assistants         O/var/www/html/phonemate/phone_mate_backend/repositories/assistant_repository.pycreate_ai_assistantr/   
   s      ))++!%!7!7!$!(+"&$(*..3$ "!%!3!3	L, +77EEO'YY{{{{$$$$((	I FF9IIKJJy! Fs   A C6"C4#BC6assistant_idc                 p   | j                  t              j                  t        j                  |k(        j	                         }|sy |j                  d      j                         D ]  \  }}t        |||        t        j                         |_
        | j                          | j                  |       |S )NT)exclude_unset)queryr	   filteridfirstdictitemssetattrr   utcnow
updated_atr)   r*   )r   r0   r   r-   fieldvalues         r.   update_ai_assistantr>   8   s    %,,[^^|-KLRRTI			5;;=u	5%( > $??,IIIKJJy    c                 H    | j                  t              j                         S N)r3   r	   all)r   s    r.   list_ai_assistantsrC   E   s    88K $$&&r?   rA   )sqlalchemy.ormr   typingr   r   r   schemas.ai_assistantsr   r   modelsr	   app.utils.retell_clientr
   r&   strr/   intr>   rC    r?   r.   <module>rL      s    " !  J  3 ",' ,1B ,U]^aUb ,ny ,\G 3 >O T\]hTi '7 'tK'8 'r?   