Skip to main content

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}`);
status
MergeConflictStatus
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.