+
    iHàj$R  ã                  óÚ  a € 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RI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 ^tRtRtR	tRtR
t  ! R R]!4      t" ! R R]#]PH                  4      t%]PL                  ! RR7       ! R R4      4       t']PL                  ! RR7       ! R R4      4       t(]PL                  ! RR7       ! R R4      4       t)]PL                  ! RR7       ! R R4      4       t*]PL                  ! RR7       ! R R4      4       t+]PL                  ! RR7       ! R R4      4       t,]PL                  ! RR7       ! R R4      4       t-]PL                   ! R R 4      4       t.]PL                   ! R! R"4      4       t/]/! 4       t0^ R#I1H2t3 ]3! ^R$R%7      t4]Pj                  ! ^ 4      t6]Pn                  ! R&RR'7      t8R(]9R)&   ]R* R+ l4       t:R, R- lt;R. R/ lt<R0 R1 lt=R2 R3 lt>R4R5 3R6R7 3R8]<3R9]<3R:R; 3R<]<3R=]<3R>R? 3R@RA 3RBRC 33
t?RD]9RE&   RF RG3RH RI3RJ RK3RL RM3RN RO3RP RQ3RR RS33t@RT]9RU&   RV RW ltARX RY ltBRZ R[ ltC ! R\ R]4      tDR# )^z«Public, plugin-safe lifecycle API for delegated Hermes subagents: immutable contracts, not ``AIAgent``
objects. Plugins obtain it via ``PluginContext.subagent_lifecycle``.)ÚannotationsN)Úcontextmanager)ÚFutureÚTimeoutError)ÚAnyÚCallableÚMappingÚOptional)Úrequest_hard_interrupti€>  i }  i    i  c                  ó   € ] tR t^ tRtRtR# )ÚSubagentLifecycleErrorz@A request cannot be safely accepted by the public lifecycle API.© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   ó    Ú=/home/ubuntu/.hermes/hermes-agent/agent/subagent_lifecycle.pyr   r       s   † ÝJr   r   c                  ó:   € ] tR t^$tRtRtRtRtRtRt	Rt
RtR	tR
tR# )ÚSubagentStateÚPENDINGÚSTARTINGÚRUNNINGÚ	SUCCEEDEDÚFAILEDÚINTERRUPTEDÚCANCEL_REQUESTEDÚ	CANCELLEDÚUNKNOWNr   N)r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r   r   r   $   s0   † Ø€GØ€HØ€GØ€IØ€FØ€KØ)ÐØ€IØ„Gr   r   T)Úfrozenc                  óÞ   € ] tR t^0t$ 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&   ]P                  ! ]R7      tR]R&   RtR]R&   RtR# )ÚSubagentLaunchRequestÚstrÚgoalNúOptional[str]ÚcontextÚleafÚroleÚmodelÚproviderzOptional[tuple[str, ...]]Úallowed_toolsetsztuple[str, ...]Úblocked_toolsÚworking_directoryÚparent_session_idÚcorrelation_id©Údefault_factoryúMapping[str, Any]ÚmetadataúOptional[float]Útimeout_secondsr   )r   r   r   r   Ú__annotations__r'   r)   r*   r+   r,   r-   r.   r/   r0   ÚdataclassesÚfieldÚdictr4   r6   r   r   r   r   r#   r#   0   s…   ‡ à
ƒIØ!€Gˆ]Ó!Ø€Dˆ#ÓØ€Eˆ=ÓØ"€HˆmÓ"Ø26ÐÐ/Ó6Ø%'€M�?Ó'Ø'+Ð�}Ó+Ø'+Ð�}Ó+Ø$(€N�MÓ(Ø"-×"3Ò"3ÀDÔ"I€HÐÓIØ'+€O�_×+r   r#   c                  óž   € ] tR t^@t$ 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 R l4       tRtR# )ÚSubagentHandleÚintÚcontract_versionr$   Úsubagent_idr&   r/   r0   ÚfloatÚ
created_atr+   r*   r)   ÚdepthÚ
capabilityc               ó   € V ^8„  d   QhRR/# )é   Úreturnzdict[str, Any]r   )Úformats   "r   Ú__annotate__ÚSubagentHandle.__annotate__M   s   € ÷ (ñ (˜ñ (r   c                	ó.   € \         P                  ! V 4      # ©N)r8   Úasdict)Úselfs   &r   Úto_dictÚSubagentHandle.to_dictM   s   € Ü×!Ò! $Ó'Ð'r   c               ó    € V ^8„  d   QhRRRR/# )rE   Úvaluer3   rF   r<   r   )rG   s   "r   rH   rI   Q   s   € ÷ Pñ PÐ/ð P°Nñ Pr   c                	óp   €  V ! R/ \        V4      B #   \        \        3 d   p\        R 4      ThRp?ii ; i)zMalformed subagent handle.Nr   )r:   Ú	TypeErrorÚ
ValueErrorr   )ÚclsrQ   Úexcs   && r   Ú	from_dictÚSubagentHandle.from_dictP   s?   € ð	PÙÑ%œ˜e›Ñ%Ð%øÜœ:Ð&ô 	PÜ(Ð)EÓFÈCÐOûð	Pús   ‚ “5¤0°5r   N)	r   r   r   r   r7   rN   ÚclassmethodrW   r   r   r   r   r<   r<   @   sV   ‡ àÓØÓØ$Ó$Ø!Ó!ØÓØÓØÓØ
ƒIØƒJØƒOõ(ð ôPó ôPr   r<   c                  óD   € ] tR t^Xt$ R]R&   R]R&   R]R&   RtR]R	&   R
tR# )ÚSubagentStatusr<   Úhandler   Ústater@   Ú
updated_atNr&   Ú
diagnosticr   ©r   r   r   r   r7   r_   r   r   r   r   r[   r[   X   s   ‡ àÓØÓØÓØ $€J�×$r   r[   c                  óR   € ] tR t^`t$ R]R&   R]R&   R]R&   RtR]R&   R	tR
]R&   RtR	# )ÚSubagentTerminalStater<   r\   r   r]   ÚboolÚ	completedFÚ	timed_outNr&   r_   r   )r   r   r   r   r7   re   r_   r   r   r   r   rb   rb   `   s'   ‡ àÓØÓØƒOØ€IˆtÓØ $€J�×$r   rb   c                  ón   € ] tR t^it$ R]R&   RtR]R&   RtR]R&   RtR]R&   ]P                  t
R]R&   R	tR
# )ÚSubagentCancelResultrc   ÚacceptedFÚalready_terminalÚunknown_handleÚunsupportedr   r]   r   N)r   r   r   r   r7   ri   rj   rk   r   r    r]   r   r   r   r   rg   rg   i   s6   ‡ àƒNØ"Ð�dÓ"Ø €N�DÓ Ø€K�ÓØ(×0Ñ0€Eˆ=×0r   rg   c                  óø   € ] tR t^rt$ R]R&   R]R&   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&   ]P                  ! ]R7      tR]R&   ]P                  ! ]R7      tR]R&   RtR]R&   RtR# )ÚSubagentResultr<   r\   r   Úterminal_staterc   ÚreadyNr&   ÚsummaryzOptional[Mapping[str, Any]]Ústructured_payloadr5   Ú
started_atÚcompleted_atÚerror_classificationÚerror_messager1   r3   Úusage_metadataÚtool_execution_summaryÚresult_hashr   )r   r   r   r   r7   rp   rq   rr   rs   rt   ru   r8   r9   r:   rv   rw   rx   r   r   r   r   rm   rm   r   sŠ   ‡ àÓØ!Ó!ØƒKØ!€Gˆ]Ó!Ø6:ÐÐ3Ó:Ø"&€J�Ó&Ø$(€L�/Ó(Ø*.Ð˜-Ó.Ø#'€M�=Ó'Ø(3×(9Ò(9È$Ô(O€NÐ%ÓOØ0;×0AÒ0AÐRVÔ0WÐÐ-ÓWØ!%€K�×%r   rm   c                  ó:   € ] tR t^‚t$ R]R&   R]R&   RtR]R&   RtR# )	ÚSubagentReconnectResultrc   Ú	connectedr   r]   Nr&   r_   r   r`   r   r   r   rz   rz   ‚   s   ‡ àƒOØÓØ $€J�×$r   rz   c                  ó|   € ] tR t^‰t$ R]R&   R]R&   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# )Ú_Recordr<   r\   r   r]   r@   r^   Nr   ÚagentzOptional[Future]Úfuturer5   rr   rs   zOptional[SubagentResult]Úresultr   )r   r   r   r   r7   r~   r   rr   rs   r€   r   r   r   r   r}   r}   ‰   sH   ‡ àÓØÓØÓØ€Eˆ3ÓØ#€FÐÓ#Ø"&€J�Ó&Ø$(€L�/Ó(Ø'+€FÐ$×+r   r}   c                  óÀ   € ] tR t^•t$ Rt]P                  ! ]P                  R7      t	R]
R&   ]P                  ! ]R7      tR]
R&   ]P                  ! ]R7      tR]
R&   R	tR
# )Ú	_RegistryzDThread-safe terminal-retention registry; never returns live records.r1   zthreading.RLockÚlockzdict[str, _Record]Úrecordsz$dict[tuple[Optional[str], str], str]Úcorrelationsr   N)r   r   r   r   r   r8   r9   Ú	threadingÚRLockrƒ   r7   r:   r„   r…   r   r   r   r   r‚   r‚   •   sK   ‡ áNà'×-Ò-¸i¿o¹oÔN€Dˆ/ÓNØ"-×"3Ò"3ÀDÔ"I€GÐÓIØ9D×9JÒ9JÐ[_Ô9`€LÐ6×`r   r‚   )ÚDaemonThreadPoolExecutorzhermes-lifecycle)Úmax_workersÚthread_name_prefixÚ hermes_subagent_lifecycle_parent)Údefaultzcontextvars.ContextVar[Any]Ú_ACTIVE_PARENT_AGENTc               ó   € V ^8„  d   QhRR/# )rE   Úparent_agentr   r   )rG   s   "r   rH   rH   ¦   s   € ÷ *ñ * sñ *r   c              #  óþ   a "  €  \         P                  ! S 4      p\        P	                  V4      p Rx € \        P                  V4       R#   \         d
    T 3R lp LDi ; i  \        P                  T4       i ; i5i)u’  Bind the host-owned parent for the current agent turn.

Stored as a weakref: every asyncio Handle/Future scheduled from the turn
(LSP reader loops, kernel pipes, ...) snapshots the Context, and those
snapshots outlive the turn. A strong ref there pinned finished delegate
children â€” each of which binds itself here for its own turn â€” in the
parent process heap for the life of the background loop.
c                 ó   <€ S # rK   r   )r�   s   €r   Ú<lambda>Ú&bind_subagent_parent.<locals>.<lambda>²   s   ø€ ‘lr   N)ÚweakrefÚrefrS   r�   ÚsetÚreset)r�   r•   Útokens   f  r   Úbind_subagent_parentr™   ¥   sg   øé € ð#Ü�kŠk˜,Ó'ˆô !×$Ñ$ SÓ)€Eð*Ûä×"Ñ" 5Ö)øô ô #Ü"Šð#ûô 	×"Ñ" 5Õ)üs=   ƒA=…A ›A=±A# µA=ÁA ÁA=ÁA Á A=Á#A:Á:A=c               ó   € V ^8„  d   QhRR/# )rE   rF   r   r   )rG   s   "r   rH   rH   º   s   € ÷ .ñ . Cñ .r   c                 óD   € \         P                  4       p V e   V ! 4       # R# )z:Return the parent bound to this execution context, if any.N)r�   Úget)r•   s    r   Úget_active_subagent_parentr�   º   s!   € ä
×
"Ñ
"Ó
$€CØ’O‰3‹5Ð-¨Ð-r   c               ó    € V ^8„  d   QhRRRR/# )rE   rQ   r   rF   rc   r   )rG   s   "r   rH   rH   À   s   € ÷ 3ñ 3�Cð 3˜Dñ 3r   c                ó:   € V R J ;'       g    \        V \        4      # rK   ©Ú
isinstancer$   ©rQ   s   &r   Ú_opt_strr£   À   s   € Ø�Dˆ=×2Ð2œJ u¬cÓ2Ð2r   c               ó    € V ^8„  d   QhRRRR/# )rE   r~   r   rF   r&   r   )rG   s   "r   rH   rH   Ä   s   € ÷ ?ñ ?˜#ð ? -ñ ?r   c                óV   € \        \        V R R4      ;'       g    R4      ;'       g    R# )Ú
session_idÚ N)r$   Úgetattr©r~   s   &r   Ú_session_id_ofrª   Ä   s&   € ÜŒw�u˜l¨BÓ/×5Ð5°2Ó6×>Ð>¸$Ð>r   c               ó    € V ^8„  d   QhRRRR/# )rE   rQ   r   rF   r&   r   )rG   s   "r   rH   rH   È   s   € ÷ Iñ I�ð I˜ñ Ir   c                ó2   € V e   \        V 4      R \         # R # rK   )r$   Ú_MAX_RESULT_CHARSr¢   s   &r   Ú_clipr®   È   s   € Ø-2Ò->Œ3ˆu‹:Ð(Ô(Ð)ÐHÀDÐHr   r>   c                óF   € \        V 4      \        J ;'       d
    V \        8H  # rK   )Útyper=   ÚPUBLIC_CONTRACT_VERSION©Úvs   &r   r’   r’   Î   s   € ¤4¨£7¬c >×#RÐ#R°aÔ;RÑ6RÐ#Rr   r?   c                óH   € \        V \        4      ;'       d    \        V 4      # rK   )r¡   r$   rc   r²   s   &r   r’   r’   Ï   s   € œj¨¬CÓ0×<Ð<´T¸!³WÐ<r   r/   r0   rA   c                ó¤   € \        V \        4      '       * ;'       d5    \        V \        \        34      ;'       d    \        P
                  ! V 4      # rK   )r¡   rc   r=   r@   ÚmathÚisfiniter²   s   &r   r’   r’   Ò   s9   € ¤¨A¬tÓ!4Ô4×iÐi¼ÀAÌÌUÀ|Ó9T×iÐiÔY]×YfÒYfÐghÓYiÐir   r+   r*   r)   c                ó"   € \        V \        4      # rK   r    r²   s   &r   r’   r’   Õ   s   € ”z !¤SÔ)r   rB   c                ó$   € \        V 4      \        J # rK   )r°   r=   r²   s   &r   r’   r’   Ö   s   € œ˜Q›¤3™r   rC   c                ó"   € \        V \        4      # rK   r    r²   s   &r   r’   r’   ×   s   € œZ¨¬3Ô/r   z-tuple[tuple[str, Callable[[Any], bool]], ...]Ú_HANDLE_FIELD_CHECKSc                ó  € \        V \        4      '       * ;'       gk    \        V P                  \        4      '       * ;'       gD    V P                  P	                  4       '       * ;'       g    \        V P                  4      \        8„  # rK   )r¡   r#   r%   r$   ÚstripÚlenÚ_MAX_GOAL_CHARS©Úrs   &r   r’   r’   Ý   s|   € ”:˜aÔ!6Ó7Ô7÷  Nð  N¼zÈ!Ï&É&ÔRUÓ?VÔ;V÷  Nð  NÐ^_×^dÑ^d×^jÑ^jÓ^lÔZl÷  Nð  NÔpsÐtu×tzÑtzÓp{ô  Nñ  qNð  Nr   z<goal must be a non-empty string of at most 16000 characters.c                ó´   € V P                   R J;'       dD    \        V P                   \        4      '       * ;'       g    \        V P                   4      \        8„  # rK   )r'   r¡   r$   r¾   Ú_MAX_CONTEXT_CHARSrÀ   s   &r   r’   r’   ß   s?   € ˆq�y‰y Ð$×pÐp¬j¸¿¹ÄCÓ.HÔ*H×*oÐ*oÌCÐPQ×PYÑPYËNÔ]oÑLoÐpr   z5context must be a string of at most 32000 characters.c                ó    € V P                   R9  # )r(   >   r(   Úorchestrator)r)   rÀ   s   &r   r’   r’   á   s   € ˆq�v‰vÐ5Ò5r   z&role must be 'leaf' or 'orchestrator'.c                óú   € V P                   R J;'       dg    \        V P                   \        4      '       * ;'       g@    V P                   P                  4       '       * ;'       g    \	        V P                   4      ^@8„  # rK   )r+   r¡   r$   r½   r¾   rÀ   s   &r   r’   r’   â   s\   € ˆq�z‰z Ð%×}Ð}¬z¸!¿*¹*ÄcÓ/JÔ+J×+|Ð+|ÐRS×R\ÑR\×RbÑRbÓRdÔNd×+|Ð+|ÔhkÐlm×lvÑlvÓhwÐz|Ñh|Ð}r   z=provider must be a non-empty string of at most 64 characters.c                ó   € V P                   R J# rK   )r6   rÀ   s   &r   r’   r’   ä   s   € ˆq× Ñ ¨Ñ,r   zMPer-launch timeout is not supported; configure delegation timeout explicitly.c                ó   € V P                   R J# rK   )r.   rÀ   s   &r   r’   r’   å   s   € ˆq×"Ñ"¨$Ñ.r   z[working_directory is not supported because Hermes delegates use isolated task environments.c                ó,   € \        V P                  4      # rK   )rc   r-   rÀ   s   &r   r’   r’   ç   s   € Œt�A—O‘OÔ$r   zbPer-tool blocking is not supported; use allowed_toolsets. Hermes always blocks unsafe child tools.z-tuple[tuple[Callable[[Any], bool], str], ...]Ú_REQUEST_REJECTIONSc               ó    € V ^8„  d   QhRRRR/# )rE   r\   r   rF   rc   r   )rG   s   "r   rH   rH   ì   s   € ÷ ~ñ ~ 3ð ~¨4ñ ~r   c                ó¸   a € \        S \        4      ;'       dC    \        ;QJ d#    V 3R  l\         4       F  '       d   K   R# 	  R# ! V 3R  l\         4       4      # )c              3  óL   <"  € T F  w  rV! \        SV4      4      x € K  	  R # 5irK   )r¨   )Ú.0r9   Úcheckr\   s   &  €r   Ú	<genexpr>Ú)_handle_is_well_formed.<locals>.<genexpr>í   s&   øé € Ð5}Ñh|ÑXdÐX]±e¼GÀFÈEÓ<R×6SÐ6SÓh|ùs   ƒ!$FT)r¡   r<   Úallr»   ©r\   s   fr   Ú_handle_is_well_formedrÔ   ì   s=   ø€ Ü�fœnÓ-×}Ð}·#³#Ô5}Õh|Ó5}·#´#Ð}²#Ð}°#Ô5}Õh|Ó5}Ó2}Ð}r   c               ó    € V ^8„  d   QhRRRR/# )rE   Úrequestr   rF   r#   r   )rG   s   "r   rH   rH   ð   s   € ÷ [ñ [˜Sð [Ð%:ñ [r   c                óv  € \        V \        4      '       d   V # \        V \        4      '       g   \        R 4      h\	        V 4      p\        V4      \        P                  ! \        4       Uu0 uF  q"P                  kK  	  up,
          pV'       d6   \        RRP                  \        \        \        V4      4      4       R24      hR F=  p\        VP                  V4      \        4      '       g   K*  \        W,          4      W&   K?  	   \        R/ VB # u upi   \          d   p\        RT 24      ThRp?ii ; i)zCrequest must be a SubagentLaunchRequest or a mapping of its fields.zUnknown request fields: ú, Ú.z#Malformed subagent launch request: N)r,   r-   r   )r¡   r#   r   r   r:   r–   r8   ÚfieldsÚnameÚjoinÚsortedÚmapr$   rœ   ÚlistÚtuplerS   )rÖ   Úvaluesr9   ÚunknownrÛ   rV   s   &     r   Ú_coerce_requestrã   ð   s  € Ü�'Ô0×1Ò1ØˆÜ�gœw×'Ò'Ü$Ð%jÓkÐkÜ�'‹]€FÜ�&‹k´[×5GÒ5GÔH]Ô5^Ó_Ñ5^¨EŸZœZÑ5^Ñ_Õ_€GßÜ$Ð'?ÀÇ	Á	Ì&ÔQTÔUXÐZaÓQbÓJcÓ@dÐ?eÐefÐ%gÓhÐhÛ5ˆÜ�f—j‘j Ó&¬×-Ô-Ü  ¥Ó.ˆF‹Lñ 6ð[Ü$Ñ. vÑ.Ð.ùò `øô ô [Ü$Ð'JÈ3È%Ð%PÓQÐWZÐZûð[ús   Á+DÄ	
D ÄD8Ä$D3Ä3D8c               ó    € V ^8„  d   QhRRRR/# )rE   r\   r   rF   zOptional[SubagentHandle]r   )rG   s   "r   rH   rH     s   € ÷ ñ ˜3ð Ð#;ñ r   c                ó²   € \        V \        4      '       d   V # \        V \        4      '       d    \        P                  V 4      # R #   \         d     R # i ; irK   )r¡   r<   r   rW   r   rÓ   s   &r   Ú_coerce_handleræ     sP   € Ü�&œ.×)Ò)ØˆÜ�&œ'×"Ò"ð	Ü!×+Ñ+¨FÓ3Ð3ñ øô &ô 	Úð	ús   °A ÁAÁAc                  óÜ   € ] tR tRtRtR R ltR R ltR R ltR	R
/R R lltR R lt	R R lt
R R ltR R ltR R lt]R R l4       tR R lt]R R l4       t]R R l4       tRtR
# ) ÚSubagentLifecycleServicei  a   Stable public service behind :attr:`PluginContext.subagent_lifecycle`. Children run in-process only;
completed results stay until process exit; ``reconnect`` reports that a serialized handle cannot
reconnect after a restart instead of launching work again.c               ó    € V ^8„  d   QhRRRR/# )rE   Úparent_agent_resolverzCallable[[], Any]rF   ÚNoner   )rG   s   "r   rH   Ú%SubagentLifecycleService.__annotate__  s   € ÷ <ñ <Ð.?ð <ÀDñ <r   c                	ó   € Wn         R # rK   ©Ú_parent_agent_resolver)rM   rê   s   &&r   Ú__init__Ú!SubagentLifecycleService.__init__  s   € Ø&;Ö#r   c               ó    € V ^8„  d   QhRRRR/# )rE   rÖ   z)SubagentLaunchRequest | Mapping[str, Any]rF   r<   r   )rG   s   "r   rH   rì     s   € ÷ .ñ .ÐGð .ÈNñ .r   c                	óð  € V P                  4       pVf   \        R4      h\        V4      pV P                  W4       \	        V4      pVP
                  '       d   VP
                  V8w  d   \        R4      hY1P                  ;'       g    R3p\        P                  ;_uu_ 4        V P                  4        VP                  '       d!   V\        P                  9   d   \        R4      hR R R 4       ^ RIHpHpHpHpHp	 VP"                  e%   RVP"                  RVP$                  ;'       g    R/MV! 4       p
 V! W¢4      pT! RR^ R	TP*                  R
TP,                  RTP.                  '       d   \1        TP.                  4      MR RTP$                  ;'       g
    TR,          RT	R^RTRTP2                  /	T! Yº4      B p\)        \5        TRR4      ;'       g    R4      pT'       g   \        R4      h\6        P6                  ! 4       p\9        \:        YãTP                  T\5        TRR 4      \5        TRR 4      \5        TRTP2                  4      \=        \5        TR^4      ;'       g    ^4      T P?                  YãT4      4
      p\A        T\B        PD                  YýR7      p\        P                  ;_uu_ 4        T\        PF                  T&   TP                  '       d   T\        P                  T&   R R R 4       \H        PK                  T PL                  TTP*                  T4      Tn'        T#   + '       g   i     ELK; i  \&         d   p\        \)        T4      4      ThR p?ii ; i  + '       g   i     L; i)Nz-No active Hermes parent session is available.z4parent_session_id does not match the active session.r§   z1Duplicate correlation_id for this parent session.)Ú$_build_child_preserving_parent_toolsÚ_credential_overridesÚ_load_configÚ_resolve_delegation_credentialsÚDEFAULT_MAX_ITERATIONSr+   r*   Ú
task_indexr%   r'   ÚtoolsetsÚmax_iterationsÚ
task_countr�   r)   Ú_subagent_idz)Hermes failed to assign a child identity.Ú_delegate_roleÚ_delegate_depthr©   r   )(rï   r   rã   Ú_validate_requestrª   r/   r0   Ú	_REGISTRYrƒ   Ú_cleanup_lockedr…   Útools.delegate_toolrô   rõ   rö   r÷   rø   r+   r*   rT   r$   r%   r'   r,   rß   r)   r¨   Útimer<   r±   r=   Ú_capabilityr}   r   r   r„   Ú	_EXECUTORÚsubmitÚ_runr   )rM   rÖ   Úparentr/   Úcorrelation_keyrô   rõ   rö   r÷   rø   Úrouting_cfgÚcredsrV   Úchildr?   Úcreatedr\   Úrecords   &&                r   ÚlaunchÚSubagentLifecycleService.launch  s  € Ø×,Ñ,Ó.ˆØŠ>Ü(Ð)XÓYÐYÜ! 'Ó*ˆØ×Ñ˜wÔ/Ü*¨6Ó2ÐØ×$×$Ð$¨×)BÑ)BÐFWÔ)WÜ(Ð)_Ó`Ð`Ø,×.DÑ.D×.JÐ.JÈÐKˆÜ�^�^‹^Ø× Ñ Ô"Ø×%×%Ð%¨/¼Y×=SÑ=SÔ*SÜ,Ð-`ÓaÐa÷ ÷
	
õ 	
ð
 W^×VfÑVfÒVr�z 7×#3Ñ#3°W¸g¿m¹m×>QÐ>QÈrÑRñ  yEó  yGˆð	<Ù3°KÓHˆEñ 5ñ 
Øð
Ø&Ÿ|™|ð
Ø5<·_±_ð
à7>×7O×7OÐ7O”T˜'×2Ñ2Ô3ÐUYð
ð —-‘-×1Ð1 5¨¥>ð
ð CYð
ð ð	
ð (.ð	
ð 5<·L±Lð	
ñ EZÐZ_ÓDmñ	
ˆô œ' %¨¸Ó<×BÐBÀÓCˆßÜ(Ð)TÓUÐUÜ—)’)“+ˆÜÜ# [ÀW×E[ÑE[Ð]dÜ�E˜: tÓ,¬g°e¸WÀdÓ.KÌWÐUZÐ\lÐnu×nzÑnzÓM{Ü”˜Ð0°!Ó4×9Ð9¸Ó:¸D×<LÑ<LÈ[ÐmtÓ<uó
ˆô
 ˜¤×!6Ñ!6¸ÔMˆÜ�^�^‹^Ø-3ŒI×Ñ˜kÑ*Ø×%×%Ð%Ø:E”	×&Ñ& Ñ7÷ ô "×(Ñ(¨¯©°F¸G¿L¹LÈ&ÓQˆŒØˆ÷I �^ˆ^ûô ô 	<Ü(¬¨S«Ó2¸Ð;ûð	<ú÷$ �^ús1   Â$AL)Ä7L= Ê59M%Ì)L:	Ì=M"ÍMÍM"Í%M5	c               ó    € V ^8„  d   QhRRRR/# )rE   r\   ú"SubagentHandle | Mapping[str, Any]rF   r[   r   )rG   s   "r   rH   rì   E  s   € ÷ Rñ RÐ?ð RÀNñ Rr   c                	óN  € V P                  V4      pVf0   \        V\        P                  \        P                  ! 4       R4      # \
        P                  ;_uu_ 4        \        VP                  VP                  VP                  4      uuR R R 4       #   + '       g   i     R # ; i)NÚUNKNOWN_HANDLE)
Ú_recordr[   r   r    r  r  rƒ   r\   r]   r^   ©rM   r\   r  s   && r   ÚstatusÚSubagentLifecycleService.statusE  sb   € Ø—‘˜fÓ%ˆØŠ>Ü! &¬-×*?Ñ*?ÄÇÂÃÐN^Ó_Ð_Ü�^�^‹^Ü! &§-¡-°·±¸v×?PÑ?PÓQ÷ �^�^‹^ús   Á+BÂB$	r6   Nc               ó$   € V ^8„  d   QhRRRRRR/# )rE   r\   r  r6   r5   rF   rb   r   )rG   s   "r   rH   rì   L  s-   € ÷ añ aÐ=ð aÐSbð að  oDñ ar   c               	ó  € V P                  V4      pVf   \        V\        P                  RRR7      #  VP                  e   VP                  P                  VR7       \        P                  ;_uu_ 4        \        TP                  TP                  TP
                  R J4      uuR R R 4       #   \         d&    \        TP                  TP                  RR4      u # \         d     L‹i ; i  + '       g   i     R # ; i)NTr  )r_   )ÚtimeoutF)r  rb   r   r    r   r€   r   r\   r]   Ú	Exceptionr  rƒ   )rM   r\   r6   r  s   &&$ r   ÚwaitÚSubagentLifecycleService.waitL  s¿   € Ø—‘˜fÓ%ˆØŠ>Ü(¨´×1FÑ1FÈÐYiÔjÐjð	Ø�}‰}Ò(Ø—‘×$Ñ$¨_Ð$Ô=ô
 �^�^‹^Ü(¨¯©¸¿¹ÀfÇmÁmÐ[_ÐF_Ó`÷ Š^øô	 ô 	SÜ(¨¯©¸¿¹ÀeÈTÓRÒRÜô 	Ùð	úç�^ˆ^ús)   ´*B. Á6-C-Â.-C*ÃC*Ã&C*Ã)C*Ã-C>	c               ó$   € V ^8„  d   QhRRRRRR/# )rE   r\   r  Úreasonr$   rF   rg   r   )rG   s   "r   rH   rì   Z  s(   € ÷ tñ tÐ?ð tÈCð tÐThñ tr   c               	ó�  € V P                  V4      pVf   \        RRR7      # \        P                  ;_uu_ 4        VP                  e#   \        RRVP
                  R7      uuR R R 4       # VP                  p\        P                  Vn        \        P                  ! 4       Vn
        R R R 4       RpXeD   \        P                  ! \        4      ;_uu_ 4        \        VRVR,           2RR7      pR R R 4       \        \        V4      V'       * \        P                  R	7      #   + '       g   i     Lƒ; i  + '       g   i     LM; i)
NFT)rj   )ri   r]   z"Lifecycle cancellation requested: :Niô  Nzsubagent cancellation requested)Útool_reason)rk   r]   )r  rg   r  rƒ   r€   r]   r~   r   r   r  r^   Ú
contextlibÚsuppressr  r
   rc   )rM   r\   r!  r  r~   rh   s   &&$   r   ÚcancelÚSubagentLifecycleService.cancelZ  sê   € Ø—‘˜fÓ%ˆØŠ>Ü'¨¸dÔCÐCÜ�^�^‹^Ø�}‰}Ò(Ü+¨EÀDÐPV×P\ÑP\Ô]÷ Š^ð —L‘LˆEÜ(×9Ñ9ˆFŒLÜ $§	¢	£ˆFÔ÷ ð ˆØÒÜ×$Ò$¤Y×/Õ/Ü1ØÐ?ÀÀtÅ¸~ÐNÐ\}ô�÷ 0ô $¤D¨£NÀHÄÔTa×TrÑTrÔsÐs÷ �^ú÷ 0×/ús   »&D"Á,;D"ÃD5Ä"D2	Ä5E	c               ó    € V ^8„  d   QhRRRR/# )rE   r\   r  rF   rm   r   )rG   s   "r   rH   rì   l  s   € ÷ yñ yÐ?ð yÀNñ yr   c           	     	óB  € V P                  V4      pVf   \        V\        P                  RRR7      # \        P
                  ;_uu_ 4        VP                  ;'       g$    \        VP                  VP                  RRR7      uuR R R 4       #   + '       g   i     R # ; i)NFr  )rt   Ú	NOT_READY)	r  rm   r   r    r  rƒ   r€   r\   r]   r  s   && r   r€   ÚSubagentLifecycleService.resultl  sf   € Ø—‘˜fÓ%ˆØŠ>Ü! &¬-×*?Ñ*?ÀÐ]mÔnÐnÜ�^�^‹^Ø—=‘=×xÐx¤N°6·=±=À&Ç,Á,ÐPUÐlwÔ$x÷ �^�^‹^ús   Á7BÂB	c               ó    € V ^8„  d   QhRRRR/# )rE   r\   r  rF   rz   r   )rG   s   "r   rH   rì   s  s   € ÷ ?ñ ?Ð Bð ?ÐG^ñ ?r   c                	óü   € V P                  V4      pVf   \        R\        P                  R4      # \        P
                  ;_uu_ 4        \        RVP                  4      uuR R R 4       #   + '       g   i     R # ; i)NFÚRECONNECT_UNAVAILABLET)r  rz   r   r    r  rƒ   r]   r  s   && r   Ú	reconnectÚ"SubagentLifecycleService.reconnects  sN   € Ø—‘˜fÓ%ˆØŠ>Ü*¨5´-×2GÑ2GÐI`ÓaÐaÜ�^�^‹^Ü*¨4°·±Ó>÷ �^�^‹^ús   Á	A*Á*A;	c               ó$   € V ^8„  d   QhRRRRRR/# )rE   r\   r  Útextr$   rF   rc   r   )rG   s   "r   rH   rì   z  s'   € ÷ 	Gñ 	GÐ>ð 	GÀcð 	GÈdñ 	Gr   c                ó†  € V P                  V4      pVe-   \        V\        4      '       d   VP                  4       '       g   R# \        P
                  ;_uu_ 4        VP                  e    RRR4       R#  RRR4       ^ RIHp V! VP                  P                  VP                  4       4      #   + '       g   i     LA; i)zMQueue text for the child's next iteration boundary while it accepts steering.NF)Ústeer_subagent)r  r¡   r$   r½   r  rƒ   r€   Útools.delegate_tool_registryr4  r\   r?   )rM   r\   r2  r  r4  s   &&&  r   ÚsteerÚSubagentLifecycleService.steerz  s~   € à—‘˜fÓ%ˆØŠ>¤¨D´#×!6Ò!6¸d¿j¹j¿lºlÙÜ�^�^‹^Ø�}‰}Ò(Ø÷ ‰^Ø(÷ õ 	@Ù˜fŸm™m×7Ñ7¸¿¹»ÓFÐF÷	 �^ús   ÁB0Â0C 	c               ó    € V ^8„  d   QhRRRR/# )rE   r\   r  rF   zOptional[_Record]r   )rG   s   "r   rH   rì   …  s   € ÷ =ñ =Ð@ð =ÐEVñ =r   c                ó  € \        V4      p\        V4      '       g   R# V P                  VP                  VP                  VP
                  4      p\        P                  ! VP                  V4      '       g   R# \        V P                  4       4      VP                  8w  d   R# \        P                  ;_uu_ 4        \        P                  P                  VP                  4      uuRRR4       #   + '       g   i     R# ; i)zYRegistry record for a well-formed, capability-verified handle owned by the active parent.N)ræ   rÔ   r  r?   r/   rA   ÚhmacÚcompare_digestrC   rª   rï   r  rƒ   r„   rœ   )rM   r\   Úexpecteds   && r   r  Ú SubagentLifecycleService._record…  s«   € ä Ó'ˆÜ% f×-Ò-ÙØ×#Ñ# F×$6Ñ$6¸×8PÑ8PÐRX×RcÑRcÓdˆÜ×"Ò" 6×#4Ñ#4°h×?Ò?ÙÜ˜$×5Ñ5Ó7Ó8¸F×<TÑ<TÔTÙÜ�^�^‹^Ü×$Ñ$×(Ñ(¨×);Ñ);Ó<÷ �^�^‹^ús   Â;)C/Ã/D 	c               ó   € V ^8„  d   QhRR/# )rE   rF   rë   r   )rG   s   "r   rH   rì   “  s   € ÷ 
dñ 
d˜Tñ 
dr   c                 ó  € \         P                   ! 4       \        ,
          p \        P                  P	                  4        UUu. uF:  w  rVP
                  f   K  VP                  f   K%  VP                  V 8  g   K8  VNK<  	  pppV Fv  p\        P                  P                  V4      P                  pVP                  '       g   K@  \        P                  P                  VP                  VP                  3R4       Kx  	  R# u uppi )z@Retain terminal snapshots for a bounded period, never live work.N)r  Ú_TERMINAL_RETENTION_SECONDSr  r„   Úitemsr€   rs   Úpopr\   r0   r…   r/   )ÚcutoffÚsidr  Úexpiredr?   r\   s         r   r  Ú(SubagentLifecycleService._cleanup_locked’  sÒ   € ô —’“Ô:Õ:ˆä#,×#4Ñ#4×#:Ñ#:Ô#<ô
Ù#<‘K�CØ�}‰}ô Ø-3×-@Ñ-@ô ØQW×QdÑQdÐgmÑQm÷ ˆCÑ#<ð 	ñ 
ó #ˆKÜ×&Ñ&×*Ñ*¨;Ó7×>Ñ>ˆFØ×$×$Ò$Ü×&Ñ&×*Ñ*¨F×,DÑ,DÀf×F[ÑF[Ð+\Ð^bÖcó #ùó	
s   ÁDÁDÁ)DÁ<Dc               ó(   € V ^8„  d   QhRRRRRRRR/# )	rE   r  r}   r%   r$   r	  r   rF   rë   r   )rG   s   "r   rH   rì   Ÿ  s.   € ÷ Jñ J˜7ð J¨#ð J°sð J¸tñ Jr   c                	óê  € \         P                  ;_uu_ 4        VP                  \        P                  Jd   \        P
                  Vn        \        P                  ! 4       ;Vn        Vn        R R R 4        ^ RI	H
p V! ^ W!P                  V4      p\        V\        4      pV'       d   TM/ p\        VP                  RR4      4      pVR8X  dA   VP                  \        P                  8X  d   \        P                   M\        P"                  pM'VR8X  d   \        P$                  M\        P&                  p\        \)        VP                  R4      4      \)        VP                  R4      ;'       g    R 4      V\        P$                  8X  d   R MVP+                  4       V'       d   RVP                  R^ 4      /M/ V'       d   RVP                  R^ 4      /M/ R	7      p	\3        VP4                  VR3RVP                  R\        P                  ! 4       /V	B p\6        P8                  ! V4      pVP;                  RR 4       \6        P<                  ! V\>        P@                  ! \B        PD                  ! VR\        R7      PG                  4       4      PI                  4       R7      p\         P                  ;_uu_ 4        R W»PJ                  uVn        Vn&        Vn        VPN                  ;Vn'        Vn        R R R 4       R #   + '       g   i     EL–; i  \,         dE   p
\        P&                  p\        \/        T
4      P0                  \)        T
4      R
7      p	 R p
?
EL|R p
?
ii ; i  + '       g   i     R # ; i)N)Ú_run_child_lifecycler  ÚerrorÚinterruptedrd   rp   Ú	api_callsÚduration_seconds)rp   ru   rt   rv   rw   )rt   ru   Trr   rs   rx   )Ú	sort_keysrŒ   )rx   )(r  rƒ   r]   r   r   r   r  rr   r^   r  rI  r~   r¡   r:   r$   rœ   r   r   r   r   r®   Úupperr  r°   r   rm   r\   r8   rL   rB  ÚreplaceÚhashlibÚsha256ÚjsonÚdumpsÚencodeÚ	hexdigestrn   r€   rs   )rM   r  r%   r	  rI  ÚrawÚis_dictr  r]   rÚ   rV   r€   Úpayloads   &&&&         r   r  ÚSubagentLifecycleService._runŸ  s�  € Ü�^�^‹^Ø�|‰|¤=×#AÑ#AÓAÜ,×4Ñ4�”Ü48·I²I³KÐ?ˆFÔ Ô 1÷ ð	]Ý@Ù& q¨$·±¸fÓEˆCÜ  ¤dÓ+ˆGß ‘# bˆCÜ˜Ÿ™ ¨7Ó3Ó4ˆFØ˜Ô&Ø39·<±<Ä=×CaÑCaÔ3aœ×/Ò/Ôgt÷  hAñ  hA‘à39¸[Ô3Hœ×/Ò/Ìm×NbÑNb�Ü%)Ü˜cŸg™g iÓ0Ó1ÄÀsÇwÁwÈwÓGW×G_ÐG_Ð[_ÓA`Ø-2´m×6MÑ6MÔ-M¡TÐSY×S_ÑS_ÓSaßIP ¨S¯W©W°[À!Ó-DÑEÐVXß_fÐ(:¸C¿G¹GÐDVÐXYÓ<ZÑ'[Ðlnô	&ˆFô   §¡¨u°dÑ}Àv×GXÑGXÐ}Ôgk×gpÒgpÓgrÐ}Ðv|Ñ}ˆÜ×$Ò$ VÓ,ˆØ�‰�M 4Ô(Ü×$Ò$ V¼¿ºÌÏ
Ê
ÐSZÐfjÔtwÔHx×HÑHó  IBó  :C÷  :Mñ  :Mó  :Oô  PˆÜ�^�^‹^Ø8<¸f×F[ÑF[Ð5ˆFŒL˜&œ-¨¬Ø6<×6IÑ6IÐIˆFÔ &Ô"3÷ ‰^÷7 �^ˆ^ûô( ô 	]Ü!×(Ñ(ˆEÜ¬t°C«y×/AÑ/AÔQVÐWZÓQ[Ô\ŽFûð	]ú÷ �^ˆ^ús=   ™AK;Á7D-L Æ%L ÇL Ê98M!Ë;L	ÌMÌ9MÍMÍ!M2	c               ó(   € V ^8„  d   QhRRRRRRRR/# )rE   r?   r$   r/   r&   rA   r@   rF   r   )rG   s   "r   rH   rì   À  s0   € ÷ Dñ D ð D¸ð DÐTYð DÐ^añ Dr   c                	ó¸   € T  R T;'       g    R R VR 2P                  4       p\        P                  ! \        V\        P
                  4      P                  4       # )Ú|r§   z.6f)rU  r:  ÚnewÚ_SECRETrQ  rR  rV  )r?   r/   rA   rQ   s   &&& r   r  Ú$SubagentLifecycleService._capability¿  sN   € à�-˜qÐ!2×!8Ð!8°bÐ 9¸¸:ÀcÐ:JÐK×RÑRÓTˆÜ�xŠxœ ¬¯©Ó7×AÑAÓCÐCr   c               ó$   € V ^8„  d   QhRRRRRR/# )rE   rÖ   r#   r	  r   rF   rë   r   )rG   s   "r   rH   rì   Å  s'   € ÷ añ aÐ#8ð aÀ#ð aÈ$ñ ar   c                	óä  € \          F  w  r#V! V 4      '       g   K  \        V4      h	   \        \        P                  ! \        V P                  4      R R7      P                  4       4      pT\        8”  d   \        R4      hT P                  '       g   R# ^ RIHp T P                   Uu0 uF  qv! T4      '       d   K  TkK  	  ppT'       d(   \        RRP                  \        T4      4       R24      h\!        TR	R4      p	T	eA   \#        T P                  4      P%                  \#        T	4      4      '       g   \        R
4      hR# R#   \        \        3 d   p\        R4      ThRp?ii ; iu upi )T)rN  z#metadata must be JSON-serializable.Nzmetadata exceeds 8192 bytes.)Úvalidate_toolsetzUnknown toolsets: rØ   rÙ   Úenabled_toolsetsz4Requested toolsets would broaden parent permissions.)rÊ   r   r¾   rS  rT  r:   r4   rU  rS   rT   Ú_MAX_METADATA_BYTESr,   rú   rc  rÜ   rÝ   r¨   r–   Úissubset)
rÖ   r	  ÚrejectedÚmessageÚmetadata_bytesrV   rc  rÛ   râ   Úenableds
   &&        r   r   Ú*SubagentLifecycleService._validate_requestÄ  sB  € ç!4ÑˆHÙ˜× Ô Ü,¨WÓ5Ð5ñ "5ð	YÜ ¤§¢¬D°×1AÑ1AÓ,BÈdÔ!S×!ZÑ!ZÓ!\Ó]ˆNð Ô/Ô/Ü(Ð)GÓHÐHØ×'×'Ð'Ùå-Ø$+×$<Ò$<Ó[Ñ$<˜DÐDTÐUY×DZ—4�4Ñ$<ˆÐ[ßÜ(Ð+=¸d¿i¹iÌÈwËÓ>XÐ=YÐYZÐ)[Ó\Ð\Ü˜&Ð"4°dÓ;ˆØÒ¤s¨7×+CÑ+CÓ'D×'MÑ'MÌcÐRYËl×'[Ò'[Ü(Ð)_Ó`Ð`ñ (\Ñøô œ:Ð&ô 	YÜ(Ð)NÓOÐUXÐXûð	Yüò \s$   ªAE Â*E-Â>E-ÅE*ÅE%Å%E*rî   )r   r   r   r   r   rð   r  r  r  r&  r€   r/  r6  r  Ústaticmethodr  r  r  r   r   r   r   r   rè   rè     s�   † ñBõ<õ.õ`RðaÐei÷ aõtõ$yõ?õ	Gõ=ð ô
dó ð
dõJð@ ôDó ðDð ôaó ôar   rè   )EÚ__conditional_annotations__r   Ú
__future__r   Úcontextvarsr8   ÚenumrQ  r:  rS  r¶   Úsecretsr†   r  r$  r”   r   Úconcurrent.futuresr   r   Útypingr   r   r   r	   Úagent.interrupt_compatr
   r±   r¿   rÃ   re  r­   r@  rT   r   r$   ÚEnumr   Ú	dataclassr#   r<   r[   rb   rg   rm   rz   r}   r‚   r  Útools.daemon_poolrˆ   Ú_DaemonExecutorr  Útoken_bytesr_  Ú
ContextVarr�   r7   r™   r�   r£   rª   r®   r»   rÊ   rÔ   rã   ræ   rè   )rm  s   @r   Ú<module>r{     s  øðôHõ #ã Û Û Û Û Û Û Û Û Û Û Û Ý %ß 3ß 3Ó 3å 9àÐ Ø€ØÐ ØÐ ØÐ Ø#Ð ôK˜Zô Kô	�C˜Ÿ™ô 	ð ×Ò˜dÔ#÷,ð ,ó $ð,ð ×Ò˜dÔ#÷Pð Pó $ðPð. ×Ò˜dÔ#÷%ð %ó $ð%ð ×Ò˜dÔ#÷%ð %ó $ð%ð ×Ò˜dÔ#÷1ð 1ó $ð1ð ×Ò˜dÔ#÷&ð &ó $ð&ð ×Ò˜dÔ#÷%ð %ó $ð%ð ×Ñ÷,ð ,ó ð,ð ×Ñ÷að aó ðañ ‹K€	Ý IÙ¨Ð>PÔQ€	Ø
×
Ò
˜bÓ
!€Ø4?×4JÒ4JÐKmÐw{Ô4|Ð Ð1Ó |ð ô*ó ð*õ(.õ3õ?õIð ÑRÐSØÑ<Ð=Ø˜(Ð#Ø�xÐ ØÑiÐjØ�ÐØˆhÐØÑ)Ð*ØÑ&Ð'ØÑ/Ð0ðGÐ ÐCó ñ  NØCðEápØ<ð>á5Ð7_Ð`Ù}ØDðFá,Ð.}Ð~Ù.Øbðdá$ØiðkðFÐ ÐBó õ ~õ[õ$÷Kaó Kar   