+
    …WÝjï	  ã                  ó4  € R t ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	 ]! RR7       ! R R4      4       t
]! RR7       ! R	 R
4      4       t]! RR7       ! R R4      4       t]! RR7       ! R R4      4       t]
],          ],          ],          tR R ltR R ltR# )zâWhat a venv sync or currency probe should take as its plugin members.

Each request names exactly one source, so conflicting member inputs cannot be
expressed. Stdlib only: the client, the worker and the engine all import it.
)Úannotations)ÚMappingÚSequence)Ú	dataclass)ÚPathT)Úfrozenc                  ó&   € ] tR t^t$ RtR]R&   RtR# )ÚMembersz…Build exactly these members and skip config discovery.

A mapping keys each member's installed identity to the tree that supplies it.z$Sequence[Path] | Mapping[Path, Path]Údirs© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__Ú__static_attributes__r   ó    ÚDC:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\plugin_inputs.pyr	   r	      s   ‡ ñUð /×.r   r	   c                  ó&   € ] tR t^t$ RtR]R&   RtR# )Ú
CandidateszADiscover the enabled members and add these candidate directories.zSequence[Path]r
   r   Nr   r   r   r   r   r      s   ‡ áKØ
×r   r   c                  ó&   € ] tR t^t$ RtR]R&   RtR# )Ú	SelectionzAPublish a proposed plugin enablement with the members it implies.r   Údatar   Nr   r   r   r   r   r      s
   ‡ áKØ
‡Mr   r   c                  ó&   € ] tR t^!t$ RtR]R&   RtR# )ÚStagedUpdatez.Publish a staged plugin tree over its install.r   r   r   Nr   r   r   r   r   r   !   s
   ‡ á8Ø
‡Mr   r   c               ó    € V ^8„  d   QhRRRR/# )é   ÚpluginsúPluginInput | NoneÚreturnúdict | Noner   )Úformats   "r   Ú__annotate__r$   *   s   € ÷ 6ñ 6Ð&ð 6¨;ñ 6r   c                ó  € V f   R# \        V \        4      '       dÕ   \        V P                  \        4      '       du   RRRV P                  P	                  4        UUu. uFI  w  r\        \        V4      P                  4       4      \        \        V4      P                  4       4      .NKK  	  upp/# RRRV P                   Uu. uF%  p\        \        V4      P                  4       4      NK'  	  up/# \        V \        4      '       dA   RRRV P                   Uu. uF%  p\        \        V4      P                  4       4      NK'  	  up/# \        V \        4      '       d   RMRpRVR	\        V P                  4      /# u uppi u upi u upi )
z@JSON form for the worker request; paths become absolute strings.NÚkindÚmembersÚsourcesÚpathsÚ
candidatesÚ	selectionÚstagedr   )Ú
isinstancer	   r
   r   ÚitemsÚstrr   Úabsoluter   r   Údictr   )r   ÚkeyÚsourceÚpathr&   s   &    r   Úencoder5   *   sI  € à‚ÙÜ�'œ7×#Ò#Ü�g—l‘l¤G×,Ò,Ø˜I yØGNÇ|Á|×GYÑGYÔG[ô3]ÙG[¹¸ô 58¼¸S»	×8JÑ8JÓ8LÓ4MÌsÔSWÐX^ÓS_×ShÑShÓSjÓOkÓ3lÙG[ò3]ð ^ð ^à˜	 7ÐT[×T`ÒT`Ó,aÑT`ÈD¬S´°d³×1DÑ1DÓ1FÖ-GÑT`Ñ,aÐbÐbÜ�'œ:×&Ò&Ø˜ gÐW^×WcÒWcÓ/dÑWcÈt´´D¸³J×4GÑ4GÓ4IÖ0JÑWcÑ/dÐeÐeÜ$ W¬i×8Ò8‰;¸h€DØ�D˜&¤$ w§|¡|Ó"4Ð5Ð5ùó3]ùâ,aùâ/ds   ÁAE:Ã+F 
Ä+F
c               ó    € V ^8„  d   QhRRRR/# )r   Úvaluer"   r!   r    r   )r#   s   "r   r$   r$   9   s   € ÷ =ñ =�+ð =Ð"4ñ =r   c           
     ó
  € V f   R # V R,          pVR8X  dl   RV 9   d:   \        V R,           UUu/ uF  w  r#\        V4      \        V4      bK  	  upp4      # \        V R,           Uu. uF  p\        V4      NK  	  up4      # VR8X  d,   \        V R,           Uu. uF  p\        V4      NK  	  up4      # VR8X  d   \        V R,          4      # VR8X  d   \	        V R,          4      # \        R	V: 24      hu uppi u upi u upi )
Nr&   r'   r(   r)   r*   r+   r   r,   zunknown plugin input kind: )r	   r   r   r   r   Ú
ValueError)r7   r&   Úidentityr3   r4   s   &    r   Údecoder;   9   sï   € Ø‚}ÙØ��=€DØˆyÔØ˜ÔÜÐQVÐW`ÖQaÔbÑQaÑ=M¸XœD ›N¬D°«LÒ8ÑQaÒbÓcÐcÜ¨u°W®~Ó>©~ tœ˜Tž
©~Ñ>Ó?Ð?Øˆ|ÔÜ°%¸¶.ÓA±.¨$œ4 ž:±.ÑAÓBÐBØˆ{ÔÜ˜˜v�Ó'Ð'ØˆxÔÜ˜E &�MÓ*Ð*Ü
Ð2°4±(Ð;Ó
<Ð<ùó cùÚ>ùâAs   ¯ C5
Á'C;ÂD N)r   Ú
__future__r   Úcollections.abcr   r   Údataclassesr   Úpathlibr   r	   r   r   r   ÚPluginInputr5   r;   r   r   r   Ú<module>rA      s°   ðñõ
 #ç -Ý !Ý ñ �$Ô÷/ð /ó ð/ñ �$Ô÷ð ó ðñ
 �$Ô÷ð ó ðñ
 �$Ô÷ð ó ðð
 ˜
Õ" YÕ.°Õ=€õ6÷=r   