+
    iHàj)  ã                   ó   € R t  ! R R4      tR# )zçExplicit lifecycle methods for the assignment-bound worker store.

The owner reserves identity before construction. Closing the local store remains
separate from ending its session and settling execution (including deferred work).
c                   óØ   a € ] tR t^t o RRRRRRRRRRRRRRR	RR
RRRRRRRRRRR/R ltR tR t]R 4       tR t	R t
R tR#RRRR/R lltR tRR/R ltR tR tR tR  tR! tR"tV tR# )$ÚRuntimeSessionLifecycleMixinÚmodelNÚmodel_configÚsystem_promptÚuser_idÚsession_keyÚchat_idÚ	chat_typeÚ	thread_idÚparent_session_idÚcwdÚprofile_nameÚgit_repo_rootÚorigin_jsonÚdisplay_namec               ó~   € V P                  V4       \        W#WEWgW‰W«VWÞVVR 7      pV P                  RV4      R,          # ))Úsourcer   r   r   r   r   r	   r
   r   r   r   r   r   r   r   zsession.createÚvalue)Ú_sessionÚdictÚ_apply)ÚselfÚ
session_idr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Úpayloads   &&&$$$$$$$$$$$$$$ ÚD/home/ubuntu/.hermes/hermes-agent/agent/runtime_session_lifecycle.pyÚcreate_sessionÚ+RuntimeSessionLifecycleMixin.create_session	   sK   € ð 	�‰�jÔ!Ü˜fÀØ&ÈØ!*ÐUXØ$0Ø#.¸\ô	Kˆð
 �{‰{Ð+¨WÓ5°gÕ>Ð>ó    c           	     ón   € V P                  V4       V P                  V P                  R RVRR/4      4      # )úsession.titleÚtitler   Úuser)r   Ú_title_resultr   )r   r   r!   s   &&&r   Úset_session_titleÚ.RuntimeSessionLifecycleMixin.set_session_title   s5   € Ø�‰�jÔ!Ø×!Ñ! $§+¡+¨oÀÈÐPXÐZ`Ð?aÓ"bÓcÐcr   c          	     óš   € VR9  d   \        RV: 24      hV P                  V4       V P                  V P                  RRVRV/4      4      # )Úderivedz invalid automatic title source: r    r!   r   )r'   Úllm)Ú
ValueErrorr   r#   r   )r   r   r!   r   s   &&&$r   Úset_auto_titleÚ+RuntimeSessionLifecycleMixin.set_auto_title   sQ   € ØÐ+Ô+ÜÐ?À¹zÐJÓKÐKØ�‰�jÔ!Ø×!Ñ! $§+¡+¨oÀÈÐPXÐZ`Ð?aÓ"bÓcÐcr   c                óf   € V P                  R 4      '       d   \        V R ,          4      hV R,          # )Úerrorr   )Úgetr)   )Úresults   &r   r#   Ú*RuntimeSessionLifecycleMixin._title_result   s*   € à�:‰:�g×ÒÜ˜V G�_Ó-Ð-Ø�g�Ðr   c                óp   € V P                  V4      pVP                  R 4      e   VP                  R4      # R# )r!   NÚtitle_source)Úget_sessionr.   )r   r   Úrows   && r   Úget_session_title_sourceÚ5RuntimeSessionLifecycleMixin.get_session_title_source%   s4   € Ø×Ñ˜zÓ*ˆØ*-¯'©'°'Ó*:Ò*Fˆs�w‰w�~Ó&ÐPÈDÐPr   c                ó†   € VR9  d   \        RV: 24      hV P                  V4       V P                  RRV/4      R,          # )r"   zinvalid title source: zsession.title_sourcer   r   )r"   r'   r(   )r)   r   r   )r   r   r   s   &&&r   Úset_session_title_sourceÚ5RuntimeSessionLifecycleMixin.set_session_title_source)   sF   € ØÐ3Ô3ÜÐ5°f±ZÐ@ÓAÐAØ�‰�jÔ!Ø�{‰{Ð1°H¸fÐ3EÓFÀwÕOÐOr   c                ó8   € V P                  R RV/4      R,          # )zsession.next_titleÚ
base_titler   )r   )r   r;   s   &&r   Úget_next_title_in_lineageÚ6RuntimeSessionLifecycleMixin.get_next_title_in_lineage/   s   € Ø�{‰{Ð/°,À
Ð1KÓLÈWÕUÐUr   ÚdescriptionÚ
provenancec          	     óX   € V P                  V4       V P                  R RVRVRV/4       R# )zsession.activityÚtsr>   r?   N©r   r   )r   r   rA   r>   r?   s   &&&$$r   Útouch_session_activityÚ3RuntimeSessionLifecycleMixin.touch_session_activity2   s+   € Ø�‰�jÔ!Ø�‰Ð&¨¨r°=À+È|Ð]gÐ(hÖir   c                óL   € V P                  V4       V P                  R / 4       R# )zsession.activity_clearNrB   )r   r   s   &&r   Úclear_session_activity_labelsÚ:RuntimeSessionLifecycleMixin.clear_session_activity_labels6   s   € Ø�‰�jÔ!Ø�‰Ð,¨bÖ1r   Úbilling_modec          	     óX   € V P                  V4       V P                  R RVRVRV/4       R# )zsession.billing_routeÚproviderÚbase_urlrH   NrB   )r   r   rJ   rK   rH   s   &&$$$r   Úupdate_session_billing_routeÚ9RuntimeSessionLifecycleMixin.update_session_billing_route:   s4   € Ø�‰�jÔ!ð 	�‰Ð+¨j¸(ÀJÐPXØ.<¸lð.Lö 	Mr   c                ó^   € V P                  V4       V P                  R RVRV/4      R,          # )zsession.api_contentÚcontentÚapi_contentr   rB   )r   r   rO   rP   s   &&&&r   Úset_latest_user_api_contentÚ8RuntimeSessionLifecycleMixin.set_latest_user_api_contentA   s0   € Ø�‰�jÔ!Ø�{‰{Ð0°9¸gÀ}ÐVaÐ2bÓcÐdkÕlÐlr   c           	     ób   € V P                  V4       V P                  R RVRVRV/4      R,          # )zsession.message_api_contentÚrow_idrO   rP   r   rB   )r   r   rT   rO   rP   s   &&&&&r   Úset_message_api_contentÚ4RuntimeSessionLifecycleMixin.set_message_api_contentG   s>   € Ø�‰�jÔ!Ø�{‰{Ð8Ø$ f¨i¸À-ÐQ\Ð]ó_Ø_fõhð 	hr   c                ó^   € V P                  V4       V P                  R RVRV/4      R,          # )zsession.user_contentrT   rO   r   rB   )r   r   rT   rO   s   &&&&r   Úset_user_message_contentÚ5RuntimeSessionLifecycleMixin.set_user_message_contentL   s0   € Ø�‰�jÔ!Ø�{‰{Ð1°H¸fÀiÐQXÐ3YÓZÐ[bÕcÐcr   c                óP   € V P                  V4       V P                  R RV/4       R# )zsession.endÚ
end_reasonNrB   )r   r   r[   s   &&&r   Úend_sessionÚ(RuntimeSessionLifecycleMixin.end_sessionP   s!   € Ø�‰�jÔ!Ø�‰�M L°*Ð#=Ö>r   c                óô   € T;'       g    .  Uu. uF  q"'       g   K  VNK  	  ppV F  pV P                  V4       K  	  V'       g   / # V P                  R ,          V P                  R/ 4      R,          /# u upi )r   zsession.lifecycler   )r   Úscoper   )r   Úsession_idsÚsidÚidss   &&  r   Úsession_lifecycle_statusesÚ7RuntimeSessionLifecycleMixin.session_lifecycle_statusesT   so   € Ø*×0Ð0¨bÐ0Ó9Ñ0�s³S�sˆsÑ0ˆÐ9ÛˆCØ�M‰M˜#Öñ çØˆIØ—
‘
˜<Õ(¨$¯+©+Ð6IÈ2Ó*NÈwÕ*WÐXÐXùò :s
   �	A5�A5© )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r$   r*   Ústaticmethodr#   r5   r8   r<   rC   rF   rL   rQ   rU   rX   r\   rc   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s  ø‡ € ð
?¸$ð 
?ÈTð 
?Ø%)ð
?Ø37ð
?ØEIð
?ØSWð
?à!%ð
?à15ð
?àIMð
?àSWð
?ð %)ð
?ð 9=ð
?ð KOð
?ð ^bô
?òdòdð ñó ðò
QòPòVñjÈð jÐZ^õ jò2ðMÐ[_ô Mòmòhò
dò?÷Yð Yr   r   N)Ú__doc__r   re   r   r   Ú<module>ro      s   ðñ÷RYó RYr   