o
    ©¼–ij  ã                   @  s°   d dl mZ d dlmZ d dlmZ G dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZ	G dd„ deƒZ
G dd„ deƒZG dd„ deƒZeeB e	B e
B eB eB ZdS )é    )Úannotations)ÚLiteral)Ú	BaseModelc                   @  s&   e Zd ZU dZded< dZded< dS )ÚMetadataNú
str | NoneÚ
model_nameÚmodel_provider)Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   © r   r   ú]/var/www/html/livekit_bhavya/venv/lib/python3.10/site-packages/livekit/agents/metrics/base.pyr      s   
 r   c                   @  sŠ   e Zd ZU dZded< ded< ded< ded< ded	< 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S )Ú
LLMMetricsÚllm_metricszLiteral['llm_metrics']ÚtypeÚstrÚlabelÚ
request_idÚfloatÚ	timestampÚdurationÚttftÚboolÚ	cancelledÚintÚcompletion_tokensÚprompt_tokensÚprompt_cached_tokensÚtotal_tokensÚtokens_per_secondNr   Ú	speech_idúMetadata | NoneÚmetadata©r	   r
   r   r   r   r!   r#   r   r   r   r   r      s   
 r   c                   @  s\   e Zd ZU dZ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S )Ú
STTMetricsÚstt_metricszLiteral['stt_metrics']r   r   r   r   r   r   r   Úaudio_durationr   ÚstreamedNr"   r#   ©r	   r
   r   r   r   r#   r   r   r   r   r%      s   
 r%   c                   @  s†   e Zd ZU dZded< ded< ded< 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S )Ú
TTSMetricsÚtts_metricszLiteral['tts_metrics']r   r   r   r   r   r   Úttfbr   r'   r   r   r   Úcharacters_countr(   Nr   Ú
segment_idr!   r"   r#   )r	   r
   r   r   r   r.   r!   r#   r   r   r   r   r*   ,   s   
 r*   c                   @  sN   e Zd ZU dZded< ded< ded< ded< ded	< d
ed< dZded< dS )Ú
VADMetricsÚvad_metricszLiteral['vad_metrics']r   r   r   r   r   Ú	idle_timeÚinference_duration_totalr   Úinference_countNr"   r#   r)   r   r   r   r   r/   <   s   
 r/   c                   @  sX   e Zd ZU dZ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	S )Ú
EOUMetricsÚeou_metricszLiteral['eou_metrics']r   r   r   Úend_of_utterance_delayÚtranscription_delayÚon_user_turn_completed_delayNr   r!   r"   r#   r$   r   r   r   r   r4   F   s   
 r4   c                   @  sÊ   e Zd ZU G dd„ deƒZG dd„ deƒZG dd„ deƒZdZded	< d
ed< d
ed< ded< 	 ded< 	 ded< 	 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S )ÚRealtimeModelMetricsc                   @  ó&   e Zd ZU ded< ded< ded< dS )z'RealtimeModelMetrics.CachedTokenDetailsr   Úaudio_tokensÚtext_tokensÚimage_tokensN©r	   r
   r   r   r   r   r   r   ÚCachedTokenDetails\   ó   
 r?   c                   @  s6   e Zd ZU ded< ded< ded< ded< ded< dS )	z&RealtimeModelMetrics.InputTokenDetailsr   r;   r<   r=   Úcached_tokensz.RealtimeModelMetrics.CachedTokenDetails | NoneÚcached_tokens_detailsNr>   r   r   r   r   ÚInputTokenDetailsa   s   
 rC   c                   @  r:   )z'RealtimeModelMetrics.OutputTokenDetailsr   r<   r;   r=   Nr>   r   r   r   r   ÚOutputTokenDetailsh   r@   rD   Úrealtime_model_metricsz!Literal['realtime_model_metrics']r   r   r   r   r   r   r   r   r   r   r   Úinput_tokensÚoutput_tokensr   r    Úinput_token_detailsÚoutput_token_detailsNr"   r#   )
r	   r
   r   r   r?   rC   rD   r   r   r#   r   r   r   r   r9   [   s8   
 r9   N)Ú
__future__r   Útypingr   Úpydanticr   r   r   r%   r*   r/   r4   r9   ÚAgentMetricsr   r   r   r   Ú<module>   s    
,