feat: include memory sources in profile sync events
This commit is contained in:
@@ -194,6 +194,24 @@ class CustomerProfileCandidateService:
|
||||
)
|
||||
session.add(created)
|
||||
await session.flush()
|
||||
active_memories = list(await session.scalars(
|
||||
select(MemoryUnit).where(
|
||||
MemoryUnit.customer_id == candidate.customer_id,
|
||||
MemoryUnit.status == "active",
|
||||
)
|
||||
))
|
||||
memory_sources = [
|
||||
{
|
||||
"memory_uuid": item.memory_uuid,
|
||||
"memory_key": item.memory_key,
|
||||
"content": item.content,
|
||||
"memory_type": item.memory_type,
|
||||
"confidence": float(item.confidence),
|
||||
"version": int(item.version),
|
||||
"valid_until": item.valid_until.isoformat() if item.valid_until else None,
|
||||
}
|
||||
for item in active_memories
|
||||
]
|
||||
for target_store in ("milvus", "neo4j"):
|
||||
session.add(MemorySyncOutbox(
|
||||
event_uuid=str(uuid4()), aggregate_type="profile_snapshot",
|
||||
@@ -204,6 +222,7 @@ class CustomerProfileCandidateService:
|
||||
"profile_uuid": profile_uuid,
|
||||
"profile_version": version,
|
||||
"snapshot": snapshot,
|
||||
"memory_sources": memory_sources,
|
||||
},
|
||||
status="pending", retry_count=0, created_at=now,
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user