fix: preserve rectification conversation context
This commit is contained in:
@@ -986,8 +986,33 @@ async function createProductionService(
|
||||
const profileClient = authenticated.context as ProfileClient;
|
||||
const engine = createJyotishBirthTimeJourneyEngine();
|
||||
const store = createSupabaseConversationalRectificationStore(admin);
|
||||
const loadConversationMessages = async (userId: string, caseId: string) => {
|
||||
const { data: ownedCase, error: caseError } = await admin
|
||||
.from("birth_time_rectification_cases")
|
||||
.select("id")
|
||||
.eq("id", caseId)
|
||||
.eq("user_id", userId)
|
||||
.maybeSingle();
|
||||
if (caseError || !ownedCase) return [];
|
||||
const [{ data: turns, error: turnsError }, { data: evidence, error: evidenceError }] = await Promise.all([
|
||||
admin
|
||||
.from("birth_time_rectification_turns")
|
||||
.select("id,turn_version,narrative")
|
||||
.eq("case_id", caseId)
|
||||
.order("turn_version", { ascending: true }),
|
||||
admin
|
||||
.from("birth_time_rectification_event_evidence")
|
||||
.select("source_turn_id,raw_text,created_at,id")
|
||||
.eq("case_id", caseId)
|
||||
.order("created_at", { ascending: true })
|
||||
.order("id", { ascending: true }),
|
||||
]);
|
||||
if (turnsError || evidenceError) return [];
|
||||
return conversationMessagesFromStoredTurns(turns, evidence);
|
||||
};
|
||||
const service = createConversationalRectificationService({
|
||||
store,
|
||||
loadConversationMessages,
|
||||
billing: createSupabaseConversationalRectificationBilling(admin),
|
||||
get rectificationPriceCredits() { return priceCredits(); },
|
||||
allowNewCaseCreation: conversationalRectificationCreationPolicyFromEnvironment(
|
||||
@@ -1073,33 +1098,7 @@ async function createProductionService(
|
||||
narrativeGenerator,
|
||||
asOfDate: () => new Date().toISOString().slice(0, 10),
|
||||
});
|
||||
return {
|
||||
...service,
|
||||
async loadConversationMessages(userId, caseId) {
|
||||
const { data: ownedCase, error: caseError } = await admin
|
||||
.from("birth_time_rectification_cases")
|
||||
.select("id")
|
||||
.eq("id", caseId)
|
||||
.eq("user_id", userId)
|
||||
.maybeSingle();
|
||||
if (caseError || !ownedCase) return [];
|
||||
const [{ data: turns, error: turnsError }, { data: evidence, error: evidenceError }] = await Promise.all([
|
||||
admin
|
||||
.from("birth_time_rectification_turns")
|
||||
.select("id,turn_version,narrative")
|
||||
.eq("case_id", caseId)
|
||||
.order("turn_version", { ascending: true }),
|
||||
admin
|
||||
.from("birth_time_rectification_event_evidence")
|
||||
.select("source_turn_id,raw_text,created_at,id")
|
||||
.eq("case_id", caseId)
|
||||
.order("created_at", { ascending: true })
|
||||
.order("id", { ascending: true }),
|
||||
]);
|
||||
if (turnsError || evidenceError) return [];
|
||||
return conversationMessagesFromStoredTurns(turns, evidence);
|
||||
},
|
||||
};
|
||||
return { ...service, loadConversationMessages };
|
||||
}
|
||||
|
||||
function stableRequestId(request: Request): string {
|
||||
|
||||
Reference in New Issue
Block a user