+
    ~j                        ^ RI Ht ^ RIt^ RIHt ^ RIt^ RIHtHtH	t	H
t
 ^ RIHt ^RIHtHtHt ^RIHt ^RIHt ^t ! R	 R
]4      t ! R R]4      tR R lt]! 4       '       g   ]P2                  ! ]4       R# R# )    )annotationsN)perf_counter)LanguageCodeget_job_contextllmutils)_InferenceRunner)MAX_HISTORY_TURNSEOUModelBase_EUORunnerBase)logger)EOUModelTypec                  0    ] tR t^tRt]R R l4       tRtR# )_EUORunnerMultilingual lk_end_of_utterance_multilingualc                   V ^8  d   QhRR/# )   returnr    )formats   "/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/livekit/plugins/turn_detector/multilingual.py__annotate__#_EUORunnerMultilingual.__annotate__   s      <     c                	    R # )multilingualr   )clss   &r   
model_type!_EUORunnerMultilingual.model_type   s    r   r   N)__name__
__module____qualname____firstlineno__INFERENCE_METHODclassmethodr   __static_attributes__r   r   r   r   r      s    9 r   r   c                  n   a  ] tR t^tRR/R V 3R llltR R ltR V 3R lltR	^/R
 V 3R llltRtV ;t	# )MultilingualModelunlikely_thresholdNc                   V ^8  d   QhRR/# )r   r)   float | Noner   )r   s   "r   r   MultilingualModel.__annotate__   s     
 
l 
r   c               	@   < \         SV `  R V\        4       RJ R7       R# )r   N)r   r)   load_languages)super__init___remote_inference_url)selfr)   	__class__s   &$r   r0   MultilingualModel.__init__   s&    %102d: 	 	
r   c                   V ^8  d   QhRR/# )r   r   strr   )r   s   "r   r   r,   "   s     7 73 7r   c                	"    \         P                  # )N)r   r$   )r2   s   &r   _inference_method#MultilingualModel._inference_method"   s    %666r   c                    V ^8  d   QhRRRR/# )r   languagezLanguageCode | Noner   r+   r   )r   s   "r   r   r,   %   s      1D  r   c                	  <"   V'       g   R # \         SV `  V4      G R j  xL
 pVf    \        4       ;p'       d   \        P                  P                  4       P                  VRVP                  /\        P                  ! \        R7      R7      ;_uu_4       GR j  xL
 pVP                  4        VP                  4       G R j  xL
 pVP                  R4      pV'       d   RV/V P                  VP                  &   R R R 4      GR j  xL
  V#  V# V#  L Ly LS L  + GR j  xL 
 '       g   i     T# ; i  \          d$   p\"        P$                  ! RYR7        R p?T# R p?ii ; i5i)Nr;   totalurljsontimeout	thresholdz(Error fetching threshold for language %s)exc_info)r/   r)   r1   r   http_contexthttp_sessionpostisoaiohttpClientTimeoutREMOTE_INFERENCE_TIMEOUTraise_for_statusrA   get
_languagesr;   	Exceptionr   warning)r2   r;   rC   r@   respdataer3   s   &&     r   r)   $MultilingualModel.unlikely_threshold%   sJ    '4X>>	a/1131$11>>@EE& !( 5 5<T U  F       --/%)YY[0$(HH[$9	$BMyAYDOOH,=,=>     # 2" y) ?   1           aI8``as   E+DE+A3D: DD: !$DDD#D>D: 	D
D: E+D: DD: D7	#D&$
D7	/D7	1D: 5E+7D: :E(E#E+#E((E+rB   c               $    V ^8  d   QhRRRRRR/# )r   chat_ctxzllm.ChatContextrB   r+   r   floatr   )r   s   "r   r   r,   ?   s(     * *!* 	*
 
*r   c          
     	  <"   \        4       pV'       g   \        SV `	  WR 7      G Rj  xL
 # VP                  RRRR7      P	                  \
        R7      p\        4       pVP                  RRRR7      pVP                  P                  VR&   VP                  VR&   \        P                  ! R4      pV'       d   WvR	&   \        4       p\        P                  P!                  4       P#                  VV\$        P&                  ! \(        R
7      R7      ;_uu_4       GRj  xL
 p	V	P+                  4        V	P-                  4       G Rj  xL
 p
V
P/                  R4      p\1        V\2        4      '       dG   V^ 8  d@   \4        P6                  ! RRVR\        4       V,
          /R7       TuuRRR4      GRj  xL
  #  RRR4      GRj  xL
  ^#  EL L L L L  + GRj  xL 
 '       g   i     R# ; i5i))rB   NT)exclude_function_callexclude_instructionsexclude_empty_message)	max_items)exclude_imageexclude_audioexclude_timestampjobIdworkerIdLIVEKIT_AGENT_IDagentIdr=   r?   probabilityzeou predictioneou_probabilityduration)extra)r1   r/   predict_end_of_turncopytruncater
   r   to_dictjobid	worker_idosgetenvr   r   rE   rF   rG   rI   rJ   rK   rL   rA   rM   
isinstancerW   r   debug)r2   rV   rB   r@   messagesctxrequestagent_id
started_atrQ   rR   rd   r3   s   &&$         r   rh   %MultilingualModel.predict_end_of_turn?   s     $%4X4OOO=="&TY] ! 

(.(
/ 	 ""T]a"b77::!mm
99/0!)I!^
%%22499))0HI : 
 
 
 !!#$D((=1K+u--+2B$);"LNZ$? #!
 
 
& '
 
 
 P
 %
 
 
 
s   &G2G
C3G2GG2!$GGAG$G21G2G27G8G2GG2G2GG2G2G/	G
G/	'G/	)	G2r   )
r    r!   r"   r#   r0   r8   r)   rh   r&   __classcell__)r3   s   @r   r(   r(      s<    
T 
 
7 4* !"	* * *r   r(   c                   V ^8  d   QhRR/# )r   r   z
str | Noner   )r   s   "r   r   r   l   s     # #z #r   c                 L    \         P                  ! R 4      p V '       g   R# V  R2# )LIVEKIT_REMOTE_EOT_URLNz
/eot/multi)ro   rp   )url_bases    r   r1   r1   l   s$    yy12HZz""r   )
__future__r   ro   timer   rI   livekit.agentsr   r   r   r   livekit.agents.inference_runnerr	   baser
   r   r   logr   modelsr   rK   r   r(   r1   register_runnerr   r   r   <module>r      sk    " 	   D D < A A    ^ O Od# $$%;< r   