posible solución a issue #60
Deploy Function / deploy (push) Successful in 21s

This commit is contained in:
2026-01-30 12:24:59 -06:00
parent fdc8b688b3
commit e1d865e6c3
5 changed files with 230 additions and 11 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
export const corsHeaders = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers":
"authorization, x-client-info, apikey, content-type",
"authorization, x-client-info, apikey, content-type, x-supabase-client-platform",
};
+18 -6
View File
@@ -137,8 +137,15 @@ Deno.serve(async (req) => {
const userPrompt =
`Genera un borrador completo del PLAN DE ESTUDIOS con base en lo siguiente:
- Descripción del enfoque: ${payload.iaConfig.descripcionEnfoque}
- Notas adicionales: ${payload.iaConfig.notasAdicionales ?? "Ninguna"}`;
- Nombre de la institución: Universidad La Salle México
- Nombre del plan: ${payload.datosBasicos.nombrePlan}
- Nivel: ${payload.datosBasicos.nivel}
- Tipo de ciclo: ${payload.datosBasicos.tipoCiclo}
- Número de ciclos: ${payload.datosBasicos.numCiclos}
- Descripción del enfoque académico (sobre el contenido de la respuesta generada): ${payload.iaConfig.descripcionEnfoqueAcademico}
- Notas adicionales (sobre el formato de la respuesta generada): ${
payload.iaConfig.instruccionesAdicionalesIA ?? "Ninguna"
}`;
// Ensure the JSON schema is an object as required by OpenAI types
const schemaDef: Record<string, unknown> =
typeof estructuraPlan?.definicion === "object" &&
@@ -230,8 +237,10 @@ Deno.serve(async (req) => {
repositoriosIds: payload.iaConfig?.repositoriosIds ?? null,
},
iaConfig: {
descripcionEnfoque: payload.iaConfig?.descripcionEnfoque ?? null,
notasAdicionales: payload.iaConfig?.notasAdicionales ?? null,
descripcionEnfoqueAcademico:
payload.iaConfig?.descripcionEnfoqueAcademico ?? null,
instruccionesAdicionalesIA:
payload.iaConfig?.instruccionesAdicionalesIA ?? null,
usarMCP: Boolean(payload.iaConfig?.usarMCP),
},
} as unknown as Json,
@@ -315,8 +324,11 @@ const DatosBasicosSchema: z.ZodType<AIGeneratePlanInput["datosBasicos"]> = z
});
const IAConfigSchema: z.ZodType<AIGeneratePlanInput["iaConfig"]> = z.object({
descripcionEnfoque: z.string().min(10, "La descripción es muy corta"),
notasAdicionales: z.string().optional(),
descripcionEnfoqueAcademico: z.string().min(
10,
"La descripción es muy corta",
),
instruccionesAdicionalesIA: z.string().optional(),
archivosReferencia: z.array(z.string().uuid()).optional(),
repositoriosIds: z.array(z.string().uuid()).optional(),
usarMCP: z.boolean().optional(),
+2 -2
View File
@@ -9,8 +9,8 @@ export type AIGeneratePlanInput = {
estructuraPlanId: string;
};
iaConfig: {
descripcionEnfoque: string;
notasAdicionales?: string;
descripcionEnfoqueAcademico: string;
instruccionesAdicionalesIA?: string;
archivosReferencia?: Array<string>;
repositoriosIds?: Array<string>;
usarMCP?: boolean;