fix: Add deleting archival and recall memory associated with agent being deleted #1632
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please describe the purpose of this pull request.
The current deletion of the agent leaves the archival memories and recall memories associated with that agent in the database. This is very efficient and for some other use cases (like mine where I try to use archival memory as a public store of memories) it will call cause issues. I don't see the value in leaving these memories.
How to test
Create new agent and force agent to store information to archival memory (e.g., "Store my name to archival memory"). Review the database and see that there are archival memories associated with the agent. Recall memories should also be present. From CLI call 'memgpt delete agent <agent_name>'. Review the database again and verify there are no more archival memories or recall memories associated with the agent.
Have you tested this PR?
Yes.
Is your PR over 500 lines of code?
No
Additional context
I don't know if this works with the server API and such. There seems to be lots of delete_agent functions and if they all ultimately rely on the metadata.py delete_agent function, this should work for all.