Files
genesis-2/supabase/functions/create-chat-conversation/plan/crear.ts
T
2026-03-06 11:06:56 -06:00

34 lines
1.1 KiB
TypeScript

// ./plan_mensajes_ia/index.ts
import { getSupabaseServiceClient } from "../_shared/supabase.ts";
export async function handlePlanMensajesResponse(response: any) {
const supabase = getSupabaseServiceClient();
const { mensaje_id, is_structured } = response.metadata;
// Extraer el texto de la respuesta (usando tu lógica de filtrado de output)
const outputText = response.output_text || ""; // Ajustar según cómo venga el objeto
const respuestaJSON = JSON.parse(outputText || "{}");
const is_refusal = !!respuestaJSON.is_refusal || respuestaJSON["is-refusal"] === true;
let recommendations = [];
if (is_structured) {
recommendations = Object.entries(respuestaJSON)
.filter(([k]) => k !== "ai-message" && k !== "is-refusal")
.map(([campo, valor]) => ({
campo_afectado: campo,
texto_mejora: valor,
aplicada: false,
}));
}
await supabase
.from("plan_mensajes_ia")
.update({
respuesta: respuestaJSON["ai-message"] || "",
propuesta: { recommendations },
is_refusal,
estado: "COMPLETADO",
})
.eq("id", mensaje_id);
}