Overview
When RecallrAI processes sessions, it may detect conflicts between new memories and existing ones. The SDK provides tools to handle these merge conflicts through clarifying questions.
List Merge Conflicts
import { MergeConflictStatus } from "recallrai";
const user = await client.getUser("user123");
const conflicts = await user.listMergeConflicts({
offset: 0,
limit: 10,
status: MergeConflictStatus.PENDING,
sortBy: "created_at",
sortOrder: "desc",
});
console.log(`Total conflicts: ${conflicts.total}`);
Filter by status: PENDING, IN_QUEUE, RESOLVING, RESOLVED, or FAILED.
Resolve a Merge Conflict
import { MergeConflictAnswer } from "recallrai";
const conflict = await user.getMergeConflict("conflict-uuid");
const answers: MergeConflictAnswer[] = conflict.clarifyingQuestions.map((q) => ({
question: q.question,
answer: q.options[0],
message: "User prefers this option based on recent conversation",
}));
await conflict.resolve(answers);
Raises: MergeConflictNotFoundError, MergeConflictAlreadyResolvedError, MergeConflictInvalidQuestionsError, MergeConflictMissingAnswersError, MergeConflictInvalidAnswerError.