@@ -110,7 +110,17 @@ def _pure_add(self, user_name: str, feedback_content: str, feedback_time: str, i
110110 return {
111111 "record" : {
112112 "add" : [
113- {"id" : _id , "text" : added_mem .memory }
113+ {
114+ "id" : _id ,
115+ "text" : added_mem .memory ,
116+ "source_doc_id" : (
117+ added_mem .metadata .file_ids [0 ]
118+ if hasattr (added_mem .metadata , "file_ids" )
119+ and isinstance (added_mem .metadata .file_ids , list )
120+ and added_mem .metadata .file_ids
121+ else None
122+ ),
123+ }
114124 for _id , added_mem in zip (added_ids , to_add_memories , strict = False )
115125 ],
116126 "update" : [],
@@ -197,7 +207,17 @@ def _single_add_operation(
197207 )
198208
199209 logger .info (f"[Memory Feedback ADD] { added_ids [0 ]} " )
200- return {"id" : added_ids [0 ], "text" : to_add_memory .memory }
210+ return {
211+ "id" : added_ids [0 ],
212+ "text" : to_add_memory .memory ,
213+ "source_doc_id" : (
214+ to_add_memory .metadata .file_ids [0 ]
215+ if hasattr (to_add_memory .metadata , "file_ids" )
216+ and isinstance (to_add_memory .metadata .file_ids , list )
217+ and to_add_memory .metadata .file_ids
218+ else None
219+ ),
220+ }
201221
202222 def _single_update_operation (
203223 self ,
@@ -243,6 +263,13 @@ def _single_update_operation(
243263 "text" : new_memory_item .memory ,
244264 "archived_id" : old_memory_item .id ,
245265 "origin_memory" : old_memory_item .memory ,
266+ "source_doc_id" : (
267+ old_memory_item .metadata .file_ids [0 ]
268+ if hasattr (old_memory_item .metadata , "file_ids" )
269+ and isinstance (old_memory_item .metadata .file_ids , list )
270+ and old_memory_item .metadata .file_ids
271+ else None
272+ ),
246273 }
247274
248275 def _del_working_binding (self , user_name , mem_items : list [TextualMemoryItem ]) -> set [str ]:
0 commit comments