+
    jHàji  ã                  óh   € R t ^ RIHt ^ RIHtHt ^ RIHtHtH	t	H
t
 ^ RIHt ] ! R R4      4       tR# )aM  Per-turn context shared between ``GatewayRunner._run_agent_inner`` and ``TurnRunner``.

Each ex-closure local is a field, written once by ``_run_agent_inner`` while wiring the turn.
``message`` (ex-``nonlocal``) is the only rebindable field; other mutable state uses
single-element lists so mutation stays visible to the outer body.
)Úannotations)Ú	dataclassÚfield)ÚAnyÚCallableÚListÚOptional)ÚAwakeIdleMeterc                  óò  € ] tR t^t$ RtR]R&   RtR]R&   RtR]R&   RtR	]R
&   Rt	R]R&   Rt
R]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   RtR]R&   ]! R R7      tR]R&   ]! R R7      tR]R&   ]! R R7      tR]R&   ]! R R7      tR]R&   ]! R  R7      tR]R!&   ]! R" R7      tR]R#&   ]! ]R7      tR$]R%&   R&tR']R(&   RtR]R)&   ]! ]R7      tR*]R+&   RtR,]R-&   RtR.]R/&   Rt R0]R1&   Rt!R]R2&   Rt"R0]R3&   Rt#R0]R4&   Rt$R0]R5&   Rt%R0]R6&   Rt&R7]R8&   R9t'R]R:&   ]! ](R7      t)R;]R<&   ^ t*R=]R>&   Rt+R0]R?&   Rt,R0]R@&   Rt-R,]RA&   Rt.R0]RB&   Rt/R.]RC&   Rt0RD]RE&   Rt1R0]RF&   Rt2R,]RG&   Rt3R]RH&   Rt4R]RI&   Rt5R]RJ&   Rt6R]RK&   Rt7R]RL&   Rt8R]RM&   Rt9R]RN&   Rt:R]RO&   Rt;R]RP&   Rt<R]RQ&   ]! RR R7      t=R]RS&   ]! RT R7      t>R]RU&   ]! RV R7      t?R]RW&   ]! RX R7      t@R]RY&   ]! RZ R7      tAR]R[&   ]! R\ R7      tBR]R]&   RtCR]R^&   RtDR]R_&   RtER]R`&   RtFR]Ra&   RtGR]Rb&   RtHR,]Rc&   RtIRd]Re&   RtJRd]Rf&   RtKRd]Rg&   RtLRd]Rh&   RtMRd]Ri&   RtNR]Rj&   RtORd]Rk&   RtPRd]Rl&   RmtQR# )nÚTurnContextNr   ÚsourcezOptional[bool]Úreply_expectedFÚboolÚscheduled_heartbeatzCallable[[], bool]Ú_run_still_currentÚ_live_status_adapterÚoffÚstrÚ_live_status_modeÚ_thinking_enabledÚprogress_modeÚgroupedÚprogress_groupingÚtool_progress_enabledÚprogress_queueÚ	log_queuec                 	ó   € R .# ©N© r   ó    Ú9/home/ubuntu/.hermes/hermes-agent/gateway/turn_context.pyÚ<lambda>ÚTurnContext.<lambda>"   s   € ¸T¹Fr   )Údefault_factoryÚlistÚlast_progress_msgc                 	ó   € R .# r   r   r   r   r    r!   r"   #   s   € °T±Fr   Ú	last_toolc                 	ó   € R .# ©Fr   r   r   r    r!   r"   $   s   € À5Á'r   Úlast_was_terminal_blockc                 	ó   € ^ .# )é    r   r   r   r    r!   r"   %   s   € ¸±sr   Úrepeat_countc                 	ó   € R .# r)   r   r   r   r    r!   r"   &   s   € À¹wr   Úlong_tool_hint_firedc                 	ó   € R .# r   r   r   r   r    r!   r"   '   ó   € ¸±vr   Úagent_holderr	   Ú
awake_idleg      >@ÚfloatÚ_LONG_TOOL_THRESHOLD_SÚ_cleanup_progressz	list[str]Ú_cleanup_msg_idszOptional[dict]Ú_progress_metadatazOptional[Any]Ú_progress_reply_tozOptional[str]ÚmessageÚhistoryÚcontext_promptÚchannel_promptÚ
session_idÚsession_keyzOptional[int]Úrun_generationÚ Úprocess_task_idzfrozenset[str]Úprocess_baselineÚintÚ_interrupt_depthÚevent_message_idÚinbound_message_idÚ
moa_configÚtitle_user_messageÚpersist_user_messagezOptional[float]Úpersist_user_timestampÚpersist_user_display_kindÚpersist_user_display_metadataÚuser_configÚmute_notification_replyÚ
voice_turnÚenabled_toolsetsÚdisabled_toolsetsÚlog_mode_enabledÚ"interim_assistant_messages_enabledÚneeds_progress_queueÚAIAgentÚresolve_display_settingc                 	ó   € R .# r   r   r   r   r    r!   r"   O   s   € ¸¹r   Úresult_holderc                 	ó   € R .# r   r   r   r   r    r!   r"   P   r1   r   Útools_holderc                 	ó   € R .# r   r   r   r   r    r!   r"   Q   s   € À$Ár   Ústream_consumer_holderc                 	ó   € R .# r   r   r   r   r    r!   r"   R   s   € ÈÉr   Ústreaming_tts_consumer_holderc                 	ó   € R .# r)   r   r   r   r    r!   r"   T   s   € ¸E¹7r   Ú_voice_ack_firedc                 	ó   € R .# r   r   r   r   r    r!   r"   U   s   € ¸D¹6r   Ú_voice_ack_guildÚ_voice_ack_loopÚ_loop_for_stepÚ
_hooks_refÚ_status_adapterÚ_status_chat_idÚ_status_thread_metadatazOptional[Callable]Úprogress_callbackÚvoice_ack_callbackÚ_step_callback_syncÚ_event_callback_syncÚ_status_callback_syncÚ_native_slack_task_cardsÚnative_tool_start_callbackÚnative_tool_complete_callbackr   )RÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__annotations__r   r   r   r   r   r   r   r   r   r   r   r   r%   r'   r*   r-   r/   r2   r	   r3   r5   r6   r$   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rB   Ú	frozensetrC   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rY   r[   r]   r_   ra   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   Ú__static_attributes__r   r   r    r   r      sY  ‡ ð €FˆCÓØ%)€N�NÓ)ð !&Ð˜Ó%Ø-1ÐÐ*Ó1Ø $Ð˜#Ó$Ø"Ð�sÓ"Ø#Ð�tÓ#Ø€M�3ÓØ&Ð�sÓ&Ø"'Ð˜4Ó'Ø€N�CÓØ€IˆsÓá#±NÔCÐ�tÓCÙ©NÔ;€IˆtÓ;Ù$)¹/Ô$JÐ˜TÓJÙ©{Ô;€L�$Ó;Ù!&±Ô!GÐ˜$ÓGÙ©~Ô>€L�$Ó>á!&°~Ô!F€J�ÓFØ$(Ð˜EÓ(Ø#Ð�tÓ#Ù"'¸Ô"=Ð�iÓ=Ø)-Ð˜Ó-Ø(,Ð˜Ó,Ø!€Gˆ]Ó!à€GˆSÓØ$(€N�MÓ(Ø$(€N�MÓ(Ø $€J�Ó$Ø!%€K�Ó%Ø$(€N�MÓ(Ø€O�SÓÙ',¸YÔ'GÐ�nÓGØÐ�cÓØ&*Ð�mÓ*à(,Ð˜Ó,Ø!%€J�Ó%Ø(,Ð˜Ó,Ø*.Ð˜-Ó.Ø.2Ð˜OÓ2ð 04Ð˜}Ó3Ø48Ð! >Ó8Ø€K�ÓØ$)Ð˜TÓ)Ø€J�ÓØ Ð�cÓ Ø!Ð�sÓ!Ø"Ð�dÓ"Ø/4Ð&¨Ó4Ø!&Ð˜$Ó&Ø€GˆSÓØ#'Ð˜SÓ'Ù±Ô?€M�4Ó?Ù©~Ô>€L�$Ó>Ù#(¹Ô#HÐ˜DÓHÙ*/ÁÔ*OÐ! 4ÓOá"±?ÔCÐ�dÓCÙ"±>ÔBÐ�dÓBØ€O�SÓà€N�CÓØ€J�ÓØ€O�SÓØ€O�SÓØ.2Ð˜^Ó2à,0ÐÐ)Ó0Ø-1ÐÐ*Ó1Ø.2ÐÐ+Ó2Ø/3ÐÐ,Ó3Ø04ÐÐ-Ó4ð &+Ð˜dÓ*Ø59ÐÐ 2Ó9Ø8<Ð!Ð#5×<r   r   N)Ú__doc__Ú
__future__r   Údataclassesr   r   Útypingr   r   r   r   Úagent.session_activityr	   r   r   r   r    Ú<module>r~      s7   ðñõ #ç (ß 0Ó 0å 1ð ÷Y=ð Y=ó òY=r   