70 Commits
Author SHA1 Message Date
Guillermo.Arrieta 1a9465edf2 columna de color añadida a estados_plan
Deploy Function / deploy (push) Successful in 40s
Deploy Migrations to Production / deploy (push) Successful in 14s
Update database types / deploy (push) Failing after 8s
2026-04-14 10:37:12 -06:00
Guillermo.Arrieta aa4f989615 columna añadida a lineas_plan para persistir el color
Deploy Function / deploy (push) Successful in 40s
Deploy Migrations to Production / deploy (push) Successful in 22s
Update database types / deploy (push) Successful in 29s
2026-03-26 22:29:55 -06:00
Guillermo.Arrieta dbfe082f0b Merge pull request 'migraciones para permitir full text search sobre asignaturas' (#84) from issue/83-nueva-asignatura-clonada-desde-el-sistema into main
Deploy Function / deploy (push) Successful in 32s
Deploy Migrations to Production / deploy (push) Successful in 12s
Update database types / deploy (push) Successful in 29s
Reviewed-on: AlexRG/genesis-2#84
2026-03-25 22:47:04 +00:00
Guillermo.Arrieta 542f2bc61a migraciones para soportar el full text search
Deploy Function / deploy (pull_request) Successful in 31s
Deploy Migrations to Production / deploy (pull_request) Successful in 12s
2026-03-25 16:44:11 -06:00
Guillermo.Arrieta 220b830aa8 Full text search sobre asignaturas para clonación de asignaturas 2026-03-24 20:46:35 -06:00
Guillermo.Arrieta cca45c38bc Merge pull request 'Creada edge function wrapper para carbone.io del lci con un método (descargar reporte)' (#80) from issue/76-crear-edge-function-para-plantillas-de-carbone into main
Deploy Function / deploy (push) Successful in 27s
Deploy Migrations to Production / deploy (push) Successful in 10s
Reviewed-on: AlexRG/genesis-2#80
2026-03-20 23:47:29 +00:00
Guillermo.Arrieta 7a1ec8799b fix #76: se corrige el content-type de la response para que el cliente pueda recibir los documentos adecuadamente
Deploy Function / deploy (pull_request) Successful in 30s
Deploy Migrations to Production / deploy (pull_request) Successful in 10s
si el content-type es de tipo application/pdf, el cliente de supabase lo recibe adecuadamente como pdf, pero si es de otro tipo se debe mandar como application/octet-stream para que el cliente de supabase lo reciba como blob
2026-03-20 17:42:42 -06:00
Guillermo.Arrieta d378c43821 Se corrigió hardcode de id de template y se permite recibir body para el downloadReport 2026-03-20 13:08:20 -06:00
Guillermo.Arrieta 93c4e46e62 Se creó la edge function que sirve de wrapper a carbone y ya permite descargar el pdf del plan de estudios
Por hacer:
- permitir descargar los otros dos anexos tanto en pdf como en word/excel segun el caso
- quitar el hardcode de convertir a pdf de downloadReport
- Extraer el template id no de una variable de entorno, sino de la columna correspondiente tanto en la tabla de la estructura del plan como en la tabla de la estructura de la asignatura. En alguna parte de la BDD se tendrá que poner el template id del anexo del mapa curricular
- Permitir otros métodos
2026-03-20 12:29:24 -06:00
Guillermo.Arrieta 20b0a030e7 Merge pull request 'Prueba de actualización de seed' (#73) from issue/72-actualizar-seedsql-cada-vez-que-se-actualicen-las- into main
Deploy Function / deploy (push) Successful in 32s
Update database types / deploy (push) Successful in 24s
Update database types / update (push) Failing after 13s
Deploy Migrations to Production / deploy (push) Successful in 12s
Reviewed-on: AlexRG/genesis-2#73
2026-03-18 21:51:23 +00:00
Guillermo.Arrieta 51dbae221a Prueba de action para actualización de seed
Supa-backup / run_db_backup (pull_request) Successful in 41s
CI / test (pull_request) Failing after 40s
Deploy Function / deploy (pull_request) Failing after 22s
Deploy Migrations to Production / deploy (pull_request) Successful in 11s
2026-03-18 15:50:23 -06:00
Guillermo.Arrieta 6e4265bdf8 Actualizar .gitea/workflows/backup.yaml 2026-03-17 22:30:50 +00:00
Guillermo.Arrieta 147df4ed66 fix #64: Se quita la estructura duplicada y se importa desde estructuras.ts en _shared
Supa-backup / run_db_backup (pull_request) Successful in 38s
CI / test (pull_request) Failing after 34s
Deploy Function / deploy (pull_request) Successful in 25s
Deploy Migrations to Production / deploy (pull_request) Successful in 11s
Supa-backup / run_db_backup (push) Successful in 33s
Deploy Function / deploy (push) Successful in 24s
Deploy Migrations to Production / deploy (push) Failing after 12s
2026-03-17 16:07:00 -06:00
Guillermo.Arrieta fb7a011148 Se cambiaron las columnas de bibliografia_asignatura
Deploy Function / deploy (push) Successful in 25s
Update database types / update (push) Successful in 12s
Deploy Migrations to Production / deploy (push) Successful in 10s
Se quitó la columna tipo_fuente y se renombró 'biblioteca_item_id' porque ahora se utilizarán las columnas referencia_bibliografia y referencia_en_linea para determinar el tipo de fuente
2026-03-11 16:46:02 -06:00
Guillermo.Arrieta caa340ef22 hotfix: se actualizó la semilla de la BDD y se corrigieron las migraciones
Deploy Function / deploy (push) Successful in 26s
Deploy Migrations to Production / deploy (push) Successful in 13s
La migración de realtime no era correcta. Hacía drop de la columna criterios_de_evaluacion de la tabla asignaturas y le hacían falta las publicaciones a realtime de planes_estudio y asignaturas
2026-03-10 13:31:28 -06:00
Guillermo.Arrieta 5958ec15d2 hotfix: identificación de la aplicación para Open Library
Deploy Function / deploy (push) Successful in 26s
Deploy Migrations to Production / deploy (push) Successful in 11s
2026-03-09 17:16:12 -06:00
Guillermo.Arrieta 2823c81052 Merge pull request 'Se añadió la peticion a Open Library de bibliografía' (#53) from issue/48-propuesta-de-bibliografas into main
Deploy Function / deploy (push) Successful in 36s
Deploy Migrations to Production / deploy (push) Successful in 14s
Reviewed-on: AlexRG/genesis-2#53
2026-03-09 23:06:37 +00:00
Guillermo.Arrieta e72951d32d Enhance buscar-bibliografia function with Open Library integration and parameter handling 2026-03-09 17:00:29 -06:00
Guillermo.Arrieta 5fac762678 close #48: add buscar-bibliografia function with Google Books API integration
Deploy Function / deploy (push) Successful in 25s
Deploy Migrations to Production / deploy (push) Successful in 11s
- Implemented buscar-bibliografia function in index.ts
- Added Deno import map for dependencies in deno.json
- Included request validation and error handling
- Integrated Google Books API to fetch bibliographic data based on search terms
2026-03-06 19:51:46 -06:00
Guillermo.Arrieta c8c1b72964 Pruebas de generación de bibliografía 2026-03-06 11:58:45 -06:00
Guillermo.Arrieta d7e232eec7 fix #46: Al generar asignaturas la IA también genera su sistema de evaluación
Deploy Function / deploy (push) Successful in 25s
Deploy Migrations to Production / deploy (push) Successful in 10s
2026-03-04 17:48:23 -06:00
Guillermo.Arrieta 994fb3c7bc hotfix: actualizada semilla de BDD y referencia a BDD
Deploy Function / deploy (push) Successful in 23s
Deploy Migrations to Production / deploy (push) Successful in 10s
2026-03-04 12:54:17 -06:00
Guillermo.Arrieta d7312d2ab3 Merge pull request 'Creación de planes y asignaturas en segundo plano y con webhook de openai' (#40) from issue/35-crear-webhook-para-responses into main
Deploy Function / deploy (push) Successful in 26s
Deploy Migrations to Production / deploy (push) Successful in 12s
Reviewed-on: AlexRG/genesis-2#40
2026-02-27 18:32:55 +00:00
Guillermo.Arrieta c88bf044d0 estado de asignatura 'fallida' en los tipos 2026-02-27 12:30:05 -06:00
Guillermo.Arrieta c12e2895a8 Merge branch 'main' into issue/35-crear-webhook-para-responses 2026-02-27 12:14:04 -06:00
Guillermo.Arrieta 4944f1d31a Se añade el estado 'fallida' a la asignatura 2026-02-27 12:12:20 -06:00
Guillermo.Arrieta b2307759bf Merge branch 'issue/35-crear-webhook-para-responses' of https://github.lci.ulsa.mx/AlexRG/genesis-2 into issue/35-crear-webhook-para-responses 2026-02-27 12:08:09 -06:00
Guillermo.Arrieta 288278ea6c feat: update AI subject generation and handling responses
- Refactor AIGenerateSubjectInput type to include optional fields for updates.
- Add handling for "asignaturas" responses in OpenAI webhook.
- Implement crear.ts for creating/updating subjects based on AI responses.
- Update tests to validate OpenAI file uploads instead of storage uploads.
2026-02-27 12:07:06 -06:00
Guillermo.Arrieta 39f5b5d338 feat: update AI subject generation and handling responses
- Refactor AIGenerateSubjectInput type to include optional fields for updates.
- Add handling for "asignaturas" responses in OpenAI webhook.
- Implement crear.ts for creating/updating subjects based on AI responses.
- Update tests to validate OpenAI file uploads instead of storage uploads.
2026-02-27 11:34:08 -06:00
Guillermo.Arrieta 527f3aa56f Se inserta el plan de estudios y se mandan crear los datos generales en segundo plano, y la edge funcion de openai-webhook-responses recibe la respuesta para actualizar el plan de estudio con los datos generales 2026-02-25 17:39:09 -06:00
Guillermo.Arrieta 9263587f0b openai-webhook-responces recibe peticiones y hace log de las responses 2026-02-25 15:24:57 -06:00
Guillermo.Arrieta 8aeb1d0a64 version con express js que no funciona 2026-02-25 12:17:59 -06:00
Guillermo.Arrieta dcaeeb72dd Merge pull request 'Se genera el contenido temático con IA' (#32) from issue/31-generacin-de-columnas-de-tabla-asignaturas-con-ia into main
Deploy Function / deploy (push) Successful in 21s
Deploy Migrations to Production / deploy (push) Successful in 11s
Reviewed-on: AlexRG/genesis-2#32
2026-02-23 23:08:41 +00:00
Guillermo.Arrieta 26c6ad7c20 close #31: Se genera el contenido temático con la IA 2026-02-23 17:06:34 -06:00
Guillermo.Arrieta 38e1488c8c Se añade un event listener que loggea cuando se va a apagar la función
Deploy Function / deploy (push) Successful in 22s
Deploy Migrations to Production / deploy (push) Successful in 11s
2026-02-19 13:06:34 -06:00
Guillermo.Arrieta a028fd459f hotfix 2: archivo de migración sobrante
Deploy Function / deploy (push) Successful in 20s
Deploy Migrations to Production / deploy (push) Successful in 14s
2026-02-18 17:50:26 -06:00
Guillermo.Arrieta db3355f8ca hotfix: nombre de migración sincronizado con BDD remota
Deploy Function / deploy (push) Successful in 21s
Deploy Migrations to Production / deploy (push) Failing after 12s
2026-02-18 17:45:34 -06:00
Guillermo.Arrieta 5c27e61ce4 Fue arreglado trigger de trg_planes_estudio_log_cambios y se le hizo squash a las migraciones de la BDD
Deploy Function / deploy (push) Successful in 21s
Deploy Migrations to Production / deploy (push) Successful in 9s
2026-02-18 16:29:27 -06:00
Guillermo.Arrieta a92fc6ac26 hotfix: prompt de formato arreglado para evitar que se muestren cosas como "\n" en el texto final
Deploy Function / deploy (push) Successful in 1m21s
Deploy Migrations to Production / deploy (push) Successful in 14s
2026-02-16 17:25:38 -06:00
Guillermo.Arrieta 5a23be9961 Se añadieron indicaciones de formato en los prompts para generación de plan o de asignatura
Deploy Function / deploy (push) Successful in 39s
Deploy Migrations to Production / deploy (push) Successful in 11s
close #26
2026-02-16 19:52:21 +00:00
Guillermo.Arrieta e64c0de529 Se usan modelos de openai a partir de variables de entorno 2026-02-16 19:52:21 +00:00
Guillermo.Arrieta 7a81e448f4 hotfix: se cambió el estado default de las asignaturas y se arregló un error donde se requería código de asignatura no nulo
Deploy Function / deploy (push) Successful in 44s
Deploy Migrations to Production / deploy (push) Successful in 14s
2026-02-13 12:39:14 -06:00
Guillermo.Arrieta f29465958a errores de imports
Deploy Function / deploy (push) Successful in 37m53s
Deploy Migrations to Production / deploy (push) Successful in 15s
2026-02-12 17:40:22 -06:00
Guillermo.Arrieta 334800fab7 Merge pull request 'Generación de asignaturas con sugerencias' (#22) from acad-ia-2/issue/89-sugerencias-asignaturas into main
Deploy Function / deploy (push) Failing after 0s
Deploy Migrations to Production / deploy (push) Failing after 0s
Reviewed-on: AlexRG/genesis-2#22
2026-02-12 23:30:00 +00:00
Guillermo.Arrieta 9981b30260 feat: update subject suggestion guidelines and remove obsolete migration
CI / test (pull_request) Failing after 8s
- Enhanced the subject suggestion guidelines to specify that descriptions must not exceed 200 characters.
- Deleted the migration file for adding conversation_id to asignaturas and the associated view, as it is no longer needed.
2026-02-12 16:45:38 -06:00
Guillermo.Arrieta 2ff587d639 feat: opcion de update a asignaturas ya creadas para ponerles la información generada con IA
- Created a new enum type "estado_asignatura" with values 'borrador', 'revisada', 'aprobada', and 'generando'.
- Added a new column "estado" to the "asignaturas" table, defaulting to 'generando'.
- Implemented a trigger function to log changes in the "planes_estudio" table, capturing inserts, updates, and deletes.
- Updated the logging mechanism to track changes in various fields, including JSONB data.
- Removed the "asignaturas" table from the supabase_realtime publication.
- Added a script for generating TypeScript types from the local Supabase database.
2026-02-12 16:00:39 -06:00
Guillermo.Arrieta 48ab986cb8 Actualizar esquema de validación: limitar la descripción a 200 caracteres y reducir la cantidad máxima de sugerencias a 15 2026-02-12 16:00:00 -06:00
Guillermo.Arrieta 24b6338074 Implementar validación y generación de sugerencias de asignaturas con integración a Supabase 2026-02-12 16:00:00 -06:00
Guillermo.Arrieta b1d431a683 Generación con IA funcional 2026-02-12 16:00:00 -06:00
Guillermo.Arrieta ce5360a5c2 wip 2026-02-12 16:00:00 -06:00
Guillermo.Arrieta 93c7f11621 nueva edge function para la generación de sugerencais de asignaturas con IA 2026-02-12 16:00:00 -06:00
Guillermo.Arrieta 5c9fde1a9e Generación de datos básicos de asignaturas funcional
Deploy Function / deploy (push) Successful in 24s
close #6:
- Ya se pueden generar asignaturas con IA. Específicamente los datos generales.
- Se actualizaron los tipos de supabase
- Se arreglaron los imports
- TODO: generar contenido temático de la asignatura
2026-02-05 19:42:12 -06:00
Guillermo.Arrieta 7f9226ce38 hotfix de importacion
Deploy Function / deploy (push) Successful in 21s
2026-02-05 16:13:55 -06:00
Guillermo.Arrieta f1563b4cbe Merge pull request 'issue/6-generacin-de-materias' (#16) from issue/6-generacin-de-materias into main
Deploy Function / deploy (push) Failing after 46s
Reviewed-on: AlexRG/genesis-2#16
2026-02-05 22:07:23 +00:00
Guillermo.Arrieta 00f0bddf1c Arreglo de reverts 2026-02-05 16:00:07 -06:00
Guillermo.Arrieta 1ca861c51d Primera versión de la función de ai-generate-subject 2026-02-05 15:54:04 -06:00
Guillermo.Arrieta 42a437afa3 fix(functions): clasificar y estandarizar errores en ai-generate-plan
- Corregido el problema donde la función devolvía siempre 400; ahora se lanzan HttpError con status adecuados (405, 401, 415, 422, 404, 409, 502, 500) según el caso.
- Refactor: usar sendError/sendSuccess y HttpError desde _shared/utils.ts para respuestas consistentes y logging seguro.
- Validación: agrupar errores de parse/validación en un único mensaje numerado (cada error en nueva línea).
- OpenAI: manejo explícito de fallos (MissingEnv, JSON inválido, salida estructurada ausente) y mapeo a status apropiados.
- Supabase: distinguir errores 404/409/500 en consultas e inserts; incluir detalles en internalDetails para diagnóstico server-side.
- Eliminada dependencia de invocación HTTP a ai-structured; usar servicio compartido directo.
- Ajustes menores en mensajes y configuración (deno imports/deno.json) y tests marcados como ignorados donde corresponde.
2026-02-05 15:54:04 -06:00
Guillermo.Arrieta 7660d2c3a0 inicio de funcion de generación de asignatura 2026-02-05 15:53:23 -06:00
Guillermo.Arrieta e5657d6b0f chore(db): actualizar esquema/backups (auditoría de planes, hashes y conversation_id)
- Agrega fn_log_cambios_planes_estudio y trigger para registrar cambios en cambios_plan, usando response_id (reemplaza interaccion_ia_id).
- Extiende planes_estudio con conversation_id (unique) y plan_hash; agrega asignatura_hash en asignaturas; corrige unaccent_immutable y añade extensión http.
- Actualiza seeds/backups (data_backup.sql / scheme_backup.sql) y ajusta script de diff (sql_para_local_como_remoto.sql), elimina el diff viejo y actualiza archivos auxiliares (deno.lock, CLI temp).
2026-02-05 15:52:56 -06:00
Guillermo.Arrieta e1d865e6c3 posible solución a issue #60
Deploy Function / deploy (push) Successful in 21s
2026-01-30 12:24:59 -06:00
Guillermo.Arrieta fdc8b688b3 generacion de plane exitosa y cambios en BDD
Deploy Function / deploy (push) Successful in 24s
2026-01-22 14:34:26 -06:00
Guillermo.Arrieta 8ef3f24652 Versión funcional de creación de plan de estudios con IA 2026-01-22 14:32:22 -06:00
Guillermo.Arrieta f15ab86e7f wip 2026-01-22 14:31:47 -06:00
Guillermo.Arrieta 1727b09bfb Función de ai-structured simplificada + tipado de la entrada 2026-01-22 14:31:47 -06:00
Guillermo.Arrieta 7a29f1a87d Antes de cambio de ai-structured 2026-01-22 14:30:53 -06:00
Guillermo.Arrieta 3170ed6975 Primera version de ai-generate-plan 2026-01-22 14:30:53 -06:00
Guillermo.Arrieta d5a095876e wip 2026-01-22 14:30:53 -06:00
Guillermo.Arrieta bb734cddd8 wip 2026-01-22 14:30:52 -06:00
Guillermo.Arrieta 4f2c117eb8 Merge branch 'main' of https://github.lci.ulsa.mx/AlexRG/genesis-2
Deploy Function / deploy (push) Successful in 25s
2026-01-22 13:52:17 -06:00
Guillermo.Arrieta cd615d1f6e backup de base de datos 2026-01-22 13:52:12 -06:00