wip(confidence-engine): checkpoint open-question presentation work

This commit is contained in:
2026-10-09 07:46:19 +01:00
parent f74fe6de10
commit 6bc8be6edb
19 changed files with 812 additions and 22 deletions
+17 -5
View File
@@ -546,10 +546,15 @@ class OpenAIReconstructionProvider {
this.fetchImpl = fetchImpl;
}
async generateReconstruction(prompt, modelName = "gpt-5.6-terra", outputSchema, { signal } = {}) {
async generateReconstruction(
prompt,
modelName = "gpt-5.6-terra",
outputSchema,
{ signal, outputZodSchema } = {},
) {
if (!this.apiKey) throw new Error("OPENAI_API_KEY is not set");
const structuredOutputSchema = outputSchema
? createOpenAIStrictSchema(outputSchema, null)
? createOpenAIStrictSchema(outputSchema, outputZodSchema ?? null)
: openAIReconstructionJsonSchema;
const format = {
@@ -594,10 +599,17 @@ class OpenAIReconstructionProvider {
throw error;
}
const recoveredResponse = recoverJson(outputText);
const normalisedResponse = outputSchema && !outputZodSchema
? recoveredResponse
: normaliseOpenAITransportResponse(
recoveredResponse,
outputZodSchema ?? reconstructionV2Schema,
outputSchema ?? reconstructionJsonSchema,
);
return {
response: outputSchema
? recoverJson(outputText)
: normaliseOpenAITransportResponse(recoverJson(outputText)),
response: normalisedResponse,
providerApiPath: "/v1/responses",
};
}