fix #46: Al generar asignaturas la IA también genera su sistema de evaluación
This commit was merged in pull request #47.
This commit is contained in:
@@ -141,6 +141,7 @@ export type Database = {
|
||||
creado_en: string
|
||||
creado_por: string | null
|
||||
creditos: number
|
||||
criterios_de_evaluacion: Json
|
||||
datos: Json
|
||||
estado: Database["public"]["Enums"]["estado_asignatura"]
|
||||
estructura_id: string | null
|
||||
@@ -165,6 +166,7 @@ export type Database = {
|
||||
creado_en?: string
|
||||
creado_por?: string | null
|
||||
creditos: number
|
||||
criterios_de_evaluacion?: Json
|
||||
datos?: Json
|
||||
estado?: Database["public"]["Enums"]["estado_asignatura"]
|
||||
estructura_id?: string | null
|
||||
@@ -189,6 +191,7 @@ export type Database = {
|
||||
creado_en?: string
|
||||
creado_por?: string | null
|
||||
creditos?: number
|
||||
criterios_de_evaluacion?: Json
|
||||
datos?: Json
|
||||
estado?: Database["public"]["Enums"]["estado_asignatura"]
|
||||
estructura_id?: string | null
|
||||
|
||||
@@ -414,10 +414,9 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
estructura_id: resolved.estructura_id as string,
|
||||
nombre: resolved.nombre as string,
|
||||
codigo: resolved.codigo ?? null,
|
||||
tipo:
|
||||
(resolved.tipo ?? undefined) as Database["public"]["Tables"][
|
||||
"asignaturas"
|
||||
]["Insert"]["tipo"],
|
||||
tipo: (resolved.tipo ?? undefined) as Database["public"]["Tables"][
|
||||
"asignaturas"
|
||||
]["Insert"]["tipo"],
|
||||
creditos: resolved.creditos as number,
|
||||
horas_academicas: resolved.horas_academicas ?? null,
|
||||
horas_independientes: resolved.horas_independientes ?? null,
|
||||
@@ -458,7 +457,7 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
|
||||
const { data: estructura, error: estructuraError } = await supabaseService
|
||||
.from("estructuras_asignatura")
|
||||
.select("id,nombre,definicion,version")
|
||||
.select("id,nombre,definicion")
|
||||
.eq("id", resolved.estructura_id)
|
||||
.single();
|
||||
if (estructuraError) {
|
||||
@@ -509,10 +508,11 @@ Deno.serve(async (req: Request): Promise<Response> => {
|
||||
iaConfig.instruccionesAdicionalesIA ?? "(ninguna)"
|
||||
}` +
|
||||
archivosAdjuntosTexto +
|
||||
`\n\nREGLA ESTRICTA MATEMÁTICA:\n` +
|
||||
`Si generas el 'contenido_tematico', la suma total de las 'horasEstimadas' de todos los temas en todas las unidades DEBE coincidir exactamente con el total de Horas académicas indicadas arriba (${
|
||||
`\n\nREGLAS ESTRICTAS MATEMÁTICAS:\n` +
|
||||
`- Si generas el 'contenido_tematico', la suma total de las 'horasEstimadas' de todos los temas en todas las unidades DEBE coincidir exactamente con el total de Horas académicas indicadas arriba (${
|
||||
resolved.horas_academicas ?? 0
|
||||
}). No te pases ni te falten horas.`;
|
||||
}). No te pases ni te falten horas.\n` +
|
||||
`- Si generas los 'criterios_de_evaluacion', la suma total de los 'porcentajes' de todos los criterios DEBE ser exactamente 100%. No te pases ni te falten porcentajes.`;
|
||||
|
||||
const schemaDef: Record<string, unknown> =
|
||||
typeof estructura?.definicion === "object" &&
|
||||
@@ -658,4 +658,39 @@ const definicionesDeEstructurasDeColumnas = {
|
||||
],
|
||||
"additionalProperties": false,
|
||||
},
|
||||
criterios_de_evaluacion: {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"x-column": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"criterios_de_evaluacion",
|
||||
],
|
||||
},
|
||||
"x-definicion": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"criterio": {
|
||||
"type": "string",
|
||||
},
|
||||
"porcentaje": {
|
||||
"type": "integer",
|
||||
},
|
||||
},
|
||||
"required": [
|
||||
"criterio",
|
||||
"porcentaje",
|
||||
],
|
||||
"additionalProperties": false,
|
||||
},
|
||||
},
|
||||
},
|
||||
"required": [
|
||||
"x-column",
|
||||
"x-definicion",
|
||||
],
|
||||
"additionalProperties": false,
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user