+
    lHàjÚ  ã                   óz   € R t ^ RIt^ RIt^ RIHtHtHt Rs]P                  ! 4       t	R t
R tR t ! R R4      tR# )zíProcess-bound worker ledger routing through the existing durable outbox.

Binding is private runtime wiring, not model tool surface or a storage fallback.
Fresh executor/helper threads retain the registered interpreter's owner boundary.
N)ÚWorkerPersistenceErrorÚcall_off_event_loopÚis_worker_processc                 ó&  € \        4       '       d,   V P                  R ,          \        P                  ! 4       8w  d   \	        R4      h\
        ;_uu_ 4        \        e   \        V Jd   \	        R4      hV sRRR4       R#   + '       g   i     R# ; i)ÚpidÚpermission_deniedNÚworker_delegation_already_bound)r   ÚscopeÚosÚgetpidr   Ú_lockÚ_store©Ústores   &ÚB/home/ubuntu/.hermes/hermes-agent/tools/async_delegation_worker.pyÚbind_worker_delegation_storer      s\   € ä×Ò %§+¡+¨eÕ"4¼¿	º	»Ô"CÜ$Ð%8Ó9Ð9ß	ŽÜÒ¤&°Ó"5Ü(Ð)JÓKÐKØˆ÷ 
��Šús   Á A?Á?B	c                  ó"  € \        4       '       g   R # \        ;_uu_ 4        \        e0   \        P                  R,          \        P
                  ! 4       8w  d   \        R4      h\        \        4      uuR R R 4       #   + '       g   i     R # ; i)Nr   Ú worker_delegation_ledger_unbound)r   r   r   r	   r
   r   r   ÚWorkerDelegationLedger© ó    r   Úworker_ledgerr      sN   € Ü×ÒÙß	ŽÜŠ>œVŸ\™\¨%Õ0´B·I²I³KÔ?Ü(Ð)KÓLÐLÜ%¤fÓ-÷ 
��‹ús   ¡AA=Á=B	c                  ó<   € \        4       '       d   \        R 4      hR# )Úworker_delegation_owner_onlyN)r   r   r   r   r   Úrequire_ledger_ownerr   "   s   € Ü×ÒÜ$Ð%CÓDÐDñ r   c                   ób   a € ] tR t^'t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )r   c                ó   € Wn         R # ©Nr   )Úselfr   s   &&r   Ú__init__ÚWorkerDelegationLedger.__init__(   s   € ØŽ
r   c                ó  a€ SP                  R 4      V P                  P                  R,          8w  d   \        R4      h^ RIHp \        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   \        R4      h\        V P                  P                  RR Uu/ uF  q3SP                  VR	4      bK  	  upR
R Uu/ uF  pVS9   g   K  VSV,          bK  	  up/,          4      R,          # u upi u upi )Úparent_session_idÚ
session_idr   )Ú_ROUTING_KEYSc              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir   )Úget)Ú.0ÚkeyÚrecords   & €r   Ú	<genexpr>Ú2WorkerDelegationLedger.dispatch.<locals>.<genexpr>/   s   øé € Ð8©- 3ˆv�z‰z˜#�ˆ«-ùs   ƒ!TFÚunsupported_producerzdelegation.dispatchÚ ÚtaskÚvalue)Údelegation_idr"   Úsession_keyÚorigin_ui_session_idÚorigin_session_idÚdispatched_at)ÚgoalÚgoalsÚcontextÚtoolsetsÚroleÚmodelÚis_batchÚtask_indexes)	r&   r   r	   r   Útools.async_delegationr$   Úanyr   Ú_apply)r   r)   r$   r(   s   &f  r   ÚdispatchÚWorkerDelegationLedger.dispatch+   s  ø€ Ø�:‰:Ð)Ó*¨d¯j©j×.>Ñ.>¸|Õ.LÔLÜ(Ð)<Ó=Ð=Ý8ß‹3Ô8©-Ó8�3�3Š3Ô8©-Ó8×8Ò8Ü(Ð)?Ó@Ð@ä" 4§:¡:×#4Ñ#4Ð6Kñ1NóNOñ1N¨�—‘˜C Ó$Ò$ñ 1NñNOàRXÙ(}ó[Ù(} Ø�f‰}ô ˆC�˜•ÒÑ(}ñ[ð RõNó  ð !(õ	)ð 	)ùò NOùò[s   Â.DÃ	DÃDc                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.completeÚeventÚresultr/   ©r   r?   )r   rC   rD   s   &&&r   ÚcompleteÚWorkerDelegationLedger.complete8   s*   € Ø�z‰z× Ñ Ð!6¸À%ÈÐSYÐ8ZÓ[Ð\cÕdÐdr   c                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.childr0   Úentryr/   rE   )r   r0   rI   s   &&&r   ÚchildÚWorkerDelegationLedger.child;   s+   € Ø�z‰z× Ñ Ð!3°oÀ}ÐV]Ð_dÐ5eÓfÐgnÕoÐor   c                óL   € V P                   P                  R RV/4      R,          # )zdelegation.readr0   r/   rE   ©r   r0   s   &&r   ÚreadÚWorkerDelegationLedger.read>   s%   € Ø�z‰z× Ñ Ð!2°_ÀmÐ4TÓUÐV]Õ^Ð^r   c                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.claimr0   Úclaim_idr/   rE   ©r   r0   rQ   s   &&&r   ÚclaimÚWorkerDelegationLedger.claimA   ó+   € Ø�z‰z× Ñ Ð!3°oÀ}ÐV`ÐbjÐ5kÓlÐmtÕuÐur   c                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.ackr0   rQ   r/   rE   rR   s   &&&r   ÚackÚWorkerDelegationLedger.ackD   s+   € Ø�z‰z× Ñ Ð!1°OÀ]ÐT^Ð`hÐ3iÓjÐkrÕsÐsr   c                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.deferr0   rQ   r/   rE   rR   s   &&&r   ÚdeferÚWorkerDelegationLedger.deferG   rU   r   c                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.releaser0   rQ   r/   rE   rR   s   &&&r   ÚreleaseÚWorkerDelegationLedger.releaseJ   s+   € Ø�z‰z× Ñ Ð!5¸ÈÐXbÐdlÐ7mÓnÐovÕwÐwr   c                óP   € V P                   P                  R RVRV/4      R,          # )zdelegation.dropr0   rQ   r/   rE   rR   s   &&&r   ÚdropÚWorkerDelegationLedger.dropM   s+   € Ø�z‰z× Ñ Ð!2°_ÀmÐU_ÐaiÐ4jÓkÐlsÕtÐtr   c                óV   € \        V P                  P                  R RV/4      R,          # )zdelegation.unscheduledr0   r/   )r   r   r?   rM   s   &&r   ÚunscheduledÚ"WorkerDelegationLedger.unscheduledP   s)   € Ü" 4§:¡:×#4Ñ#4Ð6NÐQ`ÐboÐPpÓqÐryÕzÐzr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r@   rF   rJ   rN   rS   rW   rZ   r]   r`   rc   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r   '   sK   ø‡ € òò)òeòpò_òvòtòvòxòu÷{ð {r   r   )Ú__doc__r
   Ú	threadingÚagent.runtime_session_storer   r   r   r   ÚLockr   r   r   r   r   r   r   r   Ú<module>rp      sE   ðñó
 
Û ç fÑ fà	€Ø�ŠÓ€òò.òE÷
*{ó *{r   