+
    „WÝj•5  ã            
       ó’   € R t ^ RIt^ RIHt R]R]R]R]R]/tR tR	 tR
 t	R]R]R]R]
/tR tRR/R ltR tR tRtR tR tR tR# )zGClosed action handlers inside the runtime mutation receipt transaction.N)ÚRuntimeStoreErrorÚtitleÚarchivedÚhiddenÚpinnedÚunreadc                 óª  € \        V\        4      '       d   \        V \        4      '       g   \        R 4      hV R8X  d˜   RV9   d‘   \	        V4      0 Rm,
          '       gw   \
        ;QJ d*    R VP                  4        4       F  '       d   K   RM	  RM! R VP                  4        4       4      '       d!   ^ RIHp RV9  g   V! VR,          4      e   R# V R8X  d   \        V4      '       d   R# V R8X  d   \	        V4      R	08X  d   VR	,          f   R# V R8X  dH   \	        V4      R	08X  d7   \        VR	,          \        4      '       d   ^ RIHp V! VR	,          4      e   R# V R
8X  dN   \	        V4      R08X  d=   \        VR,          \        4      '       d    VR,          P                  4       '       d   R# V R8X  d%   \	        V4      R08X  d   \        V4      '       d   R# V R8X  d?   \	        V4      R08X  d.   \        VR,          \        4      '       d   VR,          R9   d   R# V R8X  d   \        V4      '       d   R# V R9   d   V'       g   R# V R8X  d1   \	        V4      R08X  d    \        VR,          \        4      '       d   R# V R8X  do   RV9   dh   \	        V4      RR0,
          '       gN   \        VR,          4      \        J d4   VR,          ^ 8”  d&   \        VP!                  RR4      4      \"        J d   R# RR0RR0/pV R8X  d>   \#        V4      ;'       d*    \	        V4      \$        P'                  4       ,
          '       * pM W9   ;'       d    \	        V4      W0,          8H  pV'       dW   \(        ;QJ d*    R VP+                  4        4       F  '       g   K   RM	  RM! R VP+                  4        4       4      '       d   \        R 4      hR# )Úinvalid_paramsÚmodelÚ	reasoningc              3   ór   "  € T F-  p\        V\        4      ;'       d    VP                  4       x € K/  	  R # 5i©N)Ú
isinstanceÚstrÚstrip)Ú.0Úvs   & ÚJC:\Users\johnn\AppData\Local\hermes\hermes-agent\hermes_state_mutations.pyÚ	<genexpr>Ú"validate_action.<locals>.<genexpr>   s*   é € ÐOÑ>N¸”J˜q¤#Ó&×4Ð4¨1¯7©7«9Ô4Ó>Nùs   ‚7ž7FT)Úparse_reasoning_effortNÚbranchÚeffortÚ	workspaceÚcwdÚ
editor_mcpÚmcp_serversÚedit_policyÚpolicyÚcompressÚimportÚsessionsÚrewindÚtarget_message_idÚpreserve_compaction_handoffÚrenamer   Úarchiver   Úsidebarc              3   óV   "  € T F  w  r\        V4      \        V,          Jx € K!  	  R # 5ir   )ÚtypeÚMETADATA_FIELDS©r   ÚkeyÚvalues   &  r   r   r   6   s"   é € ÐbÑRaÁJÀCœ˜U›¬?¸3Õ+?Õ?ÓRaùó   ‚')>   r
   ÚconfirmÚproviderr   >   ÚaskÚsessionÚworkspace_session>   ÚresetÚdelete)r   Údictr   r   ÚsetÚallÚvaluesÚhermes_constantsr   Ú_valid_branch_payloadr   Ú_valid_editor_fingerprintÚ_valid_compress_payloadÚlistr)   ÚintÚgetÚboolr*   ÚkeysÚanyÚitems)Ú	operationÚpayloadr   ÚrequiredÚvalids   &&   r   Úvalidate_actionrI      s  € Ü�gœt×$Ò$¬J°yÄ#×,FÒ,FÜÐ 0Ó1Ð1ð 	�WÔ ¨GÔ!3¼CÀ»LÒKx×<xÔ<xß“ÑO¸g¿n¹nÔ>NÓO——’ÑO¸g¿n¹nÔ>NÓO×OÒOÝ;Ø˜gÔ%Ñ)?ÀÈÕ@TÓ)UÒ)aÙØ�HÔÔ!6°w×!?Ò!?Ùð �KÔ¤C¨£L°X°JÔ$>À7È8ÕCTÒC\ÙØ�KÔ¤C¨£L°X°JÔ$>Ä:ÈgÐV^ÕN_Ôad×CeÒCeÝ;Ù! '¨(Õ"3Ó4Ò@ÙØ�KÔ¤C¨£L°U°GÔ$;Ä
È7ÐSXÍ>Ô[^×@_Ò@_ÐdkÐlqÕdr×dxÑdx×dzÒdzÙð �LÔ ¤S¨£\°m°_Ô%DÔIbÐcj×IkÒIkÙà�]Ô"¤s¨7£|¸°zÔ'AÄjÐQXÐYaÕQbÔdg×FhÒFhØ˜Õ!Ð%LÔLÙØ�JÔÔ#:¸7×#CÒ#CÙØÐ'Ô'·ÙØ�HÔ¤ W£°*°Ô!=Ä*ÈWÐU_ÕM`Ôbf×BgÒBgÙØ�XÔÐ"5¸Ô"@Ü˜“LÐ$7Ð9VÐ#W×WÔWÜ�WÐ0Õ1Ó2´cÓ9¸gÐFYÕ>ZÐ]^Ô>^Ü�W—[‘[Ð!>ÀÓFÓGÌ4ÓOÙØ˜7˜) Y°°Ð=€HØ�IÔÜ�W“×KÐK¤c¨'£l´_×5IÑ5IÓ5KÕ&KÔ"K‰àÑ%×MÐM¬#¨g«,¸(Õ:MÑ*Mˆß—C“CÑbÐRY×R_ÑR_ÔRaÓb—C—C’CÑbÐRY×R_ÑR_ÔRaÓb×bÒbÜÐ 0Ó1Ð1ñ có    c                 ó,  € \        V 4      0 Rm,
          '       d   R# RV 9   d   \        V 4      '       g   R# R V 9   d    \        V R ,          \        4      '       g   R# RV 9  ;'       g-    \	        V R,          4      \
        J ;'       d    V R,          ^ 8„  # )r   Úthrough_message_idr   F>   r   r   rL   )r7   r<   r   r   r)   r?   ©rF   s   &r   r;   r;   :   sŠ   € ô ˆ7ƒ|ÒD×DÔDÙØ˜ÔÔ(AÀ'×(JÒ(JÙØ�'Ô¤*¨W°WÕ-=¼s×"CÒ"CÙØ wÑ.÷ Zð ZÜˆWÐ)Õ*Ó+¬sÐ2×XÐX°wÐ?SÕ7TÐWXÑ7XðZrJ   c                 ó    € V R ,          p\        V\        4      ;'       d/    \        V4      R08H  ;'       d    \        VR,          \        4      # )r   Úfingerprint)r   r6   r7   r   )rF   Úserverss   & r   r<   r<   G   sC   € Ø�mÕ$€GÜ�gœtÓ$×tÐt¬¨W«¸-¸Ñ)H×tÐtÌZÐX_Ð`mÕXnÔpsÓMtÐtrJ   ÚfocusÚpreviewÚpartialÚ	keep_lastc                 ór  € \        V 4      \        P                  4       ,
          '       d   R # \        ;QJ d*    R V P	                  4        4       F  '       g   K   RM	  R M! R V P	                  4        4       4      '       d   R # RV 9  ;'       g(    V P                  R4      RJ ;'       d    V R,          ^8¬  # )Fc              3   óV   "  € T F  w  r\        V4      \        V,          Jx € K!  	  R # 5ir   )r)   Ú_COMPRESS_FIELDSr+   s   &  r   r   Ú*_valid_compress_payload.<locals>.<genexpr>T   s!   é € Ð
VÁo¹
¸Œ4�‹;Ô.¨sÕ3Õ3Ãoùr.   TrT   rS   )r7   rW   rB   rC   rD   r@   rM   s   &r   r=   r=   O   s…   € ô ˆ7ƒ|Ô&×+Ñ+Ó-×-Ô-Ùß
ƒsÑ
VÀgÇmÁmÄoÓ
V‡s‡s‚sÑ
VÀgÇmÁmÄoÓ
V×VÒVÙØ˜gÑ%×gÐg¨'¯+©+°iÓ*@ÀDÐ*H×*fÐ*fÈWÐU`ÕMaÐefÑMfÐgrJ   Úpreparedc          
      óÌ  € VR 8X  d   ^ RI Hp V! WW$V4      # VR9   d   ^ RIHp Ws,          ! WW$V4      # VR8X  d   ^ RIHp V! WW$V4      # ^ RIHp	 R\        R\        R\        R	V	/p
W:9   d   W£,          ! WW$4      # \        4       p/ pVP                  4        FÆ  w  rÞVR
8X  dY   VP                  V P                  WWàP                  R7      4       VP!                  RV34      P#                  4       ^ ,          WÍ&   Kd  VR8X  d   RMTpVR8X  d    V'       d   RM\$        P$                  ! 4       M
\'        V4      pVP                  V P)                  WVV4      4       WìV&   KÈ  	  W¼3# )r   )Úcompress_in_transaction)ÚPOLICY_HANDLERSr   )Úbranch_in_transaction)Úreset_in_transactionr5   r    r"   r4   r   )Úsourcez%SELECT title FROM sessions WHERE id=?r   Úlast_read_atg        >   r
   r   r   r   r   )Úhermes_state_mutation_compressr[   Úhermes_state_mutation_preparedr\   Úhermes_state_mutation_branchr]   Úhermes_state_mutation_resetr^   Ú_deleteÚ_importÚ_rewindr7   rD   ÚupdateÚ!_set_session_title_in_transactionÚTITLE_SOURCE_USERÚexecuteÚfetchoneÚtimer?   Ú"_set_lineage_column_in_transaction)ÚdbÚconnÚ
session_idrE   rF   rY   r[   r\   r]   r^   ÚhandlersÚaffectedÚresultr,   r-   ÚcolumnÚstoreds   &&&&&$           r   Úapply_actionrw   Y   sS  € Ø�JÔÝJÙ& r°ÀhÓOÐOØÐTÔTÝBØÖ)¨"°JÈÓRÐRØ�HÔÝFÙ$ R¨zÀHÓMÐMÝ@Øœ' 8¬W°hÄÈÐRfÐg€HØÔØÖ" 2¨ZÓAÐAÜ‹u€HØ€FØ—m‘m–o‰
ˆØ�'Œ>Ø�O‰O˜B×@Ñ@Ø %×0DÑ0Dð Aó Fô GàŸ,™,Ð'NÐQ[ÐP]Ó^×gÑgÓiÐjkÕlˆF‹Kà'*¨h¤‘^¸CˆFØ8;¸x¼ŸU‘c¬¯	ª	¬ÌSÐQVËZˆFØ�O‰O˜B×AÑAÀ$ÐPZÐ\bÓcÔdØ�3‹Kñ &ð ÐÐrJ   c                 ó    € ^ RI Hp V! WW#4      # )é    )Údelete_in_transaction)Ú hermes_state_mutation_retirementrz   )ro   rp   rq   rF   rz   s   &&&& r   re   re   v   s   € õ GÙ  ¨:Ó?Ð?rJ   c           
      óv  € ^ RI Hp ^ RIHp ^ RIHp V! W4      pV! W\        W'04      4       VP                  RVR,          V34      P                  4       pVe   VR,          R8w  d:   \        WVR,          4      '       d   \        R	R\        R
7      h\        R	RRR
7      h\        WWsR,          4      p	T! YYsR,          V	RJ;'       g    VP                  RR4      R7      w  r«rÍV P                  V
RRR7      p
V	e   V	P                  R4      V
R&   VP                  RV34       W'0R\        V4      RV
RVRV/3# )ry   )Úrequire_idle)Úrewind_in_transaction)Úlocal_physical_targetzBSELECT role FROM messages WHERE id=? AND session_id=? AND active=1r#   NÚroleÚuserr	   ©ÚfieldÚdetailz3target user message is no longer in session historyr$   F)r$   zrewind receiptT©Úwarn_contextÚsummary_flagÚcontentzFUPDATE sessions SET runtime_generation=runtime_generation+1 WHERE id=?Úrewound_countÚtarget_messageÚnew_head_idÚreplacement_message_id)Úhermes_state_mutation_guardsr}   Ú hermes_state_mutation_transcriptr~   Úhermes_state_local_lineager   r>   rk   rl   Ú_summarized_by_compactionr   ÚCOMPACTED_TARGET_DETAILÚ_carrier_live_viewr@   Ú_row_to_message_dictÚlen)ro   rp   rq   rF   r}   r~   r   ÚphysicalÚrowÚliveÚtargetÚidsÚheadÚreplacements   &&&&          r   rg   rg   }   sb  € Ý9ÝFÝ@Ù$ TÓ6€HÙ�œ4 Ð 6Ó7Ô8ð
 �,‰,Ð[ØÐ 3Õ4°hÐ?óAßAIÁÃð à
‚{�c˜&•k VÔ+Ü$ T°WÐ=PÕ5Q×RÒRÜ#Ð$4Ð<OÔXoÔpÐpÜÐ 0Ð8KØ'\ô^ð 	^ô ˜b¨Ð:MÕ2NÓO€DÙ%:¸2ÀXÐWjÕOkØ$(°Ð$4×$iÐ$i¸¿¹ÐDaÐchÓ8iô&kÑ"€F�ð ×$Ñ$ VÐ:JÐY]Ð$Ó^€FØÒØ ŸH™H YÓ/ˆˆyÑØ‡L�LÐYÐ\fÐ[hÔiØÐ! O´S¸³XÐ?OÐQWØ�tÐ5°{ð$Dð Dð DrJ   zMcompacted: target user message was summarized when the session was compressedc                óà  € V P                  RV34      P                  4       pVe   VR,          R8w  d   R# VR,          V8X  d!   VR,          ^ 8H  ;'       d    VR,          ^8H  # VR,          ^8X  g   VR,          ^8X  g   R# ^ RIHp ^ R	IHp V0V.rv\        V4       F=  pV! W4       U	u. uF  q™V9  g   K  V	NK  	  pp	V'       g    MVP                  V4       K?  	  VR,          V9   # u up	i )
a¼  Whether *message_id* is a user turn compaction took out of *physical*'s live transcript, as
opposed to one a rewind/undo deactivated, an assistant row, or no row at all. In-place compaction
archives with ``active=0, compacted=1`` (``_ARCHIVE_ACTIVE_SQL``) while rewind, undo and replace
mark ``active=0, compacted=0``; a rotating compaction leaves the turn on a compression ancestor of
*physical*, still displayed (``active=1 OR compacted=1``).zCSELECT session_id, role, active, compacted FROM messages WHERE id=?r€   r�   Frq   ÚactiveÚ	compacted)Ú_expand_compression_lineage_ids)Ú
_CHAIN_CAP)rk   rl   Úhermes_state_sessionsrŸ   Úhermes_state_compressionr    Úrangerh   )
rp   r•   Ú
message_idr–   rŸ   r    ÚlineageÚfrontierÚ_Úsids
   &&&       r   r�   r�   ¢   sí   € ð �,‰,Ð\Ø"�}ó&ß&.¡h£jð à
‚{�c˜&•k VÔ+ÙØ
ˆ<Õ˜HÔ$Ø�8�} Ñ!×;Ð; c¨+Õ&6¸!Ñ&;Ð;Ø��M˜QÔ # kÕ"2°aÔ"7ÙÝEÝ3Ø!˜
 X JˆXÜ�:ÖˆÙ#BÀ4Ô#RÓiÑ#R˜CÐahÑVh—C�CÑ#RˆÐißÙØ�‰�xÖ ñ	 ð
 ˆ|Õ Ñ'Ð'ùò	 js   Â+C+Â8C+c                 óÄ   € ^ RI Hp VP                  RW234      P                  4       pT;'       d    V P	                  VRRR7      pV'       d	   V! V4      MRw  rxVe   V# R# )ry   )Úsplit_user_originated_turnz?SELECT * FROM messages WHERE id=? AND session_id=? AND active=1zrewind targetTr…   N)NN)Úagent.context_compressorrª   rk   rl   r“   )	ro   rp   rq   r¤   rª   r–   ÚmessageÚhandoffr—   s	   &&&&     r   r’   r’   »   sg   € ÝCØ
�,‰,ÐXØ"Ð/ó1ß19±³ð à×cÐc�b×-Ñ-¨cÀÐ^bÐ-Óc€Gß;BÑ.¨wÔ7È�M€GØÒ&ˆ4Ð0¨DÐ0rJ   c                 óp  € VR ,          p\        V4      V P                  8”  d   \        R4      hV P                  V4      w  rVV'       g$   V'       d   W%^ ,          R,          R,          8w  d   \        R4      h. . . r˜pV Fï  p
V
R,          pVR,          p^ RIHp VP                  RWÜ,           34      P                  4       '       d   \        RR RV R2R	7      hVP                  R
V34      P                  4       '       d   VP                  V4       K”  V P                  WV
R,          V4       VP                  R4      '       d   V	P                  WËR,          34       VP                  V4       Kñ  	  ^ RIHp \        V4      pV	 UUu. uF4  w  ppVV9  g   K  V! VV4      e   V! VV4      V! W4      8w  g   K0  VV3NK6  	  pppV	 Uu. uF  pVV9  g   K  VNK  	  p	pV P                  W4      \        V4      ,           p\        V4      RRR\        V4      R\        V4      RVRVRVR. /3# u uppi u upi )r!   r	   r2   Úid)ÚRETIRED_PREFIXz$SELECT 1 FROM state_meta WHERE key=?Úadmission_conflictzsession z4 was deleted here; a deleted session is not restoredr‚   z!SELECT 1 FROM sessions WHERE id=?ÚmessagesÚparent_session_id)Úhistory_bindingÚokTÚimportedÚskippedÚimported_idsÚskipped_idsÚdetachedÚerrors)r”   Ú_IMPORT_MAX_SESSIONSr   Ú_validate_import_payloadr{   r°   rk   rl   ÚappendÚ_import_session_rowr@   Úhermes_state_mutation_bindingr´   r7   Ú_attach_import_parents)ro   rp   rq   rF   ÚrowsÚ
normalizedr»   r¶   r·   ÚparentsÚitemÚrawr¨   r°   r´   ÚfreshÚparentÚforeignÚlinkrº   s   &&&&                r   rf   rf   Ä   s!  € Ø�:Õ€DÜ
ˆ4ƒy�2×*Ñ*Ô*ÜÐ 0Ó1Ð1Ø×4Ñ4°TÓ:Ñ€Jß—Z :¸Aµ¸yÕ1IÈ$Õ1OÔ#OÜÐ 0Ó1Ð1Ø!# R¨�w€HÛˆØ�9�oˆØ�$�iˆÝCØ�<‰<Ð>ÀÕAUÐ@WÓX×aÑa×cÒcä#Ð$8À
Ø-5°c°UÐ:nÐ+oôqð qà�<‰<Ð;¸c¸VÓD×MÑM×OÒOØ�N‰N˜3ÔÙØ
×Ñ˜t¨$¨zÕ*:¸CÔ@Ø�7‰7Ð&×'Ò'Ø�N‰N˜CÐ%8Õ!9Ð:Ô;Ø�‰˜Öñ õ& >ä�‹M€EÙ07ô o±¡  f¸6ÈÑ;NŒ}Ù˜˜fÓ%Ò-±ÀÀvÓ1NÑRaÐbfÓRlÑ1lô ��V‹}±€Gñ oá 'Ó?¡˜¨4°wÑ+>�tˆt¡€GÐ?Ø×(Ñ(¨Ó7¼#¸g»,ÕF€HÜˆx‹=˜4  z´3°x³=À)ÌSÐQXË\Ø˜ -°¸*ÀhÐPXÐZ\ð^ð ^ð ^ùó	oùâ?s   ÆH-ÆH-Æ:H-Ç		H3ÇH3)Ú__doc__rm   Úhermes_state_runtimer   r   rA   r*   rI   r;   r<   r?   rW   r=   rw   re   rg   r‘   r�   r’   rf   © rJ   r   Ú<module>rÎ      sŽ   ðÙ MÛ Ý 2à˜C ¨T°8¸TÀ8ÈTÐS[Ð]aÐb€ò/2òd
Zòuð
 ˜S )¨T°9¸dÀKÐQTÐUÐ òhðÀtô ò:@òDðD jÐ ò(ò21ô#^rJ   