§
    %ÈjX  ã                  óž   — d Z ddlmZ ddlmZmZ erddlmZ  G d„ d¦  «        Z G d„ d	¦  «        Z	 G d
„ d¦  «        Z
 G d„ d¦  «        ZdS )z½
API namespace classes for organizing client methods.

These classes provide organized access to different parts of the Hindsight API
while ensuring the daemon is running before each call.
é    )Úannotations)ÚTYPE_CHECKINGÚAnyé   )ÚHindsightEmbeddedc                  óB   — e Zd ZdZdd„Z	 	 	 ddd„Zdd„Zdd„Zdd„ZdS )ÚBanksAPIz&Namespace for bank-related operations.Úembeddedú'HindsightEmbedded'c                ó   — || _         d S ©N©Ú	_embedded©Úselfr
   s     ú`/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/hindsight/api_namespaces.pyÚ__init__zBanksAPI.__init__   ó   € Ø!ˆŒˆˆó    NÚbank_idÚstrÚnameú
str | NoneÚmissionÚdispositionúdict[str, Any] | Nonec                óz   — | j                              ¦   «          | j         j                             ||||¬¦  «        S )zCreate a new bank.)r   r   r   r   )r   Ú_ensure_startedÚ_clientÚcreate_bank)r   r   r   r   r   s        r   ÚcreatezBanksAPI.create   sF   € ð 	Œ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×1Ò1ØØØØ#ð	 2ñ 
ô 
ð 	
r   c                ót   — | j                              ¦   «          | j         j                             |¬¦  «        S )zDelete a bank.)r   )r   r   r   Údelete_bank)r   r   s     r   ÚdeletezBanksAPI.delete&   s2   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×1Ò1¸'Ð1ÑBÔBÐBr   c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )z%Set or update the mission for a bank.)r   r   )r   r   r   Úset_mission)r   r   r   s      r   r&   zBanksAPI.set_mission+   s4   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×1Ò1¸'È7Ð1ÑSÔSÐSr   údict[str, Any]c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )z)Set or update the disposition for a bank.)r   r   )r   r   r   Úset_disposition)r   r   r   s      r   r)   zBanksAPI.set_disposition0   s5   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×5Ò5¸gÐS^Ð5Ñ_Ô_Ð_r   ©r
   r   ©NNN)r   r   r   r   r   r   r   r   )r   r   )r   r   r   r   )r   r   r   r'   )	Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r!   r$   r&   r)   © r   r   r	   r	      sœ   € € € € € Ø0Ð0ð"ð "ð "ð "ð  Ø"Ø-1ð
ð 
ð 
ð 
ð 
ð Cð Cð Cð Cð
Tð Tð Tð Tð
`ð `ð `ð `ð `ð `r   r	   c                  óX   — e Zd ZdZdd„Z	 ddd„Zddd„Zdd„Zdd„Z	 	 	 ddd„Z	dd„Z
dS )ÚMentalModelsAPIz&Namespace for mental model operations.r
   r   c                ó   — || _         d S r   r   r   s     r   r   zMentalModelsAPI.__init__9   r   r   Nr   r   r   ÚcontentÚtagsúlist[str] | Nonec                óz   — | j                              ¦   «          | j         j                             ||||¬¦  «        S )zCreate a new mental model.©r   r   r4   r5   )r   r   r   Úcreate_mental_model©r   r   r   r4   r5   s        r   r!   zMentalModelsAPI.create<   sF   € ð 	Œ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×9Ò9ØØØØð	 :ñ 
ô 
ð 	
r   c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )z"List all mental models for a bank.©r   r5   )r   r   r   Úlist_mental_models©r   r   r5   s      r   ÚlistzMentalModelsAPI.listL   s4   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×8Ò8ÀÈtÐ8ÑTÔTÐTr   Úmental_model_idc                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )zGet a specific mental model.©r   r@   )r   r   r   Úget_mental_model©r   r   r@   s      r   ÚgetzMentalModelsAPI.getQ   s5   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×6Ò6¸wÐXgÐ6ÑhÔhÐhr   c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )zRefresh a mental model.rB   )r   r   r   Úrefresh_mental_modelrD   s      r   ÚrefreshzMentalModelsAPI.refreshV   s5   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×:Ò:À7Ð\kÐ:ÑlÔlÐlr   r   c                ó|   — | j                              ¦   «          | j         j                             |||||¬¦  «        S )zUpdate a mental model.)r   r@   r   r4   r5   )r   r   r   Úupdate_mental_model)r   r   r@   r   r4   r5   s         r   ÚupdatezMentalModelsAPI.update[   sI   € ð 	Œ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×9Ò9ØØ+ØØØð :ñ 
ô 
ð 	
r   c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )zDelete a mental model.rB   )r   r   r   Údelete_mental_modelrD   s      r   r$   zMentalModelsAPI.deletem   s5   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×9Ò9À'Ð[jÐ9ÑkÔkÐkr   r*   r   ©r   r   r   r   r4   r   r5   r6   ©r   r   r5   r6   )r   r   r@   r   r+   )
r   r   r@   r   r   r   r4   r   r5   r6   )r,   r-   r.   r/   r   r!   r?   rE   rH   rK   r$   r0   r   r   r2   r2   6   sØ   € € € € € Ø0Ð0ð"ð "ð "ð "ð "&ð
ð 
ð 
ð 
ð 
ð Uð Uð Uð Uð Uð
ið ið ið ið
mð mð mð mð  Ø"Ø!%ð
ð 
ð 
ð 
ð 
ð$lð lð lð lð lð lr   r2   c                  óP   — e Zd ZdZdd„Z	 ddd„Zddd„Zdd„Z	 	 	 ddd„Zdd„Z	dS )ÚDirectivesAPIz#Namespace for directive operations.r
   r   c                ó   — || _         d S r   r   r   s     r   r   zDirectivesAPI.__init__v   r   r   Nr   r   r   r4   r5   r6   c                óz   — | j                              ¦   «          | j         j                             ||||¬¦  «        S )zCreate a new directive.r8   )r   r   r   Úcreate_directiver:   s        r   r!   zDirectivesAPI.createy   sF   € ð 	Œ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×6Ò6ØØØØð	 7ñ 
ô 
ð 	
r   c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )zList all directives for a bank.r<   )r   r   r   Úlist_directivesr>   s      r   r?   zDirectivesAPI.list‰   s4   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×5Ò5¸gÈDÐ5ÑQÔQÐQr   Údirective_idc                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )zGet a specific directive.©r   rW   )r   r   r   Úget_directive©r   r   rW   s      r   rE   zDirectivesAPI.getŽ   s5   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×3Ò3¸GÐR^Ð3Ñ_Ô_Ð_r   r   c                ó|   — | j                              ¦   «          | j         j                             |||||¬¦  «        S )zUpdate a directive.)r   rW   r   r4   r5   )r   r   r   Úupdate_directive)r   r   rW   r   r4   r5   s         r   rK   zDirectivesAPI.update“   sI   € ð 	Œ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×6Ò6ØØ%ØØØð 7ñ 
ô 
ð 	
r   c                óv   — | j                              ¦   «          | j         j                             ||¬¦  «        S )zDelete a directive.rY   )r   r   r   Údelete_directiver[   s      r   r$   zDirectivesAPI.delete¥   s5   € àŒ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×6Ò6¸wÐUaÐ6ÑbÔbÐbr   r*   r   rN   rO   )r   r   rW   r   r+   )
r   r   rW   r   r   r   r4   r   r5   r6   )
r,   r-   r.   r/   r   r!   r?   rE   rK   r$   r0   r   r   rQ   rQ   s   sÀ   € € € € € Ø-Ð-ð"ð "ð "ð "ð "&ð
ð 
ð 
ð 
ð 
ð Rð Rð Rð Rð Rð
`ð `ð `ð `ð  Ø"Ø!%ð
ð 
ð 
ð 
ð 
ð$cð cð cð cð cð cr   rQ   c                  ó,   — e Zd ZdZdd„Z	 	 	 	 ddd„ZdS )ÚMemoriesAPIz Namespace for memory operations.r
   r   c                ó   — || _         d S r   r   r   s     r   r   zMemoriesAPI.__init__®   r   r   Néd   r   r   r   Útyper   Úsearch_queryÚlimitÚintÚoffsetc                ó|   — | j                              ¦   «          | j         j                             |||||¬¦  «        S )zList memories in a bank.)r   rd   re   rf   rh   )r   r   r   Úlist_memories)r   r   rd   re   rf   rh   s         r   r?   zMemoriesAPI.list±   sI   € ð 	Œ×&Ò&Ñ(Ô(Ð(ØŒ~Ô%×3Ò3ØØØ%ØØð 4ñ 
ô 
ð 	
r   r*   )NNrc   r   )
r   r   rd   r   re   r   rf   rg   rh   rg   )r,   r-   r.   r/   r   r?   r0   r   r   ra   ra   «   sU   € € € € € Ø*Ð*ð"ð "ð "ð "ð  Ø#'ØØð
ð 
ð 
ð 
ð 
ð 
ð 
r   ra   N)r/   Ú
__future__r   Útypingr   r   r
   r   r	   r2   rQ   ra   r0   r   r   ú<module>rm      s  ððð ð #Ð "Ð "Ð "Ð "Ð "à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %àð ,Ø+Ð+Ð+Ð+Ð+Ð+ð#`ð #`ð #`ð #`ð #`ñ #`ô #`ð #`ðL:lð :lð :lð :lð :lñ :lô :lð :lðz5cð 5cð 5cð 5cð 5cñ 5cô 5cð 5cðp
ð 
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
r   