o
    i	                     @  sn   d dl mZ d dlZd dlmZmZ d dlmZ ddlm	Z	 ddl
mZmZ dd	lmZ eG d
d dZdS )    )annotationsN)	dataclassfield)Path   )ChatContext   )AgentSessionOptionsRecordingOptions)
AgentEventc                   @  s   e Zd ZU ded< ded< ded< ded< ded< d	ed
< ded< dZded< dZded< 	 dZded< dZded< 	 ee	j	dZ
ded< 	 dddZdS )SessionReportr
   recording_optionsstrjob_idroom_idroomr	   optionszlist[AgentEvent]eventsr   chat_historyNzPath | Noneaudio_recording_pathzfloat | Noneaudio_recording_started_atduration
started_at)default_factoryfloat	timestampreturndictc                 C  s   g }| j D ]}|jdkrq||  q| j| j| j|| jr&t| j	 nd | j
| jj| jj| jj| jj| jj| jj| jj| jj| jj| jjd
| jjdd| jd	S )Nmetrics_collected)
allow_interruptions discard_audio_if_uninterruptiblemin_interruption_durationmin_interruption_wordsmin_endpointing_delaymax_endpointing_delaymax_tool_stepsuser_away_timeoutmin_consecutive_speech_delaypreemptive_generationF)exclude_timestamp)	r   r   r   r   r   r   r   r   r   )r   typeappend
model_dumpr   r   r   r   r   absoluter   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r   to_dictr   )selfevents_dictevent r2   ]/var/www/html/livekit_bhavya/venv/lib/python3.10/site-packages/livekit/agents/voice/report.pyr.      s2   

zSessionReport.to_dict)r   r   )__name__
__module____qualname____annotations__r   r   r   r   r   timer   r.   r2   r2   r2   r3   r      s"   
 r   )
__future__r   r8   dataclassesr   r   pathlibr   llmr   agent_sessionr	   r
   r   r   r   r2   r2   r2   r3   <module>   s    