
    =h                     V    d dl mZ d dlmZ d dlZd dlmZmZ  G d d      Z e       Z	y)    )Retell)HTTPExceptionN)DictAnyc                   N    e Zd Zd Zdeeef   fdZdefdZdedeeef   fdZ	y)RetellAIManagerc                     t        j                  d      | _        | j                  st        d      t	        | j                        | _        y )NRETELLAI_API_KEYz3RETELLAI_API_KEY not found in environment variables)api_key)osgetenvr   
ValueErrorr   client)selfs    E/var/www/html/phonemate/phone_mate_backend/app/utils/retell_client.py__init__zRetellAIManager.__init__   s6    yy!34||RSST\\2    
bot_configc                    K   	 | j                   j                  |d   |d   |d          d {   }|S 7 # t        $ r}t        ddt	        |             d }~ww xY ww)Nllmvoiceconversation_flow)
llm_configvoice_configr     z Failed to create Retell AI bot: status_codedetail)r   create_transient_bot	Exceptionr   str)r   r   responsees       r   r   z$RetellAIManager.create_transient_bot   s}     	![[==%e,'0",-@"A >  H
 O  	9#a&B 	s1   A!*7 57 A!7 	A AAA!bot_idc                    K   	 | j                   j                  |       d {   S 7 # t        $ r}t        ddt	        |             d }~ww xY ww)Nr   zFailed to get bot status: r   )r   get_bot_statusr    r   r!   )r   r$   r#   s      r   r&   zRetellAIManager.get_bot_status   sS     	33F;;;; 	3CF8< 	s0   A) ') A) 	AAAAc                    K   	 | j                   j                  ||d   |d   |d          d {   S 7 # t        $ r}t        ddt	        |             d }~ww xY ww)Nr   r   r   )r$   r   r   r   r   z$Failed to update bot configuration: r   )r   update_bot_configr    r   r!   )r   r$   r   r#   s       r   r(   z!RetellAIManager.update_bot_config%   s|     	66%e,'0",-@"A	 7      	=c!fXF 	s0   A +6 46 A 6 	AAAA N)
__name__
__module____qualname__r   r   r!   r   r   r&   r(    r   r   r   r      sB    3T#s(^ 3 c tCH~ r   r   )
retellr   fastapir   r   typingr   r   r   retell_managerr,   r   r   <module>r1      s&     ! 	 + +\ !"r   