MCPcopy Create free account
hub / github.com/modelscope/ms-agent / _delete_single

Method _delete_single

ms_agent/memory/default_memory.py:172–207  ·  view source on GitHub ↗
(self, msg_id: int)

Source from the content-addressed store, hash-verified

170 self.memory_snapshot = []
171
172 def _delete_single(self, msg_id: int):
173 messages_to_delete = self.cache_messages.get(msg_id, None)
174 if messages_to_delete is None:
175 return
176 self.cache_messages.pop(msg_id, None)
177 if msg_id == self.max_msg_id:
178 self.max_msg_id = max(self.cache_messages.keys())
179
180 idx = 0
181 while idx < len(self.memory_snapshot):
182
183 enable_ids = self.memory_snapshot[idx].enable_idxs
184 disable_id = self.memory_snapshot[idx].disable_idx
185 if msg_id == disable_id:
186 self.memory_snapshot[idx].try_enable(msg_id)
187 metadata = {'user_id': self.user_id}
188 if self.agent_id:
189 metadata['agent_id'] = self.agent_id
190 if self.run_id:
191 metadata['run_id'] = self.run_id
192 try:
193 self.memory._create_memory(
194 data=self.memory_snapshot[idx].value,
195 existing_embeddings={},
196 metadata=metadata)
197 except Exception as e:
198 logger.warning(f'Failed to recover memory: {e}')
199 if msg_id in enable_ids:
200 if len(enable_ids) > 1:
201 self.memory_snapshot[idx].enable_idxs.remove(msg_id)
202 else:
203 self.memory.delete(self.memory_snapshot[idx].memory_id)
204 self.memory_snapshot.pop(idx)
205 idx -= 1 # After pop, the next item becomes the current idx
206
207 idx += 1
208
209 async def add_single(self,
210 messages: List[Message],

Callers 1

addMethod · 0.95

Calls 3

getMethod · 0.80
try_enableMethod · 0.80
deleteMethod · 0.80

Tested by

no test coverage detected