o
    0h                     @   sN   d dl mZmZ d dlmZ d dlmZmZmZ d dlZeG dd dZ	dS )    )	dataclassasdict)datetime)ListDictAnyNc                   @   s   e Zd ZU eed< eed< eed< eeef ed< eed< eed< ee ed< eeef ed< eeef ed	< eed
< eed< eed< eed< edededeeef dededee deeef d	eeef d
edededd fddZ	deeef fddZ
edeeef dd fddZdS )RoleplayScenarioidcategory	objectivedetailsai_rolelearner_roleskills_to_assessscenario_setupai_characterscenario_introconversation_startersuccess_criteria
created_atreturnc                 C   s:   | t t ||||||d d |||	|
|t  dS )N   )r	   r
   r   r   r   r   r   r   r   r   r   r   r   )struuiduuid4r   now	isoformat)clsr
   r   r   r   r   r   r   r   r   r   r    r   S/var/www/eduai.edurigo.com/doc_train/edurigo_ai/roleplay/testing/models/scenario.py
create_new   s   


zRoleplayScenario.create_newc                 C   s   t | S )N)r   )selfr   r   r   to_dict+   s   zRoleplayScenario.to_dictdatac                 C   s.   d|vrd| dd d|d< | di |S )Nr   z+You are about to engage in a roleplay as a r   participantzH. The scenario will begin when the other person starts the conversation.r   )get)r   r#   r   r   r   	from_dict.   s   zRoleplayScenario.from_dictN)__name__
__module____qualname__r   __annotations__r   r   r   classmethodr    r"   r&   r   r   r   r   r      sJ   
 

 r   )
dataclassesr   r   r   typingr   r   r   r   r   r   r   r   r   <module>   s    