
    /j>                       S SK Jr  S SKJr  S SKJr   " S S\5      r " S S\5      r " S S	\5      r " S
 S\5      r	 " S S\5      r
 " S S\5      r " S S\5      r " S S\5      r " S S\5      r\	\-  \
-  \-  \-  \-  \-  rg)    )annotations)Literal)	BaseModelc                  2    \ rS rSr% SrS\S'   SrS\S'   Srg)Metadata   N
str | None
model_namemodel_provider )__name__
__module____qualname____firstlineno__r
   __annotations__r   __static_attributes__r       L/app/agent/.venv/lib/python3.13/site-packages/livekit/agents/metrics/base.pyr   r      s    !J
!!%NJ%r   r   c                      \ rS rSrSS jrSrg)_BaseMetrics   c                    U R                  SS9nSR                  S UR                  5        5       5      nU R                  R                   SU S3$ )NT)exclude_defaultsz, c              3  6   #    U  H  u  pU S U< 3v   M     g7f)=Nr   ).0kvs      r   	<genexpr>(_BaseMetrics.__repr__.<locals>.<genexpr>   s     G!AaU|s   ())
model_dumpjoinitems	__class__r   )selffields
fields_strs      r   __repr___BaseMetrics.__repr__   sJ    $7YYGGG
..))*!J<q99r   r   N)returnstr)r   r   r   r   r*   r   r   r   r   r   r      s    :r   r   c                      \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   SrS\S'   SrS\S'   Srg)
LLMMetrics   llm_metricszLiteral['llm_metrics']typer-   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metadatar   	r   r   r   r   r2   r   rA   rC   r   r   r   r   r/   r/      s^    #0D
 0JOO
KO Iz  $Ho$r   r/   c                      \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S\S
'    S\S'    SrS\S'    SrS\S'    S\S'    SrS\S'    Sr	S\S'    Sr
S\S'   Srg)
STTMetrics%   stt_metricszLiteral['stt_metrics']r2   r-   r3   r4   r5   r6   r7   audio_durationr   r;   input_tokensoutput_tokensr9   streamed        acquire_timeFconnection_reusedNrB   rC   r   )r   r   r   r   r2   r   rJ   rK   rN   rO   rC   r   r   r   r   rF   rF   %   su    #0D
 0JOOG6L#7M37N=L%E#t#I $Ho$r   rF   c                      \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   S\S'   S\S'    SrS\S'    SrS\S'    S\S'   SrS\S'    Sr	S\S'    Sr
S\S'   SrS\S'   SrS\S'   Srg) 
TTSMetrics;   tts_metricszLiteral['tts_metrics']r2   r-   r3   r4   r5   r6   ttfbr7   rI   r9   r:   r;   characters_countr   rJ   rK   rL   rM   rN   FrO   Nr	   
segment_idrA   rB   rC   r   )r   r   r   r   r2   r   rJ   rK   rN   rO   rV   rA   rC   r   r   r   r   rQ   rQ   ;   s    #0D
 0JO
KOOIL#HM3JNL%E#t#I!J
! Iz  $Ho$r   rQ   c                  d    \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   SrS\S'   Srg)
VADMetricsT   vad_metricszLiteral['vad_metrics']r2   r-   r3   r5   r6   	idle_timeinference_duration_totalr;   inference_countNrB   rC   r   r   r   r   r   r2   r   rC   r   r   r   r   rX   rX   T   s4    #0D
 0J## $Ho$r   rX   c                  n    \ rS rSr% SrS\S'   S\S'   S\S'    S\S'    S\S	'    S
rS\S'   S
rS\S'   Srg
)
EOUMetrics^   eou_metricszLiteral['eou_metrics']r2   r5   r6   end_of_utterance_delaytranscription_delayon_user_turn_completed_delayNr	   rA   rB   rC   r   rD   r   r   r   r`   r`   ^   sJ    #0D
 0!!  #('R Iz  $Ho$r   r`   c                  P   \ rS rSr%  " S S\5      r " S S\5      r " S S\5      rSrS	\	S
'   Sr
S\	S'   S\	S'   S\	S'    SrS\	S'    SrS\	S'    SrS\	S'    SrS\	S'    SrS\	S'    SrS\	S'    SrS\	S'    SrS\	S'    S\	S'    S\	S '    SrS\	S!'    SrS\	S"'    S#rS$\	S%'   S&rg#)'RealtimeModelMetricss   c                  @    \ rS rSr% SrS\S'   SrS\S'   SrS\S'   Srg)	'RealtimeModelMetrics.CachedTokenDetailst   r   r;   audio_tokenstext_tokensimage_tokensr   N)	r   r   r   r   rl   r   rm   rn   r   r   r   r   CachedTokenDetailsrj   t   s     cScr   ro   c                  \    \ rS rSr% SrS\S'   SrS\S'   SrS\S'   SrS\S'   Sr	S	\S
'   Sr
g)&RealtimeModelMetrics.InputTokenDetailsy   r   r;   rl   rm   rn   cached_tokensNz.RealtimeModelMetrics.CachedTokenDetails | Nonecached_tokens_detailsr   )r   r   r   r   rl   r   rm   rn   rs   rt   r   r   r   r   InputTokenDetailsrq   y   s6    cScsPTMTr   ru   c                  @    \ rS rSr% SrS\S'   SrS\S'   SrS\S'   Srg)	'RealtimeModelMetrics.OutputTokenDetails   r   r;   rm   rl   rn   r   N)	r   r   r   r   rm   r   rl   rn   r   r   r   r   OutputTokenDetailsrw      s     Sccr   ry   realtime_model_metricsz!Literal['realtime_model_metrics']r2    r-   r3   r4   r5   r6   rM   r7   session_durationr8   Fr9   r:   r   r;   rJ   rK   r?   r@   input_token_detailsoutput_token_detailsrN   rO   NrB   rC   r   )r   r   r   r   r   ro   ru   ry   r2   r   r3   r7   r|   r8   r:   rJ   rK   r?   r@   rN   rO   rC   r   r   r   r   rg   rg   s   s    Y 
UI UY  /GD
+FE3OO1HeG!e!aD%NIt,L#[M3\L#5"u"***>,,?L%E#t#I $Ho$r   rg   c                      \ rS rSr% SrS\S'   S\S'   S\S'    S\S'    S\S	'    S
\S'    S
\S'    S
\S'    SrS\S'   Srg)InterruptionMetrics   interruption_metricszLiteral['interruption_metrics']r2   r5   r6   total_durationprediction_durationdetection_delayr;   num_interruptionsnum_backchannelsnum_requestsNrB   rC   r   r^   r   r   r   r   r      sS    ,BD
)BWU]BA] $Ho$r   r   N)
__future__r   typingr   pydanticr   r   r   r/   rF   rQ   rX   r`   rg   r   AgentMetricsr   r   r   <module>r      s    "  &y &
:9 :% %"% %,% %2% %% %*0%< 0%f%, %&   	
   r   