// ./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); }