fix(confidence-engine): sanitize reasoning error responses
This commit is contained in:
@@ -26,7 +26,7 @@ async function post(request) {
|
||||
|
||||
if (!result.success) {
|
||||
return Response.json(
|
||||
{ ...result, reconstruction: result.reconstruction || null },
|
||||
{ error: "Reasoning request could not be completed." },
|
||||
{ status: Number(result.statusCode) || 500 },
|
||||
);
|
||||
}
|
||||
@@ -42,9 +42,25 @@ async function post(request) {
|
||||
promptVersion: result.promptVersion,
|
||||
});
|
||||
} catch (e) {
|
||||
if (e.code === "PROVIDER_UNAVAILABLE") {
|
||||
return Response.json(
|
||||
{ error: "Reasoning service is temporarily unavailable." },
|
||||
{ status: 503 },
|
||||
);
|
||||
}
|
||||
|
||||
const validationFailed = e?.validationFailed || e?.code === "VALIDATION_FAILED";
|
||||
if (validationFailed) {
|
||||
return Response.json(
|
||||
{ success: false, error: "Reasoning request could not be completed." },
|
||||
{ status: Number(e.statusCode) || 500 },
|
||||
);
|
||||
}
|
||||
|
||||
const statusCode = Number(e.statusCode) || 500;
|
||||
return Response.json(
|
||||
{ error: e.message || "Unknown server error", responseDurationMs: 0 },
|
||||
{ status: 500 },
|
||||
{ error: "Reasoning request could not be completed." },
|
||||
{ status: statusCode },
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,9 @@ async function post(request) {
|
||||
{
|
||||
success: false,
|
||||
stage: error.statusCode === 400 ? "request_validation" : "provider",
|
||||
error: error.message ?? "Overview synthesis failed",
|
||||
error: error.statusCode === 400
|
||||
? "Invalid overview request"
|
||||
: "Reasoning request could not be completed.",
|
||||
},
|
||||
{ status: error.statusCode }
|
||||
);
|
||||
|
||||
@@ -48,14 +48,8 @@ async function post(request) {
|
||||
return Response.json(
|
||||
{
|
||||
success: false,
|
||||
error: diagnostics.error,
|
||||
validationErrors: result.validationErrors,
|
||||
diagnostics: result.diagnostics,
|
||||
analysisErrors: result.analysisErrors,
|
||||
validationIssues: result.validationIssues,
|
||||
providerApiPath: result.providerApiPath,
|
||||
providerExecution: result.providerExecution,
|
||||
rawResponse: result.rawResponse ?? undefined,
|
||||
error: status === 400 ? diagnostics.error : "Reasoning request could not be completed.",
|
||||
...(status === 400 ? { validationErrors: result.validationErrors } : {}),
|
||||
},
|
||||
{ status },
|
||||
);
|
||||
|
||||
@@ -57,7 +57,9 @@ async function post(request) {
|
||||
{
|
||||
success: false,
|
||||
stage: error.statusCode === 400 ? "request_validation" : "provider",
|
||||
error: error.message ?? "Synthesis failed",
|
||||
error: error.statusCode === 400
|
||||
? "Invalid synthesis request"
|
||||
: "Reasoning request could not be completed.",
|
||||
},
|
||||
{ status: error.statusCode }
|
||||
);
|
||||
|
||||
@@ -154,7 +154,7 @@ async function post(request) {
|
||||
);
|
||||
}
|
||||
return Response.json(
|
||||
{ error: e.message || "Unknown server error" },
|
||||
{ error: "Reasoning request could not be completed." },
|
||||
{ status: 500 },
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user