+
    jHàjú  ã                   óF   € R t ^ RIHt ^ RIHt ^ RIHtHt  ! R R4      tR# )zçGeneration-bound projection/control of the existing blocking approval queue.

Ordinary approvals and clarify prompts share the existing native waiters.
Secret/sudo prompts remain native; no response is published or journaled here.
©Údeepcopy)ÚRuntimeStoreError)Úlist_gateway_approvalsÚresolve_gateway_approvalc                   óV   a € ] tR t^t o R tRR/R ltRR/R ltR tRR/R	 ltR
t	V t
R# )ÚPendingControlsc                ó.   € Wn         / V n        / V n        R # ©N©ÚeventsÚpendingÚremote_responders)Úselfr   s   &&ÚE/home/ubuntu/.hermes/hermes-agent/gateway/session_pending_controls.pyÚ__init__ÚPendingControls.__init__   s   € ØŒØˆŒØ!#ˆÖó    Ú	timeout_sNc               óÊ  € ^ RI Hp V P                  P                  ;_uu_ 4        VR,          pRR.pVP	                  RR4      '       d*   VP	                  RR4      '       g   VP                  R	4       VP	                  R
R4      '       d*   VP	                  RR4      '       g   VP                  R4       RRRVRVRV! VP	                  RR4      4      RV! VP	                  RR4      4      RV/p	RV9   d   \        VR,          4      V	R&   RR.V	R&   Ve   WYR&   W)3V P                  V&   V P                  P                  WRR7       RRR4       R#   + '       g   i     R# ; i)é    ©Ú_redact_approval_commandÚ
request_idÚonceÚdenyÚallow_sessionTÚsmart_deniedFÚsessionÚallow_permanentÚalwaysÚkindÚapprovalÚ	prompt_idÚexecution_generationÚcommandÚ ÚdescriptionÚchoicesÚeditNr   zapproval.request©Ú
event_type)	Úgateway.runr   r   ÚlockÚgetÚappendr   r   Úpublish)
r   Ú
session_idÚrouteÚ
generationÚdatar   r   r#   r(   Úprompts
   &&&&&$    r   ÚregisterÚPendingControls.register   s<  € Ý8Ø�[‰[××ÓØ˜\Õ*ˆIØ˜vÐ&ˆGØ�x‰x˜¨×.Ò.°t·x±xÀÐPU×7VÒ7VØ—‘˜yÔ)Ø�x‰xÐ)¨4×0Ò0¸¿¹À.ÐRW×9XÒ9XØ—‘˜xÔ(Ø˜j¨+°yØ,¨jØÑ!9¸$¿(¹(À9ÈbÓ:QÓ!RØ#Ñ%=¸d¿h¹hÀ}ÐVXÓ>YÓ%ZØ ð	*ˆFð
 ˜Œ~Ü!)¨$¨v­,Ó!7��v‘Ø%+¨VÐ$4��yÑ!ØÒ$Ø&/�{Ñ#Ø', oˆD�L‰L˜Ñ#Ø�K‰K×Ñ 
Ð?QÐÔR÷% ××Òús   ¥=EÁ#(EÂEÂ$B#EÅE"	c               óÆ  € ^ RI Hp V P                  P                  ;_uu_ 4        RRRVP                  RTRV! VP
                  4      RVP                  ;'       g    .  Uu. uF
  qe! V4      NK  	  upRVP                  /pVe   WGR
&   W73V P                  VP                  &   V P                  P                  WRR7       R	R	R	4       R	# u upi   + '       g   i     R	# ; i)r   r   r!   Úclarifyr#   r$   Úquestionr(   Úmulti_selectNr   zclarify.requestr*   )
r,   r   r   r-   Ú
clarify_idr:   r(   r;   r   r0   )r   r1   r3   Úentryr   r   Úcr5   s   &&&&$   r   Úregister_clarifyÚ PendingControls.register_clarify(   sÎ   € Ý8Ø�[‰[××ÓØ˜i¨°e×6FÑ6FØ,¨jØ Ñ":¸5¿>¹>Ó"JØÀuÇ}Á}×GZÐGZÐXZÐGZÓ![ÑGZÀ!Ð":¸1Ö"=ÑGZÑ![Ø$ e×&8Ñ&8ð	:ˆFð
 Ò$Ø&/�{Ñ#Ø.3¨_ˆD�L‰L˜×)Ñ)Ñ*Ø�K‰K×Ñ 
Ð?PÐÔQ÷ Ñùò "\÷	 ×Ðús   ¥<CÁ!C
Á1ACÃ
CÃC 	c                ó¨  a€ V P                   P                  ;_uu_ 4        \        V P                  P	                  4       4       EF  w  ow  r4SV P
                  9   ;'       gz    VR ,          R8X  d    VP                  P                  4       '       * MK\        ;QJ d(    V3R l\        V4       4       F  '       g   K   RM	  RM! V3R l\        V4       4       4      pVR,          V8w  g   V'       d   K±  V P                  S V P
                  P                  SR4       V P                   P                  VRSRVR,          /VR ,          R,           R	7       EK  	  \        ;QJ d,    . R
 V P                  P                  4        4       F  NK  	  5M%! R
 V P                  P                  4        4       4      uuRRR4       #   + '       g   i     R# ; i)r!   r9   c              3   ó:   <"  € T F  qR ,          S8H  x € K  	  R# 5i)r   N© )Ú.0Úpr#   s   & €r   Ú	<genexpr>Ú+PendingControls.snapshot.<locals>.<genexpr>:   s   øé € ÐcÑEbÀ �°)Ö;ÓEbùs   ƒTFr$   Nr#   ú.settledr*   c              3   ó<   "  € T F  w  r\        V4      x € K  	  R # 5ir
   r   )rD   Ú_r5   s   &  r   rF   rG   @   s   é € ÐQÑ;P©i¨aœ &×)Ð)Ó;Pùs   ‚)r   r-   Úlistr   Úitemsr   ÚeventÚis_setÚanyr   Úpopr0   ÚtupleÚvalues)r   r1   r3   r2   r5   Úactiver#   s   &&&   @r   ÚsnapshotÚPendingControls.snapshot5   s[  ø€ Ø�[‰[××ÓÜ.2°4·<±<×3EÑ3EÓ3G×.HÑ*�	™?˜EØ# t×'=Ñ'=Ñ=÷ eð eØ7=¸fµ~ÈÔ7R˜uŸ{™{×1Ñ1Ó3Õ3ß›3ÔcÔE[Ð\aÔEbÓcŸ3Ÿ3š3ÔcÔE[Ð\aÔEbÓcÓcð ð Ð0Õ1°ZÔ?ÇvÁvØŸ™ YÐ/Ø×*Ñ*×.Ñ.¨y¸$Ô?Ø—K‘K×'Ñ'¨
°[À)Ø.°Ð7MÕ0Nð5PØ\bÐciÕ\jÐmwÕ\wð (÷ yñ /I÷ ”5ÑQ¸4¿<¹<×;NÑ;NÔ;PÓQ—5‘5ÑQ¸4¿<¹<×;NÑ;NÔ;PÓQÓQ÷ ××Óús,    AG Á#8G ÂG Â<4G Ã5A/G Å%AG Ç G	r!   r"   c          	     ót  € V P                   P                  ;_uu_ 4        V P                  W4       V P                  P	                  V4      pVf   RRRV/uuR R R 4       # Vw  rxVR,          V8w  d   \        R4      hW0P                  9   dþ   VR8X  d   RMRp	\        V\        4      '       d_   \        V4      V	08w  gN   \        WI,          \        4      '       d2   \        WI,          4      R	8”  g   VR
8X  d    WI,          VR,          9  d   \        R4      hV P                  V,          ! WSWI,          4       V P                  V V P                  V V P                   P                  VRVRV/VR,           R7       RRRV/uuR R R 4       # VR8X  d�   ^ RIHp
 \        V\        4      '       d/   \        V4      R08w  g   \        VR,          \        4      '       g   \        R4      hV
! W4R,          4      pV P                  W4       RV'       d   RMRRV/uuR R R 4       # \        V\        4      '       d'   \        V4      R08w  g   VR,          VR,          9  d   \        R4      h\        WtR,          VR7      pV P                  W4       RV'       d   RMRRV/uuR R R 4       #   + '       g   i     R # ; i)NÚstatusÚalready_resolvedr#   r!   Úinvalid_paramsr9   ÚanswerÚchoicei @  r"   r(   r$   rH   r*   Úresolved)Úresolve_gateway_clarify)r   )r   r-   rT   r   r.   r   r   Ú
isinstanceÚdictÚsetÚstrÚlenr0   Útools.clarify_gatewayr]   r   )r   r1   r3   r#   Úresponser!   r=   r2   r5   Úfieldr]   r\   s   &&&&&$      r   ÚrespondÚPendingControls.respondB   sP  € Ø�[‰[××ÓØ�M‰M˜*Ô1Ø—L‘L×$Ñ$ YÓ/ˆEØŠ}Ø Ð"4°kÀ9ÐM÷	 Òð
 "‰MˆEØ�f�~ Ô%Ü'Ð(8Ó9Ð9Ø×2Ñ2Ô2Ø$(¨IÔ$5™¸8�Ü" 8¬T×2Ò2´c¸(³mÈÀwÔ6NÜ)¨(­/¼3×?Ò?Ä3ÀxÅÓCWÐZ_ÔC_Ø  JÔ.°8µ?È&ÐQZÕJ[Ô3[Ü+Ð,<Ó=Ð=Ø×&Ñ& yÖ1°$À8Å?ÔSØ×*Ñ*¨9Ð5Ø—L‘L Ð+Ø—‘×#Ñ# J°¸iÐI_ÐakÐ0lØ/3°jÕ/@ð $ô Bà  *¨k¸9ÐE÷' Òð( �yÔ ÝIÜ" 8¬T×2Ò2´c¸(³mÈÀzÔ6QÜ)¨(°8Õ*<¼c×BÒBÜ+Ð,<Ó=Ð=Ù2°9ÀxÕ>PÓQ�Ø—‘˜jÔ5Ø ·¡*Ð>PÐR]Ð_hÐi÷7 Òô8 ˜h¬×-Ò-´°X³À8À*Ô1LÐPXÐYaÕPbÐjpÐqzÕj{ÔP{Ü'Ð(8Ó9Ð9ô 0°ÀÕ7IÐV_Ô`ˆHØ�M‰M˜*Ô1Ø¯H™jÐ:LÈkÐ[dÐe÷E ××Óús    Ÿ6J&Á DJ&Æ
BJ&È A;J&Ê&J7	r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r6   r?   rT   rf   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r   r      s@   ø‡ € ò$ð
SÈô Sð,RÈ4ô RòRð#fÈ:÷ #fò #fr   r   N)	Ú__doc__Úcopyr   Úhermes_state_runtimer   Útools.approvalr   r   r   rC   r   r   Ú<module>rs      s#   ðñõ
 å 2ß K÷Yfó Yfr   