MCPcopy Create free account
hub / github.com/astercloud/aster / RemoveMemory

Method RemoveMemory

pkg/memory/lineage.go:135–155  ·  view source on GitHub ↗

RemoveMemory 从谱系图中移除记忆。

(memoryID string)

Source from the content-addressed store, hash-verified

133
134// RemoveMemory 从谱系图中移除记忆。
135func (lg *LineageGraph) RemoveMemory(memoryID string) {
136 lg.mu.Lock()
137 defer lg.mu.Unlock()
138
139 // 移除元数据
140 delete(lg.memoryMetadata, memoryID)
141
142 // 移除父子关系:从所有子节点的父列表中删除此节点
143 children := lg.parentToChildren[memoryID]
144 for _, child := range children {
145 lg.childToParents[child] = lg.removeFromSlice(lg.childToParents[child], memoryID)
146 }
147 delete(lg.parentToChildren, memoryID)
148
149 // 移除子父关系:从所有父节点的子列表中删除此节点
150 parents := lg.childToParents[memoryID]
151 for _, parent := range parents {
152 lg.parentToChildren[parent] = lg.removeFromSlice(lg.parentToChildren[parent], memoryID)
153 }
154 delete(lg.childToParents, memoryID)
155}
156
157// removeFromSlice 从切片中移除指定值,返回新切片。
158func (lg *LineageGraph) removeFromSlice(slice []string, value string) []string {

Callers 2

Calls 2

removeFromSliceMethod · 0.95
deleteFunction · 0.85

Tested by 1