fix(rectification): open with batch collect, add skip/decline buttons, keep one spoken sentence (BUG-604, BUG-605, BUG-606)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -36,6 +36,8 @@ import { previousInferenceFromReceipt } from "@/lib/rectification-agentic/v9/inf
|
||||
import { CHOICE_STOP_LABEL, parseAgentChoiceCopy } from "@/lib/rectification-agentic/v9/choice-card";
|
||||
import {
|
||||
classifyRectificationTurnIntent,
|
||||
isCollectDeclineUtterance,
|
||||
isCollectSkipUtterance,
|
||||
optionIdForAnswerClass,
|
||||
shouldDeclineCollectFocus,
|
||||
shouldContinueAgentForDatedEvent,
|
||||
@@ -493,11 +495,30 @@ export async function POST(request: Request) {
|
||||
return completedMessageResponse(applied.narration, requestId, caseId, applied.turnId);
|
||||
}
|
||||
} else if (focus && isCollectFocusSchema(focus.expectedAnswerSchema)) {
|
||||
const userMessage = parsed.data.message ?? "";
|
||||
if (isCollectDeclineUtterance(userMessage) || isCollectSkipUtterance(userMessage)) {
|
||||
const applied = await applyCollectFocusDenial(accounting, {
|
||||
userId,
|
||||
caseId,
|
||||
focusId: focus.id,
|
||||
status: isCollectSkipUtterance(userMessage) ? "skipped" : "declined",
|
||||
narrateAdopt,
|
||||
});
|
||||
const finished = await persistCollectDenialTurn({
|
||||
accounting,
|
||||
userId,
|
||||
caseId,
|
||||
requestId,
|
||||
userMessage,
|
||||
applied,
|
||||
});
|
||||
return completedMessageResponse(finished.streamText, requestId, caseId, finished.turnId);
|
||||
}
|
||||
let classified = null;
|
||||
try {
|
||||
classified = await classifyRectificationTurnIntent(selectedModel, {
|
||||
focus,
|
||||
userMessage: parsed.data.message ?? "",
|
||||
userMessage,
|
||||
caseStatus,
|
||||
signal: request.signal,
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user