+
    iHàj   ã                  óB   € R t ^ RIHt ^ RIHt R R ltRR/R R lltR# )	a>  Release a closed conversation's entries from the per-message token-estimate memo.

``agent.model_metadata._MSG_TOKENS_CACHE`` pins every string it fingerprints (the pin keeps the ``id()``
key sound), so a long-lived process kept each closed session's message bodies resident until 4096 newer
messages pushed them out.
)Úannotations)ÚAnyc               ó    € V ^8„  d   QhRRRR/# )é   Úmessagesr   Úreturnzset[int]© )Úformats   "ÚD/home/ubuntu/.hermes/hermes-agent/agent/model_metadata_token_memo.pyÚ__annotate__r      s   € ÷ ñ ˜sð  xñ ó    c                ó°  € \        4       pV .pV'       dÁ   VP                  4       p\        V4      \        J d"   VP	                  VP                  4       4       KL  \        V4      \        J g   \        V4      \        J d   VP	                  V4       K…  \        V4      \        J g   Kš  \        V4      ^@8”  g   K¬  VP                  \        V4      4       KÈ  V# )é@   )ÚsetÚpopÚtypeÚdictÚextendÚvaluesÚlistÚtupleÚstrÚlenÚaddÚid)r   ÚidsÚstackÚvalues   &   r
   Ú_long_string_idsr      sŠ   € Ü“E€CØˆJ€Eß
Ø—	‘	“ˆÜ�‹;œ$ÓØ�L‰L˜Ÿ™›Ö(Ü�%‹[œDÓ ¤D¨£K´5Ó$8Ø�L‰L˜ÖÜ�%‹[œCÕ¤C¨£J°¦OØ�G‰G”B�u“IÖØ€Jr   ÚkeepNc               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r   r   Úintr   )r	   s   "r
   r   r      s!   € ÷ ñ ¨ð °cð ÀSñ r   c          
     ó¾  a€ ^ RI Hp \        V 4      oS'       d   Ve   S\        V4      ,          oS'       g   ^ # \        VP	                  4       4       UUUUu. uFM  w  pw  rEp\
        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       g   KK  VNKO  	  pppppV F  pVP                  VR4       K  	  \        V4      # u uppppi )zÃEvict memo entries pinning any long string value of ``messages`` that ``keep`` does not also hold;
return how many.

Eviction never changes an estimate: a later lookup recomputes the same value.
)Ú_MSG_TOKENS_CACHENc              3  ó@   <"  € T F  p\        V4      S9   x € K  	  R # 5i)N)r   )Ú.0ÚpinÚowneds   & €r
   Ú	<genexpr>Ú,forget_message_token_memo.<locals>.<genexpr>)   s   øé € Ð5±¨”B�s“G˜uÖ$³ùs   ƒTF)Úagent.model_metadatar#   r   r   ÚitemsÚanyr   r   )	r   r   r#   ÚkeyÚpinsÚ_textÚ_imagesÚstaler'   s	   &$      @r
   Úforget_message_token_memor2      s¯   ø€ õ 7ä˜XÓ&€Eß�Ò!ØÔ! $Ó'Õ'ˆßÙÜ48Ð9J×9PÑ9PÓ9RÔ4Sö 7Ñ4SÑ0�SÑ0˜4¨ß“Ô5±Ó5——’Ô5±Ó5×5÷ ˆSÑ4S€Eó 7ãˆØ×Ñ˜c 4Ö(ñ äˆu‹:Ðùõ	7s   Á*C
ÂC
Â&C
)Ú__doc__Ú
__future__r   Útypingr   r   r2   r   r   r
   Ú<module>r6      s(   ðñõ #å õð¸D÷ ñ r   