403Webshell
Server IP : 157.230.181.24  /  Your IP : 216.73.217.11
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux conductive 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64
User :  ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /proc/self/root/opt/aim-bots/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/root/opt/aim-bots/__pycache__/buddy_memory.cpython-312.pyc
�

�2Yj���dZddlmZddlZddlZddlZddlZddlZddlmZm	Z	ddl
mZddlm
Z
d
d�ZGd�d	�Zy)u>Persistent buddy memory — facts learned across AIM sessions.�)�annotationsN)�datetime�timezone)�SequenceMatcher)�Pathc��tjtj�j	d��j�S)Nr)�microsecond)r�nowr�utc�replace�	isoformat���/opt/aim-bots/buddy_memory.py�_now_isors,���<�<����%�-�-�!�-�<�F�F�H�Hrc��eZdZdZ		d							dd�Zdd�Zdd�Zdd�Zdd�Zdd�Z	e
dd��Zddd	�Zdd
�Z
										dd�Z										dd�Zy
)�BuddyMemoryStorezDPer-buddy JSON memory that survives session resets and bot restarts.c��||_|dz|_|jjd��||_||_tjd|j���|_tj�|_i|_y)N�memoriesT)�exist_okzmemory.)
�persona_dir�mem_dir�mkdir�friend_name�	max_facts�logging�	getLogger�name�log�	threading�Lock�_lock�_cache)�selfrrrs    r�__init__zBuddyMemoryStore.__init__sq��'���"�Z�/��������D��)�&���"����$�$�w�{�/?�/?�.@�%A�B����^�^�%��
�')��rc�x�tjdd|j��xsd}|j|�d�zS)Nz[^\w.-]��buddyz.json)�re�sub�lowerr)r$r(�safes   r�_pathzBuddyMemoryStore._path%s4���v�v�j�"�e�k�k�m�4�?����|�|���e�n�,�,rc�j�|j�}|j5||jvr|j|cddd�S|j|�}|j	�r$tj|j��}n|gdd�}||j|<|cddd�S#1swYyxYw)N)r(�facts�
updated_at)r+r"r#r-�exists�json�loads�	read_text)r$r(�key�path�datas     r�loadzBuddyMemoryStore.load)s����k�k�m��
�Z�Z�		��d�k�k�!��{�{�3�'�		�		��:�:�e�$�D��{�{�}��z�z�$�.�.�"2�3��!&��4�H��#�D�K�K����		�		�		�s�B)�AB)�)B2c���|j�}t�|d<|j|�}|jt	j
|d��dz�||j|<y)Nr0�)�indent�
)r+rr-�
write_textr2�dumpsr#)r$r(r7r5r6s     r�_savezBuddyMemoryStore._save6sQ���k�k�m��%�Z��\���z�z�%� ������
�
�4��2�T�9�:�����C�rc�V�t|j|�jdg��S)Nr/)�listr8�get)r$r(s  rr/zBuddyMemoryStore.facts=s#���D�I�I�e�$�(�(��"�5�6�6rc��|j|�}|sy|dd}g}|D]9}|jdd�j�}|s�&|jd|����;|syd|j�d�dj|�zdzS)	Ni���textr'z- zLONG-TERM MEMORY about u/ (from past AIM convos — days or weeks ago):
r<zi

Use this naturally when relevant. Don't recite the list. Don't say you 'remember' or 'stored' anything.)r/rB�strip�appendr�join)r$r(�items�recent�lines�itemrDs       r�format_for_promptz"BuddyMemoryStore.format_for_prompt@s����
�
�5�!�����s�t������	*�D��8�8�F�B�'�-�-�/�D�����r�$��[�)�	*���%�d�&6�&6�%7�7g�h��i�i���
�{�
|�	
rc��td|j�j�|j�j��j�dk\S)Ng=
ףp=�?)rr+rE�ratio)�a�bs  r�_similarzBuddyMemoryStore._similarRs:���t�Q�W�W�Y�_�_�%6����	���8I�J�P�P�R�VZ�Z�Zrc���	�|D�cgc]2}|s�t|j��dk\s�#|j���4}}|sgS�j5�j|�}t	|jdg��}g}|D]��	t
��	fd�|D��rm|D�cgc]L}�j�	|jdd��r&i|��	t�|xs|jdd�d��n|��N}}�	|vr|j�	���|j�	t�|r|ddndd��|j�	���t|��jkDr|�jd}||d<�j||�ddd�r*�jjd	t|�||dd
�|Scc}wcc}w#1swY�AxYw)N�r/c3�b�K�|]&}�j�|jdd�����(y�w)rDr'N)rQrB)�.0�fr$rDs  ��r�	<genexpr>z-BuddyMemoryStore.add_facts.<locals>.<genexpr>_s'�����M�!�t�}�}�T�1�5�5���+<�=�M�s�,/rDr'�source)rD�
learned_atrX��zlearned %d fact(s) for %s: %s�)�lenrEr"r8rArB�anyrQrrFrr?r�info)
r$r(�	new_factsrXrV�cleanedr7r/�addedrDs
`        @r�	add_factszBuddyMemoryStore.add_factsVs����&/�M��1��Q�W�W�Y��1�9L�1�7�7�9�M��M���I�
�Z�Z�	$��9�9�U�#�D� $�T�X�X�g�r�%:� ;�E�!�E��
#���M�u�M�M�
"'�	�� �=�=��q�u�u�V�R�/@�A�o�1�n�d�(�*�PV�Pm�Z[�Z_�Z_�`h�jl�Zm�n����E���5�(����T�*����� $�&.�j�28�&��#�,�b������T�"�%
#�&�5�z�D�N�N�*��t�~�~�o�/�0��!�D��M��J�J�u�d�#�5	$�6��H�H�M�M�9�3�u�:�u�e�TV�UV�i�X����AN���
	$�	$�s0�F2�F2�F2�A
F<�AF7�.BF<�7F<�<Gc���|j�}t|�dkry|j�}tjd|�rytj
d|�ryt|j
��dk\S)N�FzV^(hey|sup|yo|hi|hello|lol|haha|hahah|rofl|ok|k|kk|bye|later|ttyl|bai|nm|nothing)\.?!?$z�\b(i|im|i'm|i've|my|me|we|our|got|have|going|work|job|school|girl|guy|show|concert|tomorrow|tonight|weekend|next week|today|dating|broke|mom|dad|parent|moving|car|interview|sick|tired|stressed|excited|nervous|crush)\bT�
)rEr\r+r)�match�search�split)r$�message�cleanr+s    r�should_try_learnz!BuddyMemoryStore.should_try_learnyso���
�
����u�:��?�����
��
�8�8�e��
��
�9�9�
Q�
�	
���5�;�;�=�!�R�'�'rc��|j|�sy	|j|j|||�}|r|j|||dd��yy#t$r'}|j
j
d||�Yd}~yd}~wwxYw)NrZ)rXzmemory learn failed for %s: %s)rk�extract_memory_factsrrb�	Exceptionr�warning)r$�llmr(�user_msg�	bot_reply�recent_contextr/�excs        r�learn_from_exchangez$BuddyMemoryStore.learn_from_exchange�s����$�$�X�.��
	K��,�,�� � ����	�E�����u�e�H�T�c�N��C����	K��H�H���=�u�c�J�J��	K�s�7A
�
	A=�A8�8A=c�v�tj|j|||||fdd|����j�y)NTzmemory-)�target�args�daemonr)r �Threadru�start)r$rpr(rqrrrss      r�learn_asynczBuddyMemoryStore.learn_async�s?��	����+�+��u�h�	�>�B���5�'�"�		
�
�%�'rN)�Caleb�2)rrr�strr�int�return�None)r(rr�r)r(rr��dict)r(rr7r�r�r�)r(rr�z
list[dict])r(rr�z
str | None)rOrrPrr��bool)r')r(rr_�	list[str]rXrr�r�)rirr�r�)
r(rrqrrrrrsrr�r�)�__name__�
__module__�__qualname__�__doc__r%r-r8r?r/rL�staticmethodrQrbrkrur|rrrrrs���N�
#��	
*��
*��
*��	
*�

�
*�-�� �7�
�$�[��[�!�F(�&K��K��	K�
�K��
K�
�K�,
��
��	
�
�
��

�
�
rr)r�r)r��
__future__rr2rr)r �timerr�difflibr�pathlibrrrrrr�<module>r�s5��D�"���	���'�#��I�\�\r

Youez - 2016 - github.com/yon3zu
LinuXploit