fix(memorycore): preserve tags in importMemories and guard division by zero

- Add tags: memory.tags to importMemories upsertMemory call to prevent
  tag loss during cross-project import
- Guard buildCompressionMetadata against division by zero when
  originalSize is 0
This commit is contained in:
catlog22
2026-02-23 23:10:47 +08:00
parent 5cae3cb3c8
commit 07b9d06cad

View File

@@ -654,7 +654,7 @@ export class CoreMemoryStore {
buildCompressionMetadata(sourceIds: string[], originalSize: number, compressedSize: number): string { buildCompressionMetadata(sourceIds: string[], originalSize: number, compressedSize: number): string {
return JSON.stringify({ return JSON.stringify({
compressed_from: sourceIds, compressed_from: sourceIds,
compression_ratio: compressedSize / originalSize, compression_ratio: originalSize > 0 ? compressedSize / originalSize : 0,
compressed_at: new Date().toISOString() compressed_at: new Date().toISOString()
}); });
} }
@@ -1868,7 +1868,8 @@ export function importMemories(
content: memory.content, content: memory.content,
summary: memory.summary, summary: memory.summary,
raw_output: memory.raw_output, raw_output: memory.raw_output,
metadata: memory.metadata metadata: memory.metadata,
tags: memory.tags
}); });
imported++; imported++;