+
    …WÝj‹,  ã                  óú  a € 0 t $ R t^ RIHt ^ RIt^ RIHt ^ RIH	t	 / RRbRRbRR	bR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRlbRRbRRbRRbRRb/ R RmbR!R"bR#R$bR%R$bR&R'bR(R)bR*R+bR,R-bR-R-bR.R.bR/R0bR1RnbR2R3bR4R5bR6R7bR8R9bR:R:bCR;R;R<R<R=RoR>R?R@RpRARBRCRCRDRERFRGRHRIRJRKRLRM/Ct
RN]RO&   RP RQ ltRR RS ltRT RU ltRV RW ltRsRX]RY&   RZRR[R/R\ R] lltR^ R_ ltR` Ra ltRb Rc ltRd Re ltRf Rg ltRh Ri ltRj Rk ltR# )quK  Extras: the runtime features of the python venv.

Feature names ARE pyproject extra names. This table maps each extra to the
import that proves it (the anchor), so availability is one find_spec â€” no
package-manager machinery on the hot path. sync_venv([extra]) makes an extra
true; pm owns HOW (uv sync inside the venv package).
)ÚannotationsN©ÚPath)ÚCallableÚ	anthropicÚbedrockÚboto3Úvertexúgoogle.authzazure-identityzazure.identityÚexaÚexa_pyÚ	firecrawlzparallel-webÚparallelÚddgsÚotlpzopentelemetry.sdkÚmistralÚ	mistralaizedge-ttsÚedge_ttsÚneuttsÚ	kittenttsÚpiperztts-premiumÚ
elevenlabsÚvoiceÚfaster_whisperzstt-whisperzaudio-ioÚsilkÚpilkÚwakeÚpyopen_wakewordzwake-openwakewordzwake-sherpaÚsherpa_onnxzwake-porcupineÚpvporcupineÚfalÚ
fal_clientÚ	messagingÚtelegramÚdiscordÚslackÚ
slack_boltÚmatrixÚdingtalkÚdingtalk_streamÚfeishuÚ	lark_oapiÚwecomÚ
defusedxmlÚteamszmicrosoft_teams.appsÚmodalÚdaytonaÚvercelÚgooglezgoogle-chatzgoogle.cloud.pubsub_v1zgoogle-meetÚyoutubeÚyoutube_transcript_apiÚacpÚwebÚfastapizdoc-extractÚanydoczcomputer-useÚmcpztrace-uploadÚhuggingface_hubÚvisionÚPILz dict[str, str | tuple[str, ...]]ÚANCHORSc               ó    € V ^8„  d   QhRRRR/# ©é   ÚextraÚstrÚreturnztuple[str, ...]© )Úformats   "Ú=C:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\extras.pyÚ__annotate__rG   F   s   € ÷ 5ñ 5�Cð 5˜Oñ 5ó    c                ó‚   € \         P                  W P                  R R4      4      p\        V\        4      '       d   V# V3# )Ú-Ú_)r=   ÚgetÚreplaceÚ
isinstanceÚtuple)rA   Úgots   & rF   Ú_anchorsrQ   F   s4   € Ü
�+‰+�eŸ]™]¨3°Ó4Ó
5€CÜ˜S¤%×(Ò(ˆ3Ð4¨s¨fÐ4rH   c               ó    € V ^8„  d   QhRRRR/# )r@   ÚanchorrB   rC   ÚboolrD   )rE   s   "rF   rG   rG   K   s   € ÷ ñ ˜ð  ñ rH   c                ó¢   € ^ RI pWP                  9   d   R#  \        P                  P	                  V 4      RJ#   \
        \        3 d     R# i ; i)uÂ   An anchor already present in sys.modules counts even without a
findable spec â€” tests fake SDKs by inserting modules there, and the
caller's import right after this check resolves the same way.NTF)ÚsysÚmodulesÚ	importlibÚutilÚ	find_specÚImportErrorÚ
ValueError)rS   rV   s   & rF   Ú_importabler]   K   sJ   € ó à—‘ÔÙðÜ�~‰~×'Ñ'¨Ó/°tÐ;Ð;øÜœÐ$ô Úðús   ˜ 9 ¹AÁAc               ó    € V ^8„  d   QhRRRR/# )r@   rA   rB   rC   rT   rD   )rE   s   "rF   rG   rG   Y   s   € ÷ 8ñ 8�Sð 8˜Tñ 8rH   c                ó´   € \        V 4      '       g   R# \        ;QJ d%    R \        V 4       4       F  '       d   K   R# 	  R# ! R \        V 4       4       4      # )uÇ   Fast, side-effect-free: are all of this extra's anchors importable?
A platform-gated extra whose gate excludes this machine reads as
unavailable â€” the anchors are absent by design, not by accident.Fc              3  ó8   "  € T F  p\        V4      x € K  	  R # 5i©N©r]   ©Ú.0Úas   & rF   Ú	<genexpr>Úavailable.<locals>.<genexpr>_   s   é € Ð7¡ !Œ{˜1�~ˆ~£ùs   ‚T)Úextra_supportedÚallrQ   ©rA   s   &rF   Ú	availablerk   Y   sC   € ô ˜5×!Ò!Ùß‹3Ñ7¤x°¤Ó7�3Œ3Ð7Š3Ð7ˆ3Ñ7¤x°¤Ó7Ó7Ð7rH   c               ó   € V ^8„  d   QhRR/# )r@   rC   údict[str, str]rD   )rE   s   "rF   rG   rG   b   s   € ÷ ñ ˜ñ rH   c                 ó   € \         e   \         # ^ RIp ^ RIHp / p V! 4       R,          P	                  R4      ;_uu_ 4       pV P                  V4      pRRR4       XP                  R/ 4      P                  R/ 4      P                  R/ 4      p\        V\        4      '       d7   VP                  4        UUu/ uF  w  rg\        V4      \        V4      bK  	  pppVs V#   + '       g   i     L’; iu uppi   \        \        3 d     Ts T# i ; i)zqThe [tool.hermes.extras-platforms] table from pyproject.toml:
extra -> PEP 508 marker string. Cached per process.N)Ú	repo_rootzpyproject.tomlÚrbÚtoolÚhermeszextras-platforms)Ú_PLATFORM_GATESÚtomllibÚpm.pathsro   ÚopenÚloadrL   rN   ÚdictÚitemsrB   ÚOSErrorr\   )rt   ro   ÚgatesÚfÚdataÚtableÚkÚvs           rF   Ú_platform_gatesr�   b   sç   € ô Ò"ÜÐÛå"à€EðÙ‹kÐ,Õ,×2Ñ2°4×8Ô8¸AØ—<‘< “?ˆD÷ 9à—‘˜ Ó$×(Ñ(¨°2Ó6×:Ñ:Ð;MÈrÓRˆÜ�eœT×"Ò"Ø05·±´Ô>±©¨”S˜“VœS ›V’^±ˆEÑ>ð €OØ€L÷ 9×8üó ?øÜ”ZÐ ô ØØ€OØ€Lðús6   œ%C6 ÁCÁA#C6 Â6 C0ÃC6 ÃC-	Ã(C6 Ã6DÄDúdict[str, str] | Noners   ÚenvironmentÚ
importablec               ó(   € V ^8„  d   QhRRRRRRRR/# )	r@   rA   rB   rƒ   r‚   r„   zCallable[[str], bool] | NonerC   rT   rD   )rE   s   "rF   rG   rG   |   s+   € ÷ "ñ "˜3ð "Ð0Eð "Ø <ð"ØHLñ"rH   c               ó,  a€ \         ;QJ d(    V3R l\        V 4       4       F  '       d   K   RM	  RM! V3R l\        V 4       4       4      '       d   R# \        4       P                  V 4      pVf   R# ^ RIp^ RIp^ RIpVf;   RVP
                  RVP                  4       RVP                  4       RVP                  /p ^ R	I
Hp  \        T! T4      P                  TR
7      4      #   \         d    \        Y14      u # i ; i  \          d     R# i ; i)u  Is this extra installable on THIS platform? True when the extra
carries no gate, or its marker matches the running platform. An
extra that IS present on this machine (anchors importable) is always
supported â€” an installed override beats the table (dev machines,
hand-synced venvs).c              3  óP   <"  € T F  pS;'       g    \         ! V4      x € K  	  R # 5ira   rb   )rd   re   r„   s   & €rF   rf   Ú"extra_supported.<locals>.<genexpr>ƒ   s$   øé € Ð
C±?¨aˆJ×%Ð%œ+Ð% q×)Ð)³?ùs   ƒ&‘&FTNÚsys_platformÚplatform_systemÚplatform_machineÚos_name)ÚMarker)rƒ   )ri   rQ   r�   rL   ÚosÚplatformrV   ÚsystemÚmachineÚnameÚpackaging.markersr�   r[   Ú_evaluate_in_runtimerT   ÚevaluateÚ	Exception)rA   rƒ   r„   ÚmarkerrŽ   r�   rV   r�   s   &$d     rF   rh   rh   |   së   ø€ ÷ ƒsÔ
C´8¸E´?Ó
C‡s‡s‚sÔ
C´8¸E´?Ó
C×CÒCÙÜÓ×"Ñ" 5Ó)€FØ‚~ÙÛÛÛàÒà˜CŸL™LØ˜xŸ™Ó0Ø × 0Ñ 0Ó 2Ø�r—w‘wð	
ˆð9Ý,ð
Ü‘F˜6“N×+Ñ+¸Ð+ÓDÓEÐEøô ô 9ô $ FÓ8Ò8ð9ûô ô ò ðús$   Ã C( Ã D Ã(DÄ DÄDÄDc               ó$   € V ^8„  d   QhRRRRRR/# )r@   r—   rB   rƒ   rm   rC   rT   rD   )rE   s   "rF   rG   rG   ¡   s!   € ÷ (ñ ( ð (°>ð (Àdñ (rH   c           	     óH  € ^ RI p^ RIp^ RIHpHp  V! \        \        4      P                  R4      WP                  V4      .4      pVP                  We! 4       RR^<RR7      pTP                  ^ 8w  d   R# TP                  P                  4       R8H  #   \         d     R# i ; i)é    N)Úruntime_commandÚruntime_environmentz_marker_eval.pyTF)ÚenvÚcapture_outputÚtextÚtimeoutÚcheckÚ1)ÚjsonÚ
subprocessÚ
pm.runtimer›   rœ   r   Ú__file__Ú	with_nameÚdumpsÚrunr–   Ú
returncodeÚstdoutÚstrip)r—   rƒ   r£   r¤   r›   rœ   ÚcommandÚresults   &&      rF   r”   r”   ¡   s¡   € ÛÛç?ðÙ!¤$¤x£.×":Ñ":Ð;LÓ"MØ#)¯:©:°kÓ+BÐ"CóEˆà—‘ Ð-@Ó-BÐSWØ%)°2¸Uð  ó Dˆð ×Ñ˜AÔÙØ�=‰=×ÑÓ  CÑ'Ð'øô	 ô Úðús   ’AB ÂB!Â B!c               ó    € V ^8„  d   QhRRRR/# )r@   rA   rB   rC   rD   )rE   s   "rF   rG   rG   ³   s   € ÷ 0ñ 0˜ð 0 ñ 0rH   c                ó   € RV  2# )z:The one command users are told to run for a missing extra.zhermes pm install --extra rD   rj   s   &rF   Úinstall_hintr±   ³   s   € à'¨ wÐ/Ð/rH   c               ó    € V ^8„  d   QhRRRR/# )r@   rA   rB   rC   ÚNonerD   )rE   s   "rF   rG   rG   ¸   s   € ÷ 2gñ 2g˜ð 2g ñ 2grH   c                ó.  € \        V 4      '       d   R# \        V 4      '       g3   ^ RIHp \	        4       P                  V R4      pV! RRV : RV: R24      h^ RIp^ RIHp RpR	VP                  9   d"   ^ R
IH	p \        \        V! 4       RR4      4      pV'       g‹   VP                  P                  4       '       dk   VP                  P                  4       '       dK    \        RV : R24      P!                  4       P#                  4       pV'       d   VR9  d   V! RRV : R24      h^ RIHp V! V .4       ^ RIHpHp	 ^ RIHp
Hp ^ RIHpHp ^ RIp^ RIH p V! 4       PC                  4       '       d„   V! 4       pV
! V4       V	! V! V4      4      PE                  4       pTVPF                   Uu0 uF  pV! V4      PE                  4       kK  	  up9  d"   V! V4      ;'       g    RpV! RV  RV R24      hR# R#   \$        \&        3 d    Rp ELi ; iu upi )uÀ   Make an extra available: no-op when the anchor imports, otherwise
sync the venv with the extra enabled. Raises InstallError on failure
â€” including when a platform gate excludes this machine.N)ÚInstallErrorÚ Úvenvzextra z* is not supported on this platform (gate: z"); the adapter degrades without itFz"prompt_toolkit.application.current)Úget_app_or_noneÚ
is_runningz
This needs Hermes' optional z; feature, which isn't installed yet.
Install it now? [Y/n] Únzinstallation of extra z	 declined)Ú	sync_venv)Úselected_venvÚsite_packages)Úadopt_selectedÚrestart_needed)ro   Úruntime_facts_pathr   zCthis process does not run from the install's dependency environmentz+ installed; restart Hermes to activate it (Ú)>   ÚyÚyes)$rk   rh   Ú
pm.packagerµ   r�   rL   rV   rW   Ú"prompt_toolkit.application.currentr¸   rT   ÚgetattrÚstdinÚisattyr«   Úinputr¬   ÚlowerÚEOFErrorÚKeyboardInterruptÚ	pm.clientr»   Úpm.environmentsr¼   r½   Úpm.environments_adoptr¾   r¿   ru   ro   rÀ   Úpathlibr   Úis_fileÚresolveÚpath)rA   rµ   r—   rV   Úapp_runningr¸   Úanswerr»   r¼   r½   r¾   r¿   ro   rÀ   r   ÚrootÚselectedÚentryÚreasons   &                  rF   Úensure_importrÚ   ¸   sê  € ô �×ÒÙÜ˜5×!Ò!Ý+ä Ó"×&Ñ& u¨bÓ1ˆÙØØ�U‘Ið Ø‘ZÐAðCó
ð 	
ó
 Ý'ð €KØ+¨s¯{©{Ô:ÝFäœ7¡?Ó#4°lÀEÓJÓKˆß˜3Ÿ9™9×+Ñ+×-Ò-°#·*±*×2CÑ2C×2EÒ2Eð	ÜÐ;¸E¹9ð E4ð 4ó 5ß5:±U³W¿U¹U»Wð ÷ �f LÔ0Ù˜vÐ)?À¹yÈ	Ð'RÓSÐSÝ#áˆuˆgÔ÷ =ßDß6ÛÝáÓ×#Ñ#×%Ò%Ù‹{ˆÙ�tÔÙ ¡¨tÓ!4Ó5×=Ñ=Ó?ˆØ¸s¿xºxÓH¹x°e™D ›K×/Ñ/Ö1¹xÑHÔHÙ# DÓ)×rÐrÐ-rˆFÙ˜v¨%¨Ð0[Ð\bÐ[cÐcdÐ'eÓfÐfñ Iñ	 &øô! Ô+Ð,ô 	Ø‹Fð	üò( Is   Ã,G8 Æ-HÇ8HÈHc               ó   € V ^8„  d   QhRR/# )r@   rC   rT   rD   )rE   s   "rF   rG   rG   í   s   € ÷ ñ ¸ñ rH   c                óX  €  \        V 4        T! 4       pTP                  T4       R#   \         d5   p^ RIpTP                  \        4      P                  RY4        Rp?R# Rp?ii ; i  \         d5   p^ RIpTP                  \        4      P                  RY4        Rp?R# Rp?ii ; i)zŒensure_import + rebind module-level names after a mid-process install.
importer returns {name: value}; bound into target_globals on success.Nzextra %r unavailable: %sFz%import after installing %r failed: %sT)rÚ   r–   ÚloggingÚ	getLoggerÚ__name__Úwarningr[   Úupdate)rA   ÚimporterÚtarget_globalsÚexcrÝ   Úbindingss   &&&   rF   Úensure_and_bindræ   í   s™   € ðÜ�eÔðÙ“:ˆð ×Ñ˜(Ô#Ùøô ô Ûà×Ñœ(Ó#×+Ñ+Ð,FÈÔSÝûð	ûô ô Ûà×Ñœ(Ó#×+Ñ+Ø3°Uô	
õ ûðús+   ‚( ŽA* ¨A'³)A"Á"A'Á*B)Á5)B$Â$B)c               ó    € V ^8„  d   QhRRRR/# r?   rD   )rE   s   "rF   rG   rG     s   € ÷ Cñ C�3ð C˜?ñ CrH   c                ó~   € \         ;QJ d    . R  \        V 4       4       F  NK  	  5# ! R  \        V 4       4       4      # )c              3  óL   "  € T F  p\        V4      '       d   K  Vx € K  	  R # 5ira   rb   rc   s   & rF   rf   Úmissing.<locals>.<genexpr>  s   é € ÐB™O�q´;¸q·>—’›Oùs   ‚$š
$)rO   rQ   rj   s   &rF   Úmissingrë     s,   € ßŒ5ÑBœH UœOÓB�5ÐBˆ5ÑBœH UœOÓBÓBÐBrH   c               ó$   € V ^8„  d   QhRRRRRR/# )r@   r½   r   rS   rB   rC   rT   rD   )rE   s   "rF   rG   rG     s!   € ÷ 6ñ 6 ð 6¨sð 6°tñ 6rH   c                ó4  € VP                  R4      Ev r#V P                  ! V!  pWC,          P                  4       '       d   R# \        ;QJ d.    R VP	                  V R24       4       F  '       g   K   R# 	  R# ! R VP	                  V R24       4       4      # )zFIs ``anchor`` installed under a site-packages we must not import from?Ú.Tc              3  ón   "  € T F+  pVP                   P                  R ^4      R,          R9   x € K-  	  R# 5i)rî   Néÿÿÿÿ>   ÚpyÚsoÚpyd)r’   Úrsplit)rd   rØ   s   & rF   rf   Ú _installed_in.<locals>.<genexpr>  s3   é € ð 6Ù4�5ð �z‰z× Ñ   aÓ(¨Õ,Ð0CÖCÛ4ùs   ‚35z.*F)ÚsplitÚjoinpathÚis_dirÚanyÚglob)r½   rS   ÚparentsÚleafÚparents   &&   rF   Ú_installed_inrþ     s�   € à—\‘\ #Ó&�N€WØ×#Ò# WÑ-€FØ�×Ñ×ÒÙç‹3ñ 6Ø"ŸK™K¨4¨&°¨Ô4ó6�3Œ3ð 6Š3ð 6ˆ3ñ 6Ø"ŸK™K¨4¨&°¨Ô4ó6ó 6ð 6rH   c               ó    € V ^8„  d   QhRRRR/# )r@   Úproject_rootr   rC   z	list[str]rD   )rE   s   "rF   rG   rG     s   € ÷ ñ  4ð ¨Iñ rH   c                ó.  a€ \        V 4      pVR,          VR,          3 UUu. uFG  p. VP                  R4      OVR,          R,          N F  pVP                  4       '       g   K  VNK  	  KI  	  uppo\        V3R l\         4       4      pR.VO# u uppi )aÅ  The extras PM's first generation selects when it replaces a main-era venv.

Main-era installers selected ``[all]`` and then lazily installed opt-in
extras (FAL, messaging SDKs, ...) into the checkout's own venv, with no
ledger. Selecting only ``[all]`` drops those, and the first launch after
the migration asks to reinstall a feature that already worked. The old
venv's site-packages is read, never imported: the migrating process may
not run from it.
r·   z.venvzlib/python*/site-packagesÚLibzsite-packagesc              3  óì   <a"  € T Fh  oSR9  g   K  \         ;QJ d    V3R lS 4       F  '       g   K   RM	  RM! V3R lS 4       4      '       g   KN  \        SR R7      '       g   Kd  Sx € Kj  	  R# 5i)r"   c              3  ó¾   <a"  € T FQ  o\         ;QJ d(    V3R  l\        S4       4       F  '       d   K   RM	  RM! V3R  l\        S4       4       4      x € KS  	  R# 5i)c              3  ó<   <"  € T F  p\        SV4      x € K  	  R # 5ira   )rþ   )rd   rS   Útrees   & €rF   rf   Ú7legacy_selection.<locals>.<genexpr>.<genexpr>.<genexpr>'  s   øé € ÐM¹_°6”=  v×.Ð.»_ùs   ƒFTN)ri   rQ   )rd   r  rA   s   &@€rF   rf   Ú-legacy_selection.<locals>.<genexpr>.<genexpr>'  s:   ùé € Ð`ÑZ_ÐRV�s‹sÔM¼XÀe¼_ÓM�s�sŠsÔM¼XÀe¼_ÓM×MÐMÓZ_ùs   „A”A´)ATFc                ó   € R # )FrD   )Ú_anchors   &rF   Ú<lambda>Ú,legacy_selection.<locals>.<genexpr>.<lambda>(  s   € ¹erH   )r„   N>   r   r   r"   )rù   rh   )rd   rA   Útreess   &@€rF   rf   Ú#legacy_selection.<locals>.<genexpr>!  s\   ùé € ð ñ #�% eÐ3QÑ&QŒ÷ ‹3Ô`ÑZ_Ó`�3�3Š3Ô`ÑZ_Ó`×`ô 	ô ˜EÑ.C×DÐD÷	 	Š›7ùs    „	A4’
A4�A4´A4ÁA4Á*
A4ri   )r   rú   rø   Úsortedr=   )r   rÖ   r·   r  Úcarriedr  s   &    @rF   Úlegacy_selectionr    sŸ   ø€ ô �Ó€DØ# f�}¨d°W­nÑ=ô Ñ=�dØb˜4Ÿ9™9Ð%@ÓAÐbÀ4È%Å<ÐRaÕCaÓb�Ø—‘—÷ ˆTÙbñ Ñ=ò €Eô ô õ #óó €Gð Ð�GÐÐùós   ¢>BÁ%
B)r   Ú	soundfile)ÚsounddeviceÚnumpy)ÚmautrixÚasyncpgÚ	aiosqliteÚmarkdownÚaiohttp_socks)Úgoogleapiclientr
   zgoogle_auth_oauthlib.flowÚgoogle_auth_httplib2)zplaywright.sync_apiÚ
websockets)Ú__conditional_annotations__Ú__doc__Ú
__future__r   Úimportlib.utilrX   rÐ   r   Útypingr   r=   Ú__annotations__rQ   r]   rk   r�   rs   rh   r”   r±   rÚ   ræ   rë   rþ   r  )r  s   @rF   Ú<module>r#     sv  øðôõ #ã Ý Ý ð2-Ø�ð2-àˆwð2-ð ˆmð2-ð Ð&ð	2-ð
 
ˆ8ð2-ð �ð2-ð �Jð2-ð ˆFð2-ð Ðð2-ð ˆ{ð2-ð �
ð2-ð ˆhð2-ð Ð+ð2-ð ˆWð2-ð �<ð2-ð  Ðð!2-ð" Ð#ñ#2-ð$ Ð(ð%2-ð& ˆFð'2-ð( Ðð)2-ð* Ð*ð+2-ð, �=ð-2-ð. �mð/2-ð0 
ˆ<ð12-ð2 �ð32-ð4 �
ð52-ð6 ˆyð72-ð8 ˆ\ð92-ð: ÐNð;2-ð< Ð!ð=2-ð> ˆkð?2-ð@ ˆ\ðA2-ðB Ð#ðC2-ðD ˆWñE2-ðF ˆyØˆhØÐeØÐ+ØÐ8ØÐ'Ø	ˆ5Ø	ˆ9Ø�8Ø�EØÐ%ð ˆeñc2-€Ð	)ó 2õj5õ
õ8õð. *.€Ð&Ó -ð"Èð "Ø?C÷"õJ(õ$0õ
2gõjõ.Cõ6÷rH   