diff options
Diffstat (limited to 'storage/memory.go')
| -rw-r--r-- | storage/memory.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/storage/memory.go b/storage/memory.go index 406182f..71e3566 100644 --- a/storage/memory.go +++ b/storage/memory.go @@ -6,6 +6,7 @@ type Memories interface { Memorise(m *models.Memory) (*models.Memory, error) Recall(agent, topic string) (string, error) RecallTopics(agent string) ([]string, error) + Forget(agent, topic string) error } func (p ProviderSQL) Memorise(m *models.Memory) (*models.Memory, error) { @@ -52,3 +53,13 @@ func (p ProviderSQL) RecallTopics(agent string) ([]string, error) { } return topics, nil } + +func (p ProviderSQL) Forget(agent, topic string) error { + query := "DELETE FROM memories WHERE agent = $1 AND topic = $2" + _, err := p.db.Exec(query, agent, topic) + if err != nil { + p.logger.Error("failed to delete memory", "query", query, "error", err) + return err + } + return nil +} |
