Delete all textual memories from a MemCube for user. Args: mem_cube_id (str): The identifier of the MemCube to delete the memories from.
(self, mem_cube_id: str | None = None, user_id: str | None = None)
| 1061 | logger.info(f"MemCube {mem_cube_id} deleted memory {memory_id}") |
| 1062 | |
| 1063 | def delete_all(self, mem_cube_id: str | None = None, user_id: str | None = None) -> None: |
| 1064 | """ |
| 1065 | Delete all textual memories from a MemCube for user. |
| 1066 | |
| 1067 | Args: |
| 1068 | mem_cube_id (str): The identifier of the MemCube to delete the memories from. |
| 1069 | """ |
| 1070 | assert mem_cube_id in self.mem_cubes, ( |
| 1071 | f"MemCube with ID {mem_cube_id} does not exist. please regiester" |
| 1072 | ) |
| 1073 | target_user_id = user_id if user_id is not None else self.user_id |
| 1074 | # Validate user has access to this cube |
| 1075 | self._validate_cube_access(target_user_id, mem_cube_id) |
| 1076 | if mem_cube_id is None: |
| 1077 | # Try to find a default cube for the user |
| 1078 | accessible_cubes = self.user_manager.get_user_cubes(target_user_id) |
| 1079 | if not accessible_cubes: |
| 1080 | raise ValueError( |
| 1081 | f"No accessible cubes found for user '{target_user_id}'. Please register a cube first." |
| 1082 | ) |
| 1083 | mem_cube_id = accessible_cubes[0].cube_id # TODO not only first |
| 1084 | else: |
| 1085 | self._validate_cube_access(target_user_id, mem_cube_id) |
| 1086 | self.mem_cubes[mem_cube_id].text_mem.delete_all() |
| 1087 | logger.info(f"MemCube {mem_cube_id} deleted all memories") |
| 1088 | |
| 1089 | def dump( |
| 1090 | self, dump_dir: str, user_id: str | None = None, mem_cube_id: str | None = None |