fix: ensure campos is always an array in pickSchemaFields function
Deploy Function / deploy (push) Successful in 22s
Deploy Migrations to Production / deploy (push) Successful in 11s

This commit is contained in:
2026-02-25 08:03:00 -06:00
parent 009e65d327
commit 738d3970e3
2 changed files with 7 additions and 2 deletions
@@ -300,7 +300,7 @@ app.post(`${prefix}/conversations/:id/messages`, async (c) => {
} }
// Pedimos respuesta estructurada con responses.create // Pedimos respuesta estructurada con responses.create
const schema = pickSchemaFields(definicion, body.campos); const schema = pickSchemaFields(definicion, body.campos ?? []);
const planForPrompt = safePlanForPrompt(plan); const planForPrompt = safePlanForPrompt(plan);
const model = CREATE_CHAT_CONVERSATION_STRUCTURED_MODELO; const model = CREATE_CHAT_CONVERSATION_STRUCTURED_MODELO;
@@ -2,7 +2,7 @@ import { HttpError } from "./errors.ts";
export function pickSchemaFields( export function pickSchemaFields(
definicion: any, definicion: any,
campos?: string[], campos: string[],
) { ) {
if (!definicion || definicion.type !== "object" || !definicion.properties) { if (!definicion || definicion.type !== "object" || !definicion.properties) {
return definicion; return definicion;
@@ -18,6 +18,11 @@ export function pickSchemaFields(
"Listo: mejoré la redacción del perfil de ingreso y propuse un tema de investigación alineado al plan.", "Listo: mejoré la redacción del perfil de ingreso y propuse un tema de investigación alineado al plan.",
], ],
}, },
"is-refusal": {
type: "boolean",
description:
"Indica si el plan fue rechazado por el modelo. En caso de ser true, se espera un mensaje de rechazo en `ai-message`.",
},
}, },
}; };