+
    jHàjo:  ã                   ó²  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHtHt ]P                  ! R4      t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 ltR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tR%R/R& R' lltR( R) lt R* R+ lt!R, R- lt"R8R. R/ llt#R0 R1 lt$R2 R3 lt%R4 R5 lt&R6 R7 lt'R# )9zzMemory-provider dashboard helpers: manifest/schema loading, setup-env and dependency probes, configured-status discovery.
N)ÚHTTPException)ÚPath)ÚAnyÚDictÚListÚOptionalzhermes_cli.web_serverc                ó0   € V ^8„  d   QhR\         R\        /# ©é   ÚnameÚreturn)r   Ústr)Úformats   "ÚA/home/ubuntu/.hermes/hermes-agent/hermes_cli/web_server_memory.pyÚ__annotate__r      s   € ÷ Añ A¬#ð A´#ñ Aó    c                 óx   € ^ RI Hp \        T ;'       g    R4      P                  4       pV! V4      '       d   R# T# )é    )Úis_core_memory_providerÚ )Úagent.memory_providerr   r   Ústrip)r   r   Úproviders   &  r   Ú_normalize_memory_provider_namer      s2   € Ý=Ü�4—:�:˜2‹×$Ñ$Ó&€HÙ(¨×2Ò2ˆ2Ð@¸Ð@r   c                ó$   € V ^8„  d   QhR\         /# )r
   r   ©r   )r   s   "r   r   r      s   € ÷ ñ ¤ñ r   c                 ót   €  ^ RI Hp V! V 4      #   \         d    \        P	                  RT RR7        R# i ; i)r   )Úload_memory_providerz!Failed to load memory provider %sT©Úexc_infoN)Úplugins.memoryr   Ú	ExceptionÚ_logÚdebug)r   r   s   & r   Ú_load_memory_providerr$      s:   € ðÝ7á# DÓ)Ð)øÜô Ü�
‰
Ð6¸Àtˆ
ÔLÚðús   ‚ �#7¶7c                óR   € V ^8„  d   QhR\         R\        \         \        3,          /# r	   ©r   Údictr   )r   s   "r   r   r       s"   € ÷ ñ ¤Cð ¬D´´c°­Nñ r   c                 ó~   €  ^ RI Hp V! V 4      w  r#V#   \         d    \        P	                  RT RR7       / u # i ; i)r   ©Ú!memory_provider_dependency_inputsz.Failed to read memory provider manifest for %sTr   )Úhermes_cli.memory_setupr*   r!   r"   r#   )r   r*   ÚmanifestÚ_inputss   &   r   Ú_memory_provider_manifestr.       sD   € ðÝMá=¸dÓCÑˆØˆøÜô Ü�
‰
ÐCÀTÐTXˆ
ÔYØŠ	ðús   ‚ ”%<»<c                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r
   Úvaluer   )r   Úlistr   )r   s   "r   r   r   +   s"   € ÷ Fñ Fœð F¤¤S¥	ñ Fr   c                 óÐ   € \        V \        4      '       g   . # V  Uu. uF=  p\        V4      P                  4       '       g   K$  \        V4      P                  4       NK?  	  up# u upi ©N)Ú
isinstancer1   r   r   )r0   Úitems   & r   Ú_string_listr6   +   sG   € Ü�eœT×"Ò"Øˆ	Ù*/ÓE©% $´3°t³9·?±?×3DÔŒC�‹I�O‰OÖ©%ÑEÐEùÒEs   �!A#ÁA#c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# r	   )r   Útupler'   )r   s   "r   r   r   1   s#   € ÷ ñ ¬#ð ´%¼¼d¸
Õ2Cñ r   c                 óR  € ^ RI Hp ^ RIHp ^ RIHp V! V 4      w  rEV! V 4      p. pVP                  R4      ;'       g    .  FŽ  p\        V\        4      '       g   K  R
 U	u/ uF5  q™\        VP                  V	4      ;'       g    R4      P                  4       bK7  	  p
p	\        V
P                  4       4      '       g   K}  VP                  V
4       K�  	  RV'       d   \        V! V4      P                  4      M. R\!        V4      RVR\#        VP                  R	4      4      /V3# u up	i )r   r)   )Úfind_provider_dir)Úread_python_declarationÚexternal_dependenciesr   Úpip_dependenciesÚpython_dependencies_declaredÚrequired_envÚrequires_env)r   ÚinstallÚcheck)r+   r*   r    r:   Úpm.plugin_declarationsr;   Úgetr4   r'   r   r   ÚanyÚvaluesÚappendr1   Úinstall_requirementsÚboolr6   )r   r*   r:   r;   r,   ÚinputsÚ
plugin_dirr<   ÚrawÚkÚdeps   &          r   Ú_memory_provider_setup_manifestrO   1   s  € ÝIÝ0Ý>á8¸Ó>Ñ€HÙ" 4Ó(€JØ24ÐØ�|‰|Ð3Ó4×:Ð:¸Ò:ˆÜ˜#œt×$Ò$ÙÙ9UÓVÑ9U°A”#�c—g‘g˜a“j×&Ð& BÓ'×-Ñ-Ó/Ò/Ñ9UˆÐVÜˆs�z‰z‹|×ÔØ!×(Ñ(¨Ö-ñ ;ð 	×^hœDÑ!8¸Ó!D×!YÑ!YÔZÐnpØ&¬¨V«ØÐ!6Øœ X§\¡\°.Ó%AÓBðð ðð ùò Ws   Á!!D$ÂD$c                óR   € V ^8„  d   QhR\         R\        \         \        3,          /# r	   r&   )r   s   "r   r   r   I   s"   € ÷ ñ ¤cð ¬d´3¼°8­nñ r   c                 ó^  € ^ RI p \        V 4      w  r# T'       * ;'       g    TP
                  ! R/ TB pT;'       d    \        T4      TR	&   T#   \         d(    \        P	                  RT RR7       R. RRR. R. R	R
/u # i ; i  \         d    \        P	                  RT RR7       R
p Lvi ; i)r   Nz%Invalid dependency declaration for %sTr   r=   r>   r<   r?   Údependencies_installedFz&Could not read dependency state for %s© )ÚpmrO   r!   r"   r#   Úvenv_is_currentÚ0_memory_provider_external_dependencies_installed)r   rT   ÚsetuprJ   Úpython_readys   &    r   Ú_memory_provider_setup_inforY   I   sÍ   € ÛðbÜ7¸Ó=‰ˆð
Ø!”z×AÐA R×%7Ò%7Ñ%A¸&Ñ%Aˆð '3×&nÐ&nÔ7gÐhmÓ7n€EÐ
"Ñ#Ø€Løô ô bÜ�
‰
Ð:¸DÈ4ˆ
ÔPØ" BÐ(FÈØ'¨¨^¸RÐAYÐ[`ðbò 	bðbûô ô Ü�
‰
Ð;¸TÈDˆ
ÔQØŠðús'   †A ”B ¢B Á/BÂ BÂ%B,Â+B,c                óF   € V ^8„  d   QhR\         \        \        3,          /# ©r
   r   )r'   r   )r   s   "r   r   r   [   s   € ÷ 
ñ 
¤D¬¬c¨¥Nñ 
r   c                  ó€  € ^ RI Hp  V ! RRR7      p\        P                  ! 4       pVR,          R,          VR,          R,          VR,          R,          \        R4      .p\        P
                  P                  R	 V 4       4      pV'       d2   V\        P
                  ,           VP                  R
R4      ,           VR
&   V# )r   )Úbuild_subprocess_envF)Úscrub_secretsÚinherit_profile_homez.brv-cliÚbinz.localz.npm-globalz/usr/local/binc              3   óf   "  € T F'  qP                  4       '       g   K  \        V4      x € K)  	  R # 5ir3   )Úexistsr   )Ú.0Úpaths   & r   Ú	<genexpr>Ú-_memory_provider_setup_env.<locals>.<genexpr>b   s   é € ÐO±:¨4ÇÁÇœYœS ŸY˜Y³:ùs   ‚1ž1ÚPATHr   )Útools.environments.localr]   r   ÚhomeÚosÚpathsepÚjoinrD   )r]   Úenvri   Ú
extra_binsÚprefixs        r   Ú_memory_provider_setup_envrp   [   s“   € õ >Ù
¨UÈÔ
O€CÜ�9Š9‹;€DØ˜Õ# eÕ+¨T°H­_¸uÕ-DÀdÈ]ÕFZÐ]bÕFbÔdhÐiyÓdzÐ{€JÜ�Z‰Z�_‰_ÑO±:ÓOÓO€FßØœrŸz™zÕ)¨C¯G©G°F¸BÓ,?Õ?ˆˆF‰Ø€Jr   ÚshellFÚtimeoutc          
      óh   € V ^8„  d   QhR\         R\        R\        R\        R\        P
                  /# )r
   ÚcommandÚdisplayrq   rr   r   )r   r   rI   ÚintÚ
subprocessÚCompletedProcess)r   s   "r   r   r   h   s:   € ÷ ñ ÜðÜ!ðÜ*.ðÜADðä× Ñ ñr   c                óf   € \         P                  ! T TV'       d   R MR\        4       RRRRVRR7
      # )z	/bin/bashNTzutf-8ÚreplaceF)	rq   Ú
executablerm   Úcapture_outputÚtextÚencodingÚerrorsrr   rB   )rw   Úrunrp   )rt   ru   rq   rr   s   &$$$r   Ú_run_setup_commandr�   h   s<   € ô �>Š>ØØß"'‘;¨TÜ&Ó(ØØð
 ØØØôð r   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# )r
   rW   r   ©r'   r   r   rI   )r   s   "r   r   r   }   s"   € ÷ ñ ¼DÄÄcÀ½Nð Ìtñ r   c                 ó  € R pV P                  R4      ;'       g    .  FÉ  p\        V\        4      '       g   K  \        VP                  R4      ;'       g    R4      P	                  4       pV'       g=   \        VP                  R4      ;'       g    R4      P	                  4       '       d   RpK‘   \        \        P                  ! V4      V^R7      pTP                  ^ 8w  g   KÇ  RpKË  	  V#   \         d    Rp Kß  i ; i)Tr<   rB   r   rA   F)ru   rr   )
rD   r4   r'   r   r   r�   ÚshlexÚsplitr!   Ú
returncode)rW   Úexternal_okrN   Ú	check_cmdÚ	completeds   &    r   rV   rV   }   sÝ   € Ø€KØ�y‰yÐ0Ó1×7Ð7°RÒ7ˆÜ˜#œt×$Ò$ÙÜ˜Ÿ™ Ó(×.Ð.¨BÓ/×5Ñ5Ó7ˆ	ßÜ�3—7‘7˜9Ó%×+Ð+¨Ó,×2Ñ2×4Ò4Ø#�Ùð	Ü*¬5¯;ª;°yÓ+AÈ9Ð^`ÔaˆIð ×Ñ 1Ö$ØŠKñ 8ð Ðøô ô 	ØˆKÚð	ús   Â0"C-Ã-C>Ã=C>c                ó^   € V ^8„  d   QhR\         \        \        3,          R\        R\        /# )r
   rL   Úchoicesr   )r'   r   r   r1   )r   s   "r   r   r   ‘   s)   € ÷ ñ œD¤¤c �Nð ´Tð ¼cñ r   c                ó  € \        V P                  R4      ;'       g    V P                  R4      ;'       g    R4      P                  4       P                  4       pV P                  R4      pV P                  R4      '       d   R# V'       d   R# VR9   g   \	        V\
        4      '       d   R# VR9   g-   \	        V\        4      '       d   \	        V\
        4      '       g   R# VR9   g   \	        V\        4      '       d   R	# R
# )zQField kind from explicit ``kind``/``type`` hints, else inferred from ``default``.ÚkindÚtyper   ÚdefaultÚsecretÚselectÚbooleanÚintegerÚnumberr}   >   rI   r“   >   rv   r”   >   Úfloatr•   )r   rD   r   Úlowerr4   rI   rv   r–   )rL   rŒ   Úexplicit_kindr�   s   &&  r   Ú_schema_field_kindr™   ‘   s¾   € ä˜Ÿ™ ›×@Ð@¨3¯7©7°6«?×@Ð@¸bÓA×GÑGÓI×OÑOÓQ€MØ�g‰g�iÓ €GØ
‡w�wˆx×ÒÙßÙØÐ+Ô+¬z¸'Ä4×/HÒ/HÙØÐ*Ô*¬z¸'Ä3×/GÒ/GÔPZÐ[bÔdh×PiÒPiÙØÐ+Ô+¬z¸'Ä5×/IÒ/IÙÙr   c          	      ót   € V ^8„  d   QhR\         R\        R\        \        \         \        3,          ,          /# ©r
   r   r   r   )r   r   r1   r'   )r   s   "r   r   r   ¢   s/   € ÷ "ñ "¬Cð "¼3ð "Ä4ÌÌSÔRUÈXÍÕCWñ "r   c           #      óà  € . pVec   \        VR4      '       dQ    VP                  4       p\        V\        4      '       d*   V Uu. uF  p\        V\        4      '       g   K  VNK  	  pp. pV EFH  p\        VP                  R4      ;'       g    R4      P                  4       pV'       g   K@  VP                  R4      ;'       g    VP                  R4      ;'       g    . p\        V\        4      '       g   . pTP                  RTR	\        VP                  R	4      ;'       g!    VP                  R
R4      P                  4       4      R\        W74      R\        VP                  R4      ;'       g    R4      R\        VP                  R4      ;'       g    R4      R\        VP                  RR4      4      RVP                  RR4      RV Uu. uF  pR\        V4      R	\        V4      RR/NK  	  upR\        VP                  R4      ;'       g    R4      R\        VP                  R4      \        4      '       d   VP                  R4      MR RVP                  R4      RVP                  R4      RVP                  R4      R\        VP                  R4      ;'       g    R4      ;'       g    R /4       EKK  	  V# u upi   \
         d    \        P                  RT RR7        EL~i ; iu upi )NÚget_config_schemaz,Failed to read memory provider schema for %sTr   Úkeyr   rŒ   ÚoptionsÚlabelÚ_Ú rŽ   ÚdescriptionÚplaceholderÚrequiredFr�   r0   ÚurlÚwhenÚminimumÚmaximumÚstepÚ_env_keyÚenv_var)Úhasattrr�   r4   r1   r'   r!   r"   Úwarningr   rD   r   rG   rz   Útitler™   rI   )	r   r   Ú
raw_schemarL   ÚfieldÚfieldsrž   rŒ   Úcs	   &&       r   Ú!_normalize_memory_provider_schemar´   ¢   se  € Ø')€JØÒ¤¨Ð2E× FÒ Fð	^Ø×,Ñ,Ó.ˆCÜ˜#œt×$Ò$Ù14ÓP±¨¼
À5Ì$×8OŸe˜e±�
ÐPð $&€FÜˆÜ�#—'‘'˜%“.×&Ð& BÓ'×-Ñ-Ó/ˆßÙØ—'‘'˜)Ó$×@Ð@¨¯©°	Ó(:×@Ð@¸bˆÜ˜'¤4×(Ò(ØˆGØ�‰Ø�3Ø”S˜Ÿ™ Ó)×JÐJ¨S¯[©[¸¸cÓ-B×-HÑ-HÓ-JÓKØÔ& sÓ4Øœ3˜sŸw™w }Ó5×;Ð;¸Ó<Øœ3˜sŸw™w }Ó5×;Ð;¸Ó<Øœ˜SŸW™W Z°Ó7Ó8Ø�s—w‘w˜y¨"Ó-ØÑW^Ó_ÑW^ÐRS˜¤# a£&¨'´3°q³6¸=È"ÓMÑW^Ñ_Ø”3�s—w‘w˜u“~×+Ð+¨Ó,Ø¤z°#·'±'¸&³/Ä4×'HÒ'H�C—G‘G˜F”OÈdØ�s—w‘w˜yÓ)Ø�s—w‘w˜yÓ)Ø�C—G‘G˜F“OØœ˜CŸG™G IÓ.×4Ð4°"Ó5×=Ð=¸ð
÷ 	ñ ð. €Mùò9 QøÜô 	^Ü�L‰LÐGÈÐX\ˆL×]ð	^üò& `s/   š*K ÁJ<Á!J<Á'K Ç#K+(Ê<K Ë#K(Ë'K(c                óR   € V ^8„  d   QhR\         R\        \        \        3,          /# )r
   rd   r   )r   r'   r   r   )r   s   "r   r   r   Ç   s"   € ÷ 2ñ 2œ$ð 2¤4¬¬S¨¥>ñ 2r   c                 ó
  €  V P                  4       '       d'   \        P                  ! V P                  R R7      4      M/ p\        T\        4      '       d   T# / #   \         d    \
        P                  RT RR7       / u # i ; i)z	utf-8-sig)r~   z"Failed to read JSON config from %sTr   )	rb   ÚjsonÚloadsÚ	read_textr!   r"   r#   r4   r'   )rd   Údatas   & r   Ú_read_json_filer»   Ç   so   € ðØCGÇ;Á;Ç=Â=Œt�zŠz˜$Ÿ.™.°+˜.Ó>Ô?ÐVXˆô ˜d¤D×)Ò)ˆ4Ð1¨rÐ1øô ô Ü�
‰
Ð7¸Èˆ
ÔMØŠ	ðús   ‚A ˜(A Á%BÂBc                óR   € V ^8„  d   QhR\         R\        \         \        3,          /# r	   r&   )r   s   "r   r   r   Ð   s"   € ÷ ñ ´ð ¼¼SÄ#¸X½ñ r   c                óê  € ^ RI HpHp V! 4       p/ pW0 R2,          W0,          R,          3 F  pVP                  \	        V4      4       K  	   V! 4       p\        V\        4      '       g   / pVP                  R4      p\        V\        4      '       df   VP                  V 4      p\        V\        4      '       d   VP                  V4       VP                  R4      p	\        V	\        4      '       d   / V	CVCpVP                  R4      p
V R8X  dO   \        V
\        4      '       d9   V
P                  R4      p\        V\        4      '       d   VP                  V4       V#   \
         d    / p ELi ; i)	zIBest-effort read of existing provider config across legacy/native stores.)Úget_hermes_homeÚload_configz.jsonzconfig.jsonÚmemoryÚprovider_configÚpluginsÚholographiczhermes-memory-store)	Úhermes_cli.configr¾   r¿   Úupdater»   r!   r4   r'   rD   )r   r¾   r¿   Úhermes_homerF   rd   ÚcfgÚ
memory_cfgÚprovider_cfgÚ
legacy_cfgÚplugins_cfgÚholographic_cfgs   &           r   Ú%_read_memory_provider_existing_valuesrÍ   Ð   s8  € ç>á!Ó#€KØ€FØ  u˜~Õ-¨{Õ/AÀMÕ/QÓRˆØ�‰”o dÓ+Ö,ñ SðÙ‹mˆô �cœ4× Ò Øˆà—‘˜Ó"€JÜ�*œd×#Ò#Ø!—~‘~ dÓ+ˆÜ�l¤D×)Ò)Ø�M‰M˜,Ô'Ø—^‘^Ð$5Ó6ˆ
Ü�j¤$×'Ò'Ø-˜
Ð- fÐ-ˆFð —'‘'˜)Ó$€KØˆ}Ô¤¨K¼×!>Ò!>Ø%Ÿ/™/Ð*?Ó@ˆÜ�o¤t×,Ò,Ø�M‰M˜/Ô*Ø€Møô) ô Ø‹ðús   ÁE! Å!E2Å1E2c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r
   Úenv_keyr   )r   r   )r   s   "r   r   r   ò   s"   € ÷ Iñ Iœ¤#�ð I¬3ñ Ir   c                 óÂ   € ^ RI Hp V '       g   R# \        V! 4       P                  V 4      ;'       g*    \        P
                  P                  V 4      ;'       g    R4      # )r   )Úload_envr   )rÄ   rÑ   r   rD   rj   Úenviron)rÏ   rÑ   s   & r   Ú_env_lookuprÓ   ò   s>   € Ý*ßÙÜ‰x‹z�~‰~˜gÓ&×GÐG¬"¯*©*¯.©.¸Ó*A×GÐGÀRÓHÐHr   r�   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r
   r0   r�   r   )r   rI   )r   s   "r   r   r   ù   s!   € ÷ 8ñ 8œð 8¬ð 8¼$ñ 8r   c                ó(  € \        V \        4      '       d   V # V e   V R8X  d   V# \        V \        \        34      '       d   \        V 4      # \	        V 4      P                  4       P                  4       pVR9   d   R# VR9   d   R# \        RV  24      h)Nr   TFzInvalid boolean value: >   Ú1ÚonÚyesÚtrue>   Ú0ÚnoÚoffÚfalse)r4   rI   rv   r–   r   r   r—   Ú
ValueError)r0   r�   r}   s   &$ r   Ú_coerce_boolrß   ù   s…   € Ü�%œ×ÒØˆØ‚}˜ œØˆÜ�%œ#œu˜×&Ò&Ü�E‹{ÐÜˆu‹:×ÑÓ×#Ñ#Ó%€DØÐ)Ô)ÙØÐ*Ô*ÙÜ
Ð.¨u¨gÐ6Ó
7Ð7r   c                óR   € V ^8„  d   QhR\         \        \        3,          R\        /# )r
   r±   r   ©r'   r   r   )r   s   "r   r   r     s"   € ÷ ñ œ$œs¤C˜x�.ð ¬Sñ r   c                 ó`   € V P                  R R4      pV R,          R8X  d   \        VRR7      # V# )r�   r   rŽ   r“   F©r�   )rD   rß   )r±   r�   s   & r   Ú_field_defaulträ     s0   € Ø�i‰i˜	 2Ó&€GØˆV…}˜	Ô!Ü˜G¨UÔ3Ð3Ø€Nr   c                ó€   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          R\        /# ©r
   r±   rº   r   rá   )r   s   "r   r   r     s1   € ÷ ñ œœS¤#˜X�ð ¬d´3¼°8­nð Äñ r   c                 óî  € V R ,          R8X  d   R# VP                  V R,          4      pVR9   d   \        V P                  R4      4      pVR9   d   \        V 4      pV R ,          R8X  dO   V P                  R. 4       Uu0 uF  q3R,          kK  	  pp\        V4      pW$9   d   V# \        \        V 4      4      # V R ,          R8X  d"   \	        V\	        \        V 4      R	R
7      R
7      # \        V4      # u upi )rŽ   r‘   r   rž   r«   r’   rŸ   r0   r“   Frã   ©Nr   )rD   rÓ   rä   r   rß   )r±   rº   r0   ÚoptÚalloweds   &&   r   Ú_field_valuerë     sÚ   € ØˆV…}˜Ô ÙØ�H‰H�U˜5•\Ó"€EØ�
ÔÜ˜EŸI™I jÓ1Ó2ˆØ�
ÔÜ˜uÓ%ˆàˆV…}˜Ô Ø+0¯9©9°YÀÔ+CÓDÑ+C C�w—<�<Ñ+CˆÐDÜ�E“
ˆØÔ(ˆuÐH¬c´.ÀÓ2GÓ.HÐHØˆV…}˜	Ô!Ü˜E¬<¼ÀuÓ8MÐW\Ô+]Ô^Ð^Üˆu‹:Ðùò Es   Á>C2c                ó€   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          R\        /# ræ   rƒ   )r   s   "r   r   r   !  s1   € ÷ 7ñ 7œœc¤3˜h�ð 7¬t´C¼°H­~ð 7Ä$ñ 7r   c                 óÀ   € V R ,          R8X  dD   \        \        V P                  R4      4      ;'       g    VP                  V R,          4      4      # \        W4      R9  # )rŽ   r‘   r«   rž   rè   )rI   rÓ   rD   rë   )r±   rº   s   &&r   Ú_field_is_setrî   !  sL   € ØˆV…}˜Ô Ü”K §	¡	¨*Ó 5Ó6×PÐP¸$¿(¹(À5ÈÅ<Ó:PÓQÐQÜ˜Ó$¨JÑ6Ð6r   c                óæ   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          R\        \         \        \         \        \        3,          3,          ,          R\        /# )r
   r±   rº   Úfields_by_keyr   )r'   r   r   r   rI   )r   s   "r   r   r   '  sX   € ÷ ñ Ü””S��>ðÜ!%¤c¬3 h¥ðÜ@HÌÌcÔSWÔX[Ô]`ÐX`ÕSaÐNaÕIbÕ@cðä	ñr   c           	      ób  € V P                  R 4      p\        V\        4      '       d	   V'       g   R# VP                  4        Fi  w  rET;'       g    / P                  \	        V4      4      ;'       g    R\	        V4      RRRRRR/p\	        \        Wa4      4      \	        V4      8w  g   Kh   R	# 	  R# )
r§   Trž   rŽ   r}   r�   r   r«   NF)rD   r4   r'   Úitemsr   rë   )r±   rº   rð   r§   Údep_keyÚexpectedÚ	dep_fields   &&&    r   Ú_field_visiblerö   '  s˜   € ð �9‰9�VÓ€DÜ�dœD×!Ò!¯ÙØ!ŸZ™Zž\ÑˆØ"×(Ð( b×-Ñ-¬c°'«lÓ;÷ 
ð 
Ø”3�w“< ¨°¸BÀ
ÈDð@
ˆ	ô Œ|˜IÓ,Ó-´°X³Ö>Úñ *ñ r   c                ó<   € V ^8„  d   QhR\         R\        R\        /# r›   )r   r   rI   )r   s   "r   r   r   6  s!   € ÷ ñ ¬ð ¼ð Äñ r   c                 óæ   aa€ \        V 4      o\        W4      pV Uu/ uF  q3R ,          VbK  	  upo\        ;QJ d     VV3R lV 4       F  '       d   K   R# 	  R# ! VV3R lV 4       4      # u upi )rž   c              3   ó˜   <"  € T F?  pVP                  R 4      '       g   K  \        VSS4      '       g   K1  \        VS4      x € KA  	  R# 5i)r¥   N)rD   rö   rî   )rc   r±   rº   rð   s   & €€r   re   Ú1_memory_provider_is_configured.<locals>.<genexpr>:  sA   øé € ð áˆEØ�9‰9�Z× ô 	#ä%3°E¸4À×%Oô 	#Œ�e˜T×"Ð"Ûùs   ƒA
¡A
¶A
FT)rÍ   r´   Úall)r   r   r²   r±   rº   rð   s   &&  @@r   Ú_memory_provider_is_configuredrü   6  sr   ù€ Ü0°Ó6€DÜ.¨tÓ>€FÙ6<Ó=±f¨U˜5•\ 5Ò(±fÑ=€Mß‹3õ áó�3Œ3ð Š3ð ˆ3õ áóó ð ùò >s   �A.c          
      ó˜   € V ^8„  d   QhR\         \        \        3,          R\         \        \        3,          R\        R\        R\        /# )r
   ÚrowrW   Ú
configuredÚschema_fieldsr   )r'   r   r   rI   r1   )r   s   "r   r   r   A  sB   € ÷ :ñ :¤¤c¬3 h¥ð :¼¼SÄ#¸X½ð :ÔTXð :Ôimð :Ôruñ :r   c                 óÀ   € V R ,          '       d   R # VP                  RR4      '       g   R# V'       d   V R,          '       g   V'       d   R# V R,          '       d   R# R# )ÚmissingrR   TÚunavailableÚ	availableÚneeds_configÚready)rD   )rþ   rW   rÿ   r   s   &&&&r   Ú_memory_provider_statusr  A  sJ   € Ø
ˆ9‡~„~ÙØ�9‰9Ð-¨t×4Ò4Ùß˜c +×.Ô.·=ÙØ˜+×&Ô&ˆ7Ð9¨MÐ9r   c                ó\   € V ^8„  d   QhR\         \        \        \        3,          ,          /# r[   )r1   r'   r   r   )r   s   "r   r   r   K  s    € ÷ *ñ *¬D´´c¼3°hµÕ,@ñ *r   c                  ó  € ^ RI Hp  / p ^ RIHp V! 4        FA  w  r4pR\	        V4      R\	        T;'       g    R4      R\        V4      RR/V\	        V4      &   KC  	  V ! 4       P                  R
4      p\        V\        4      '       d   \        VP                  R4      4      MRpV'       d   Wq9  d   RVRRRRRR/W&   . p\        V4       F“  pW,          p	V	R,          p
V
'       d   RM
\        V4      p\        V4      pV
'       d   RM
\!        W;4      pV
'       d   . M
\#        W;4      pVP%                  RVRV	R,          RV	R,          RVR\'        WœWÞ4      RV/4       K•  	  V#   \         d    \        P                  R	4        EL+i ; i)r   )r¿   )Údiscover_memory_providersr   r£   r   r  r  Fz discover_memory_providers failedrÀ   r   z"Configured provider was not found.TNrÿ   ÚstatusrW   )rÄ   r¿   r    r
  r   rI   r!   r"   Ú	exceptionrD   r4   r'   r   Úsortedr$   rY   rü   r´   rG   r  )r¿   Ú
discoveredr
  r   r£   r  ÚmemÚactiveÚ	providersrþ   r  r   rW   rÿ   r   s                  r   Ú"_discover_memory_provider_statusesr  K  s…  € Ý-Ø,.€Jð;Ý<á,EÖ,GÑ(ˆD˜yàœ˜D›	Øœs ;×#4Ð#4°"Ó5ØœT )›_Ø˜5ð	%ˆJ”s˜4“yÓ!ñ -Hñ ‹-×
Ñ
˜HÓ
%€CÜEOÐPSÔUY×EZÒEZÔ,¨S¯W©W°ZÓ-@ÔAÐ`b€Fß�&Ô*à�FØÐ?Ø˜Ø�tð	
ˆ
Ñð ')€IÜ�zÖ"ˆØÕˆØ�i•.ˆß"‘4Ô(=¸dÓ(CˆÜ+¨DÓ1ˆß%‘UÔ+IÈ$Ó+Yˆ
ß%™Ô+LÈTÓ+\ˆØ×ÑØ�DØ˜3˜}Õ-Ø˜˜[Õ)Ø˜*ØÔ-¨c¸*ÓTØ�Uð
ö 	ñ #ð Ðøô; ô ;Ü�‰Ð9×:ð;ús   ŠAE$ Å$ FÆFc                ó(   € V ^8„  d   QhR\         RR/# )r
   r   r   Nr   )r   s   "r   r   r   x  s   € ÷ 
ñ 
¬ð 
°ñ 
r   c           
      óô   a € S '       g   R # \        V 3R l\        4        4       R 4      pVf   \        RRS  R2R7      hVR,          R8w  d,   \        RRS  R	VR,          P                  R
R4       R2R7      hR # )Nc              3   óF   <"  € T F  qR ,          S8X  g   K  Vx € K  	  R# 5i)r   NrS   )rc   Úrr   s   & €r   re   Ú1_require_memory_provider_ready.<locals>.<genexpr>{  s   øé € ÐUÑ?�aÀVÅ9ÐPTÑCT—’Ó?ùs   ƒ!—
!i�  zUnknown memory provider 'z'.)Ústatus_codeÚdetailr  r  zMemory provider 'z' is not ready (r¡   r¢   z'). Configure it in the dashboard first.)Únextr  r   rz   )r   rþ   s   f r   Ú_require_memory_provider_readyr  x  s‹   ø€ ßÙÜ
ÔUÔ=Ô?ÓUÐW[Ó
\€CØ
‚{Ü¨Ð6OÐPTÈvÐUWÐ4XÔYÐYØ
ˆ8…}˜ÔÜØà# D 6ð *Ø˜•M×)Ñ)¨#¨sÓ3Ð4Ð4[ð]ô
ð 	
ñ  r   r3   )(Ú__doc__Úloggingr·   rj   r…   rw   Úfastapir   Úpathlibr   Útypingr   r   r   r   Ú	getLoggerr"   r   r$   r.   r6   rO   rY   rp   r�   rV   r™   r´   r»   rÍ   rÓ   rß   rä   rë   rî   rö   rü   r  r  r  rS   r   r   Ú<module>r"     sÊ   ðñó Û Û 	Û Û Ý !Ý ß ,Ó ,ð ×ÒÐ0Ó1€õAõõõFõõ0õ$
ðØ16ðØGJ÷õ*õ(õ""õJ2õõDIð8°÷ 8õõõ$7÷õõ:õ*÷Z
r   