Class: Llmemory::LongTerm::Episodic::Storages::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/llmemory/long_term/episodic/storages/base.rb

Overview

Storage contract for episodic memory. Implementations persist Episode hashes and expose recency-ordered listing plus keyword search so the retrieval Engine can rank episodes alongside other memory types.

Direct Known Subclasses

FileStorage, MemoryStorage

Instance Method Summary collapse

Instance Method Details

#count_episodes(user_id) ⇒ Object

Raises:

  • (NotImplementedError)


28
29
30
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 28

def count_episodes(user_id)
  raise NotImplementedError, "#{self.class}#count_episodes must be implemented"
end

#delete_episodes(user_id, ids) ⇒ Object

Deletes episodes by id. Returns the number actually removed.

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 33

def delete_episodes(user_id, ids)
  raise NotImplementedError, "#{self.class}#delete_episodes must be implemented"
end

#get_episode(user_id, id) ⇒ Object

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 15

def get_episode(user_id, id)
  raise NotImplementedError, "#{self.class}#get_episode must be implemented"
end

#list_episodes(user_id, limit: nil) ⇒ Object

Newest first. Optionally capped by limit.

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 20

def list_episodes(user_id, limit: nil)
  raise NotImplementedError, "#{self.class}#list_episodes must be implemented"
end

#list_usersObject

Raises:

  • (NotImplementedError)


37
38
39
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 37

def list_users
  raise NotImplementedError, "#{self.class}#list_users must be implemented"
end

#save_episode(user_id, episode) ⇒ Object

Raises:

  • (NotImplementedError)


11
12
13
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 11

def save_episode(user_id, episode)
  raise NotImplementedError, "#{self.class}#save_episode must be implemented"
end

#search_episodes(user_id, query) ⇒ Object

Raises:

  • (NotImplementedError)


24
25
26
# File 'lib/llmemory/long_term/episodic/storages/base.rb', line 24

def search_episodes(user_id, query)
  raise NotImplementedError, "#{self.class}#search_episodes must be implemented"
end