+
    ÂHàjÏ  ã                  óà  € ^ RI Ht ^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RI	t	^ RIH
t ^ RIHtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^RIHt ^R	IHt ^R
IHtHtHt ^RIHtH t  ^RI
H!t! . R#Ot" ! R R]PF                  4      t$R R lt% ! R R]PL                  4      t'R$R R llt(R$R R llt)R$R R llt*]RRRRRR/R R ll4       t+]RRRRRR/R R  ll4       t,]RRRRRR/R! R" ll4       t-R# )%é    )ÚannotationsN)Ú
transports)ÚAsyncIteratorÚCallableÚMapping)Úasynccontextmanager)ÚPath)ÚAnyÚcast)ÚAgentSideConnection)ÚClientSideConnection)Ú
ConnectionÚMethodHandlerÚStreamObserver)ÚAgentÚClient)Úspawn_stdio_transportc                  óF   € ] tR t^tR R ltR R ltR R ltR R ltR	tR
# )Ú_WritePipeProtocolc               ó   € V ^8„  d   QhRR/# ©é   ÚreturnÚNone© )Úformats   "Ú‹/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/acp/stdio.pyÚ__annotate__Ú_WritePipeProtocol.__annotate__   s   € ÷ ?ñ ?˜$ñ ?ó    c                	óV   € \         P                  ! 4       V n        R V n        RV n        R# ©FN)ÚasyncioÚget_running_loopÚ_loopÚ_pausedÚ_drain_waiter©Úselfs   &r   Ú__init__Ú_WritePipeProtocol.__init__   s!   € Ü×-Ò-Ó/ˆŒ
ØˆŒØ:>ˆÖr    c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   #   s   € ÷ <ñ <˜tñ <r    c                	ór   € R V n         V P                  f"   V P                  P                  4       V n        R# R# ©TN)r&   r'   r%   Úcreate_futurer(   s   &r   Úpause_writingÚ _WritePipeProtocol.pause_writing#   s/   € ØˆŒØ×ÑÒ%Ø!%§¡×!9Ñ!9Ó!;ˆDÖñ &r    c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   (   s   € ÷ "ñ " ñ "r    c                	ó´   € R V n         V P                  e<   V P                  P                  4       '       g   V P                  P                  R4       RV n        R# r"   )r&   r'   ÚdoneÚ
set_resultr(   s   &r   Úresume_writingÚ!_WritePipeProtocol.resume_writing(   sE   € ØˆŒØ×ÑÒ)°$×2DÑ2D×2IÑ2I×2KÒ2KØ×Ñ×)Ñ)¨$Ô/Ø!ˆÖr    c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   .   s   € ÷ %ñ % Tñ %r    c              ƒ  	ó‚   "  € V P                   '       d'   V P                  e   V P                  G R j  x€L
  R # R # R #  L
5i©N)r&   r'   r(   s   &r   Ú_drain_helperÚ _WritePipeProtocol._drain_helper.   s2   é € Ø�<�<ˆ<˜D×.Ñ.Ò:Ø×$Ñ$×$Ò$ñ ;‰<Ù$ùs   ‚0?²=³?)r'   r%   r&   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r*   r0   r6   r;   Ú__static_attributes__r   r    r   r   r      s   † õ?õ
<õ
"÷%ñ %r    r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úloopúasyncio.AbstractEventLoopÚreaderzasyncio.StreamReaderr   r   r   )r   s   "r   r   r   3   s)   € ÷ @ñ @Ð7ð @ÐAUð @ÐZ^ñ @r    c                óh   a a€ R  V V3R llp^ RI pVP                  VRR7      P                  4        R# )c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú)_start_stdin_feeder.<locals>.__annotate__5   s   € ÷ 7ñ 7˜4ñ 7r    c                 ó   <€   \         P                  P                  P                  4       p V '       g   MSP	                  SP
                  V 4       KP  SP	                  SP                  4       R#   SP	                  SP                  4       i ; ir.   )ÚsysÚstdinÚbufferÚreadlineÚcall_soon_threadsafeÚ	feed_dataÚfeed_eof)ÚdatarC   rE   s    €€r   Úblocking_readÚ*_start_stdin_feeder.<locals>.blocking_read5   sd   ø€ ð	7ØÜ—y‘y×'Ñ'×0Ñ0Ó2�ßØØ×)Ñ)¨&×*:Ñ*:¸DÖAà×%Ñ% f§o¡oÖ6øˆD×%Ñ% f§o¡oÕ6ús   ƒ0A0 ´A0 Á0BNT)ÚtargetÚdaemon)Ú	threadingÚThreadÚstart)rC   rE   rR   rV   s   ff  r   Ú_start_stdin_feederrY   3   s.   ù€ ÷7ñ 7ó à×Ñ˜M°$ÐÓ7×=Ñ=Ö?r    c                  ón   € ] tR t^DtR R ltR R ltR R ltR R ltR	 R
 ltR R lt	RR R llt
RtR# )Ú_StdoutTransportc               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   Ú_StdoutTransport.__annotate__E   s   € ÷ !ñ !˜$ñ !r    c                	ó   € R V n         R# r"   ©Ú_is_closingr(   s   &r   r*   Ú_StdoutTransport.__init__E   s
   € Ø ˆÖr    c               ó    € V ^8„  d   QhRRRR/# )r   rQ   Úbytesr   r   r   )r   s   "r   r   r]   H   s   € ÷ 9ñ 9˜%ð 9 Dñ 9r    c                	ó"  € V P                   '       d   R #  \        P                  P                  P	                  V4       \        P                  P                  P                  4        R #   \         d    \        P                  ! R4        R # i ; i)NzError writing to stdout)	r`   rJ   ÚstdoutrL   ÚwriteÚflushÚ	ExceptionÚloggingÚ	exception)r)   rQ   s   &&r   rf   Ú_StdoutTransport.writeH   sb   € Ø××ÐÙð	9Ü�J‰J×Ñ×#Ñ# DÔ)Ü�J‰J×Ñ×#Ñ#Ö%øÜô 	9Ü×ÒÐ7×8ð	9ús   –AA) Á)!BÂBc               ó   € V ^8„  d   QhRR/# ©r   r   Úboolr   )r   s   "r   r   r]   Q   s   € ÷ ñ ˜tñ r    c                	ó   € R # )Fr   r(   s   &r   Úcan_write_eofÚ_StdoutTransport.can_write_eofQ   s   € Ùr    c               ó   € V ^8„  d   QhRR/# rm   r   )r   s   "r   r   r]   T   s   € ÷  ñ  ˜Dñ  r    c                	ó   € V P                   # r:   r_   r(   s   &r   Ú
is_closingÚ_StdoutTransport.is_closingT   s   € Ø×ÑÐr    c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r]   W   s   € ÷ ñ �tñ r    c                	óÎ   € R V n         \        P                  ! \        4      ;_uu_ 4        \        P
                  P                  4        RRR4       R#   + '       g   i     R# ; ir.   )r`   Ú
contextlibÚsuppressrh   rJ   re   rg   r(   s   &r   ÚcloseÚ_StdoutTransport.closeW   s:   € ØˆÔÜ× Ò ¤×+Õ+Ü�J‰J×ÑÔ÷ ,×+×+Ò+ús   ªAÁA$	c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r]   \   s   € ÷ ñ �tñ r    c                	ó&   € V P                  4        R # r:   )rz   r(   s   &r   ÚabortÚ_StdoutTransport.abort\   s   € Ø�
‰
Žr    Nc               ó   € V ^8„  d   QhRR/# )r   ÚnameÚstrr   )r   s   "r   r   r]   _   s   € ÷ ñ  3ñ r    c                	ó   € V# r:   r   )r)   r�   Údefaults   &&&r   Úget_extra_infoÚ_StdoutTransport.get_extra_info_   s   € Øˆr    r_   r:   )r=   r>   r?   r@   r*   rf   rp   rt   rz   r~   r…   rA   r   r    r   r[   r[   D   s*   † õ!õ9õõ õõ
÷ó r    r[   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rC   rD   Úlimitú
int | Noner   ú1tuple[asyncio.StreamReader, asyncio.StreamWriter]r   )r   s   "r   r   r   c   s&   € ÷ ñ Ø
#ðàðð 7ñr    c              ƒ  ó<  "  € Ve   \         P                  ! VR7      M\         P                  ! 4       p\         P                  ! V4      p\        W4       \	        4       p\        4       p\         P                  ! \        \        P                  V4      VR V 4      pW&3# 5i)N©r‰   )
r#   ÚStreamReaderÚStreamReaderProtocolrY   r   r[   ÚStreamWriterr   Úaio_transportsÚWriteTransport)rC   r‰   rE   Ú_Úwrite_protocolÚ	transportÚwriters   &&     r   Ú_windows_stdio_streamsr—   c   s}   é € ð 38Ò2CŒW×!Ò!¨Õ.Ì×I]ÒI]ÓI_€FÜ×$Ò$ VÓ,€Aä˜Ô%ä'Ó)€NÜ Ó"€IÜ×!Ò!¤$¤~×'DÑ'DÀiÓ"PÐR`ÐbfÐhlÓm€FØˆ>Ðùs   ‚BBc               ó$   € V ^8„  d   QhRRRRRR/# rˆ   r   )r   s   "r   r   r   r   s&   € ÷ ñ Ø
#ðàðð 7ñr    c              ƒ  ó¢  aa"  € Ve   \         P                  ! VR7      M\         P                  ! 4       p\         P                  ! V4      oV P                  V3R l\        P
                  4      G R j  x€L
  \        4       oV P                  V3R l\        P                  4      G R j  x€L
 w  r4\         P                  ! VSR V 4      pW%3#  LX L$5i)Nr�   c                 ó   <€ S # r:   r   )Úreader_protocols   €r   Ú<lambda>Ú&_posix_stdio_streams.<locals>.<lambda>y   s   ø€ ©r    c                 ó   <€ S # r:   r   )r”   s   €r   rœ   r�   }   s   ø€ ¹r    )
r#   rŽ   r�   Úconnect_read_piperJ   rK   r   Úconnect_write_pipere   r�   )rC   r‰   rE   r•   r“   r–   r›   r”   s   &&    @@r   Ú_posix_stdio_streamsr¡   r   s£   ùé € ð
 38Ò2CŒW×!Ò!¨Õ.Ì×I]ÒI]ÓI_€FÜ×2Ò2°6Ó:€OØ
×
 Ñ
 Ô!8¼#¿)¹)Ó
D×DÐDô (Ó)€NØ×0Ñ0Ô1GÌÏÉÓT×T�L€IÜ×!Ò! )¨^¸TÀ4ÓH€FØˆ>Ðñ Eñ Uùs$   „A.CÁ2CÁ35CÂ(CÂ)#CÃCc               ó    € V ^8„  d   QhRRRR/# )r   r‰   rŠ   r   r‹   r   )r   s   "r   r   r   ‚   s   € ÷ 	9ñ 	9˜zð 	9Ð5fñ 	9r    c              ƒ  óÀ   "  € \         P                  ! 4       p\        P                  ! 4       R8X  d   \	        WR7      G Rj  x€L
 # \        WR7      G Rj  x€L
 #  L L5i)z–Create stdio asyncio streams; on Windows use a thread feeder + custom stdout transport.

Args:
    limit: Optional buffer limit for the stdin reader.
ÚWindowsr�   N)r#   r$   ÚplatformÚsystemr—   r¡   )r‰   rC   s   & r   Ústdio_streamsr§   ‚   sH   é € ô ×#Ò#Ó%€DÜ‡‚Ó˜IÔ%Ü+¨DÔ>×>Ð>Ü% dÔ8×8Ð8ñ ?Ù8ùs#   ‚?AÁAÁAÁAÁAÁAÚenvÚcwdÚ	observersc               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# )r   Úhandlerr   Úcommandr‚   Úargsr¨   úMapping[str, str] | Noner©   ústr | Path | Nonerª   zlist[StreamObserver] | NoneÚtransport_kwargsr
   r   z8AsyncIterator[tuple[Connection, aio_subprocess.Process]]r   )r   s   "r   r   r   �   sX   € ÷ ñ Øðàðð ðð 
"ð	ð
 
ðð +ðð ðð >ñr    c          	    óV  "  € \        V.VO5RVRV/VB ;_uu_4       GRj  x€L
 w  rxp	\        WWtR7      p
 W©35x € V
P                  4       G Rj  x€L
  RRR4      GRj  x€L
  R#  LE L  T
P                  4       G Rj  x€L 
  i ; i L(  + GRj  x€L 
 '       g   i     R# ; i5i)z@Spawn a subprocess and bind its stdio to a low-level Connection.r¨   r©   N)rª   )r   r   rz   )r¬   r­   r¨   r©   rª   r®   r±   rE   r–   ÚprocessÚconns   &&$$$*,    r   Úspawn_stdio_connectionrµ   Ž   s‹   é € ô % WÐZ¨tÒZ¸ÐZÀ#ÐZÐIY×Z×ZÒZÑ^wÐ_eÐovÜ˜'¨6ÔGˆð	Ø�-Óà—*‘*“,×Ð÷ [×ZÓZñ
 ø�$—*‘*“,×Òú÷ [×Z×ZÓZüs~   ‚ B)¢A(£B)¦B¸A,¾BÁA*ÁBÁB)Á!B
Á"B)Á*BÁ,BÂ BÂBÂBÂ
B)ÂB&	ÂBÂ
B&	ÂB&	Â 	B)r±   c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# )r   Ú	to_clientz"Callable[[Agent], Client] | Clientr­   r‚   r®   r¨   r¯   r©   r°   r±   úMapping[str, Any] | NoneÚconnection_kwargsr
   r   zBAsyncIterator[tuple[ClientSideConnection, aio_subprocess.Process]]r   )r   s   "r   r   r   ¢   sY   € ÷ ñ Ø1ðàðð ðð 
"ð	ð
 
ðð /ðð ðð Hñr    c              ó|  "  € \        V.VO5RVRV/V'       d   \        V4      M/ B ;_uu_4       GRj  x€L
 w  rxp	\        WV3/ VB p
 W©35x € V
P                  4       G Rj  x€L
  RRR4      GRj  x€L
  R#  LE L  T
P                  4       G Rj  x€L 
  i ; i L(  + GRj  x€L 
 '       g   i     R# ; i5i)zFSpawn an ACP agent subprocess and return a ClientSideConnection to it.r¨   r©   N)r   Údictr   rz   )r·   r­   r¨   r©   r±   r®   r¹   rE   r–   r³   r´   s   &&$$$*,    r   Úspawn_agent_processr¼   ¡   s»   é € ô %Øðà	òð ðð ð	÷
 &6Œ4Ð Ô!¸2÷÷ ò ñ 
#ˆ&˜'Ü# I°vÑSÐARÑSˆð	Ø�-Óà—*‘*“,×Ð÷÷ ó ñ ø�$—*‘*“,×Òú÷÷ ÷ ó üó€   ‚3B<µA;¶B<¹BÁA?ÁBÁ$A=Á%BÁ)B<Á4BÁ5B<Á=BÁ?BÂBÂBÂBÂB<ÂB9	Â%B(Â&
B9	Â1B9	Â3	B<c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# )r   Úto_agentz!Callable[[Client], Agent] | Agentr­   r‚   r®   r¨   r¯   r©   r°   r±   r¸   r¹   r
   r   zAAsyncIterator[tuple[AgentSideConnection, aio_subprocess.Process]]r   )r   s   "r   r   r   »   sY   € ÷ ñ Ø/ðàðð ðð 
"ð	ð
 
ðð /ðð ðð Gñr    c              ó|  "  € \        V.VO5RVRV/V'       d   \        V4      M/ B ;_uu_4       GRj  x€L
 w  rxp	\        WV3/ VB p
 W©35x € V
P                  4       G Rj  x€L
  RRR4      GRj  x€L
  R#  LE L  T
P                  4       G Rj  x€L 
  i ; i L(  + GRj  x€L 
 '       g   i     R# ; i5i)zGSpawn an ACP client subprocess and return an AgentSideConnection to it.r¨   r©   N)r   r»   r   rz   )r¿   r­   r¨   r©   r±   r®   r¹   rE   r–   r³   r´   s   &&$$$*,    r   Úspawn_client_processrÁ   º   s»   é € ô %Øðà	òð ðð ð	÷
 &6Œ4Ð Ô!¸2÷÷ ò ñ 
#ˆ&˜'Ü" 8°VÑQÐ?PÑQˆð	Ø�-Óà—*‘*“,×Ð÷÷ ó ñ ø�$—*‘*“,×Òú÷÷ ÷ ó ür½   )r¼   rÁ   rµ   r§   r:   ).Ú
__future__r   r#   Úasyncio.subprocessÚ
subprocessÚaio_subprocessrx   ri   r¥   rJ   r   r‘   Úcollections.abcr   r   r   r   Úpathlibr	   Útypingr
   r   Úagent.connectionr   Úclient.connectionr   Ú
connectionr   r   r   Ú
interfacesr   r   r   Ú__all__ÚBaseProtocolr   rY   ÚBaseTransportr[   r—   r¡   r§   rµ   r¼   rÁ   r   r    r   Ú<module>rÐ      s  ðÝ "ã Ý +Û Û Û Û 
Ý 0ß <Ñ <Ý *Ý ß å 1Ý 3ß AÑ Aß %Ý -ò€ô%˜×-Ñ-ô %õ,@ô"�w×,Ñ,ô ÷>÷÷ 	9ð ðð %)ð	ð
 "ðð .2öó ðð$ ðð %)ð	ð
 "ðð 26öó ðð0 ðð %)ð	ð
 "ðð 26öó òr    