Memory Module#

class isek.memory.memory.Memory(model: ~typing.Any | None = None, memories: ~typing.Dict[str, ~typing.Dict[str, ~isek.memory.memory.UserMemory]] = <factory>, summaries: ~typing.Dict[str, ~typing.Dict[str, ~isek.memory.memory.SessionSummary]] = <factory>, runs: ~typing.Dict[str, ~typing.List[~typing.Any]] = <factory>, debug_mode: bool = False, version: int = 2)[source]#

Bases: object

Ultra-simplified Memory class with minimal features.

add_run(session_id: str, run: Any) None[source]#

Add a run to memory.

add_session_summary(session_id: str, summary: SessionSummary, user_id: str = 'default') str[source]#

Add a session summary.

add_user_memory(memory: UserMemory, user_id: str = 'default') str[source]#

Add a user memory.

clear() None[source]#

Clear all memory.

debug_mode: bool = False#
delete_user_memory(memory_id: str, user_id: str = 'default') bool[source]#

Delete a user memory.

get_runs(session_id: str) List[Any][source]#

Get all runs for a session.

get_session_summary(session_id: str, user_id: str = 'default') SessionSummary | None[source]#

Get a session summary.

get_user_memories(user_id: str = 'default') List[UserMemory][source]#

Get all memories for a user.

get_user_memory(memory_id: str, user_id: str = 'default') UserMemory | None[source]#

Get a specific memory by ID.

memories: Dict[str, Dict[str, UserMemory]]#
model: Any | None = None#
runs: Dict[str, List[Any]]#
summaries: Dict[str, Dict[str, SessionSummary]]#
to_dict() Dict[str, Any][source]#

Convert memory to dictionary.

version: int = 2#
class isek.memory.memory.SessionSummary(*, summary: str, topics: List[str] | None = None, last_updated: datetime | None = None)[source]#

Bases: BaseModel

Simple session summary model.

last_updated: datetime | None#
model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

summary: str#
to_dict() Dict[str, Any][source]#
topics: List[str] | None#
class isek.memory.memory.UserMemory(*, memory_id: str | None = None, memory: str, topics: List[str] | None = None, last_updated: datetime | None = None)[source]#

Bases: BaseModel

Simple user memory model.

last_updated: datetime | None#
memory: str#
memory_id: str | None#
model_config: ClassVar[ConfigDict] = {}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

to_dict() Dict[str, Any][source]#
topics: List[str] | None#