export type Json = | string | number | boolean | null | { [key: string]: Json | undefined } | Array export type Database = { graphql_public: { Tables: { [_ in never]: never } Views: { [_ in never]: never } Functions: { graphql: { Args: { extensions?: Json operationName?: string query?: string variables?: Json } Returns: Json } } Enums: { [_ in never]: never } CompositeTypes: { [_ in never]: never } } public: { Tables: { archivos: { Row: { bytes: number | null id: string mime_type: string | null nombre: string notas: string | null openai_file_id: string | null ruta_storage: string subido_en: string subido_por: string | null temporal: boolean } Insert: { bytes?: number | null id?: string mime_type?: string | null nombre: string notas?: string | null openai_file_id?: string | null ruta_storage: string subido_en?: string subido_por?: string | null temporal?: boolean } Update: { bytes?: number | null id?: string mime_type?: string | null nombre?: string notas?: string | null openai_file_id?: string | null ruta_storage?: string subido_en?: string subido_por?: string | null temporal?: boolean } Relationships: [ { foreignKeyName: 'archivos_subido_por_fkey' columns: ['subido_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } asignaturas: { Row: { actualizado_en: string actualizado_por: string | null asignatura_hash: string | null codigo: string | null contenido_tematico: Json creado_en: string creado_por: string | null creditos: number datos: Json estado: Database['public']['Enums']['estado_asignatura'] estructura_id: string | null horas_academicas: number | null horas_independientes: number | null id: string linea_plan_id: string | null meta_origen: Json nombre: string numero_ciclo: number | null orden_celda: number | null plan_estudio_id: string tipo: Database['public']['Enums']['tipo_asignatura'] tipo_origen: Database['public']['Enums']['tipo_origen'] | null } Insert: { actualizado_en?: string actualizado_por?: string | null asignatura_hash?: string | null codigo?: string | null contenido_tematico?: Json creado_en?: string creado_por?: string | null creditos: number datos?: Json estado?: Database['public']['Enums']['estado_asignatura'] estructura_id?: string | null horas_academicas?: number | null horas_independientes?: number | null id?: string linea_plan_id?: string | null meta_origen?: Json nombre: string numero_ciclo?: number | null orden_celda?: number | null plan_estudio_id: string tipo?: Database['public']['Enums']['tipo_asignatura'] tipo_origen?: Database['public']['Enums']['tipo_origen'] | null } Update: { actualizado_en?: string actualizado_por?: string | null asignatura_hash?: string | null codigo?: string | null contenido_tematico?: Json creado_en?: string creado_por?: string | null creditos?: number datos?: Json estado?: Database['public']['Enums']['estado_asignatura'] estructura_id?: string | null horas_academicas?: number | null horas_independientes?: number | null id?: string linea_plan_id?: string | null meta_origen?: Json nombre?: string numero_ciclo?: number | null orden_celda?: number | null plan_estudio_id?: string tipo?: Database['public']['Enums']['tipo_asignatura'] tipo_origen?: Database['public']['Enums']['tipo_origen'] | null } Relationships: [ { foreignKeyName: 'asignaturas_actualizado_por_fkey' columns: ['actualizado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'asignaturas_creado_por_fkey' columns: ['creado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'asignaturas_estructura_id_fkey' columns: ['estructura_id'] isOneToOne: false referencedRelation: 'estructuras_asignatura' referencedColumns: ['id'] }, { foreignKeyName: 'asignaturas_linea_plan_fk_compuesta' columns: ['linea_plan_id', 'plan_estudio_id'] isOneToOne: false referencedRelation: 'lineas_plan' referencedColumns: ['id', 'plan_estudio_id'] }, { foreignKeyName: 'asignaturas_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'planes_estudio' referencedColumns: ['id'] }, { foreignKeyName: 'asignaturas_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'plantilla_plan' referencedColumns: ['plan_estudio_id'] }, ] } bibliografia_asignatura: { Row: { actualizado_en: string asignatura_id: string biblioteca_item_id: string | null cita: string creado_en: string creado_por: string | null id: string tipo: Database['public']['Enums']['tipo_bibliografia'] tipo_fuente: Database['public']['Enums']['tipo_fuente_bibliografia'] } Insert: { actualizado_en?: string asignatura_id: string biblioteca_item_id?: string | null cita: string creado_en?: string creado_por?: string | null id?: string tipo: Database['public']['Enums']['tipo_bibliografia'] tipo_fuente?: Database['public']['Enums']['tipo_fuente_bibliografia'] } Update: { actualizado_en?: string asignatura_id?: string biblioteca_item_id?: string | null cita?: string creado_en?: string creado_por?: string | null id?: string tipo?: Database['public']['Enums']['tipo_bibliografia'] tipo_fuente?: Database['public']['Enums']['tipo_fuente_bibliografia'] } Relationships: [ { foreignKeyName: 'bibliografia_asignatura_asignatura_id_fkey' columns: ['asignatura_id'] isOneToOne: false referencedRelation: 'asignaturas' referencedColumns: ['id'] }, { foreignKeyName: 'bibliografia_asignatura_creado_por_fkey' columns: ['creado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } cambios_asignatura: { Row: { asignatura_id: string cambiado_en: string cambiado_por: string | null campo: string | null fuente: Database['public']['Enums']['fuente_cambio'] | null id: string interaccion_ia_id: string | null tipo: Database['public']['Enums']['tipo_cambio'] valor_anterior: Json | null valor_nuevo: Json | null } Insert: { asignatura_id: string cambiado_en?: string cambiado_por?: string | null campo?: string | null fuente?: Database['public']['Enums']['fuente_cambio'] | null id?: string interaccion_ia_id?: string | null tipo: Database['public']['Enums']['tipo_cambio'] valor_anterior?: Json | null valor_nuevo?: Json | null } Update: { asignatura_id?: string cambiado_en?: string cambiado_por?: string | null campo?: string | null fuente?: Database['public']['Enums']['fuente_cambio'] | null id?: string interaccion_ia_id?: string | null tipo?: Database['public']['Enums']['tipo_cambio'] valor_anterior?: Json | null valor_nuevo?: Json | null } Relationships: [ { foreignKeyName: 'cambios_asignatura_asignatura_id_fkey' columns: ['asignatura_id'] isOneToOne: false referencedRelation: 'asignaturas' referencedColumns: ['id'] }, { foreignKeyName: 'cambios_asignatura_cambiado_por_fkey' columns: ['cambiado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } cambios_plan: { Row: { cambiado_en: string cambiado_por: string | null campo: string | null id: string plan_estudio_id: string response_id: string | null tipo: Database['public']['Enums']['tipo_cambio'] valor_anterior: Json | null valor_nuevo: Json | null } Insert: { cambiado_en?: string cambiado_por?: string | null campo?: string | null id?: string plan_estudio_id: string response_id?: string | null tipo: Database['public']['Enums']['tipo_cambio'] valor_anterior?: Json | null valor_nuevo?: Json | null } Update: { cambiado_en?: string cambiado_por?: string | null campo?: string | null id?: string plan_estudio_id?: string response_id?: string | null tipo?: Database['public']['Enums']['tipo_cambio'] valor_anterior?: Json | null valor_nuevo?: Json | null } Relationships: [ { foreignKeyName: 'cambios_plan_cambiado_por_fkey' columns: ['cambiado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } carreras: { Row: { activa: boolean actualizado_en: string clave_sep: string | null creado_en: string facultad_id: string id: string nombre: string nombre_corto: string | null } Insert: { activa?: boolean actualizado_en?: string clave_sep?: string | null creado_en?: string facultad_id: string id?: string nombre: string nombre_corto?: string | null } Update: { activa?: boolean actualizado_en?: string clave_sep?: string | null creado_en?: string facultad_id?: string id?: string nombre?: string nombre_corto?: string | null } Relationships: [ { foreignKeyName: 'carreras_facultad_id_fkey' columns: ['facultad_id'] isOneToOne: false referencedRelation: 'facultades' referencedColumns: ['id'] }, ] } conversaciones_asignatura: { Row: { archivado_en: string | null archivado_por: string | null asignatura_id: string conversacion_json: Json creado_en: string creado_por: string | null estado: Database['public']['Enums']['estado_conversacion'] id: string intento_archivado: number openai_conversation_id: string } Insert: { archivado_en?: string | null archivado_por?: string | null asignatura_id: string conversacion_json?: Json creado_en?: string creado_por?: string | null estado?: Database['public']['Enums']['estado_conversacion'] id?: string intento_archivado?: number openai_conversation_id: string } Update: { archivado_en?: string | null archivado_por?: string | null asignatura_id?: string conversacion_json?: Json creado_en?: string creado_por?: string | null estado?: Database['public']['Enums']['estado_conversacion'] id?: string intento_archivado?: number openai_conversation_id?: string } Relationships: [ { foreignKeyName: 'conversaciones_asignatura_archivado_por_fkey' columns: ['archivado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'conversaciones_asignatura_asignatura_id_fkey' columns: ['asignatura_id'] isOneToOne: false referencedRelation: 'asignaturas' referencedColumns: ['id'] }, { foreignKeyName: 'conversaciones_asignatura_creado_por_fkey' columns: ['creado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } conversaciones_plan: { Row: { archivado_en: string | null archivado_por: string | null conversacion_json: Json creado_en: string creado_por: string | null estado: Database['public']['Enums']['estado_conversacion'] id: string intento_archivado: number nombre: string | null openai_conversation_id: string plan_estudio_id: string } Insert: { archivado_en?: string | null archivado_por?: string | null conversacion_json?: Json creado_en?: string creado_por?: string | null estado?: Database['public']['Enums']['estado_conversacion'] id?: string intento_archivado?: number nombre?: string | null openai_conversation_id: string plan_estudio_id: string } Update: { archivado_en?: string | null archivado_por?: string | null conversacion_json?: Json creado_en?: string creado_por?: string | null estado?: Database['public']['Enums']['estado_conversacion'] id?: string intento_archivado?: number nombre?: string | null openai_conversation_id?: string plan_estudio_id?: string } Relationships: [ { foreignKeyName: 'conversaciones_plan_archivado_por_fkey' columns: ['archivado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'conversaciones_plan_creado_por_fkey' columns: ['creado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'conversaciones_plan_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'planes_estudio' referencedColumns: ['id'] }, { foreignKeyName: 'conversaciones_plan_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'plantilla_plan' referencedColumns: ['plan_estudio_id'] }, ] } estados_plan: { Row: { clave: string es_final: boolean etiqueta: string id: string orden: number } Insert: { clave: string es_final?: boolean etiqueta: string id?: string orden?: number } Update: { clave?: string es_final?: boolean etiqueta?: string id?: string orden?: number } Relationships: [] } estructuras_asignatura: { Row: { actualizado_en: string creado_en: string definicion: Json id: string nombre: string version: string | null } Insert: { actualizado_en?: string creado_en?: string definicion?: Json id?: string nombre: string version?: string | null } Update: { actualizado_en?: string creado_en?: string definicion?: Json id?: string nombre?: string version?: string | null } Relationships: [] } estructuras_plan: { Row: { actualizado_en: string creado_en: string definicion: Json id: string nombre: string template_id: string | null tipo: Database['public']['Enums']['tipo_estructura_plan'] } Insert: { actualizado_en?: string creado_en?: string definicion?: Json id?: string nombre: string template_id?: string | null tipo: Database['public']['Enums']['tipo_estructura_plan'] } Update: { actualizado_en?: string creado_en?: string definicion?: Json id?: string nombre?: string template_id?: string | null tipo?: Database['public']['Enums']['tipo_estructura_plan'] } Relationships: [] } facultades: { Row: { actualizado_en: string color: string | null creado_en: string icono: string | null id: string nombre: string nombre_corto: string | null } Insert: { actualizado_en?: string color?: string | null creado_en?: string icono?: string | null id?: string nombre: string nombre_corto?: string | null } Update: { actualizado_en?: string color?: string | null creado_en?: string icono?: string | null id?: string nombre?: string nombre_corto?: string | null } Relationships: [] } interacciones_ia: { Row: { aceptada: boolean asignatura_id: string | null conversacion_id: string | null creado_en: string id: string ids_archivos: Json ids_vector_store: Json modelo: string | null plan_estudio_id: string | null prompt: Json respuesta: Json rutas_storage: Json temperatura: number | null tipo: Database['public']['Enums']['tipo_interaccion_ia'] usuario_id: string | null } Insert: { aceptada?: boolean asignatura_id?: string | null conversacion_id?: string | null creado_en?: string id?: string ids_archivos?: Json ids_vector_store?: Json modelo?: string | null plan_estudio_id?: string | null prompt?: Json respuesta?: Json rutas_storage?: Json temperatura?: number | null tipo: Database['public']['Enums']['tipo_interaccion_ia'] usuario_id?: string | null } Update: { aceptada?: boolean asignatura_id?: string | null conversacion_id?: string | null creado_en?: string id?: string ids_archivos?: Json ids_vector_store?: Json modelo?: string | null plan_estudio_id?: string | null prompt?: Json respuesta?: Json rutas_storage?: Json temperatura?: number | null tipo?: Database['public']['Enums']['tipo_interaccion_ia'] usuario_id?: string | null } Relationships: [ { foreignKeyName: 'interacciones_ia_asignatura_id_fkey' columns: ['asignatura_id'] isOneToOne: false referencedRelation: 'asignaturas' referencedColumns: ['id'] }, { foreignKeyName: 'interacciones_ia_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'planes_estudio' referencedColumns: ['id'] }, { foreignKeyName: 'interacciones_ia_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'plantilla_plan' referencedColumns: ['plan_estudio_id'] }, { foreignKeyName: 'interacciones_ia_usuario_id_fkey' columns: ['usuario_id'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } lineas_plan: { Row: { actualizado_en: string area: string | null creado_en: string id: string nombre: string orden: number plan_estudio_id: string } Insert: { actualizado_en?: string area?: string | null creado_en?: string id?: string nombre: string orden?: number plan_estudio_id: string } Update: { actualizado_en?: string area?: string | null creado_en?: string id?: string nombre?: string orden?: number plan_estudio_id?: string } Relationships: [ { foreignKeyName: 'lineas_plan_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'planes_estudio' referencedColumns: ['id'] }, { foreignKeyName: 'lineas_plan_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'plantilla_plan' referencedColumns: ['plan_estudio_id'] }, ] } notificaciones: { Row: { creado_en: string id: string leida: boolean leida_en: string | null payload: Json tipo: Database['public']['Enums']['tipo_notificacion'] usuario_id: string } Insert: { creado_en?: string id?: string leida?: boolean leida_en?: string | null payload?: Json tipo: Database['public']['Enums']['tipo_notificacion'] usuario_id: string } Update: { creado_en?: string id?: string leida?: boolean leida_en?: string | null payload?: Json tipo?: Database['public']['Enums']['tipo_notificacion'] usuario_id?: string } Relationships: [ { foreignKeyName: 'notificaciones_usuario_id_fkey' columns: ['usuario_id'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } planes_estudio: { Row: { activo: boolean actualizado_en: string actualizado_por: string | null carrera_id: string creado_en: string creado_por: string | null datos: Json estado_actual_id: string | null estructura_id: string id: string meta_origen: Json nivel: Database['public']['Enums']['nivel_plan_estudio'] nombre: string nombre_search: string | null numero_ciclos: number plan_hash: string | null tipo_ciclo: Database['public']['Enums']['tipo_ciclo'] tipo_origen: Database['public']['Enums']['tipo_origen'] | null } Insert: { activo?: boolean actualizado_en?: string actualizado_por?: string | null carrera_id: string creado_en?: string creado_por?: string | null datos?: Json estado_actual_id?: string | null estructura_id: string id?: string meta_origen?: Json nivel: Database['public']['Enums']['nivel_plan_estudio'] nombre: string nombre_search?: string | null numero_ciclos: number plan_hash?: string | null tipo_ciclo: Database['public']['Enums']['tipo_ciclo'] tipo_origen?: Database['public']['Enums']['tipo_origen'] | null } Update: { activo?: boolean actualizado_en?: string actualizado_por?: string | null carrera_id?: string creado_en?: string creado_por?: string | null datos?: Json estado_actual_id?: string | null estructura_id?: string id?: string meta_origen?: Json nivel?: Database['public']['Enums']['nivel_plan_estudio'] nombre?: string nombre_search?: string | null numero_ciclos?: number plan_hash?: string | null tipo_ciclo?: Database['public']['Enums']['tipo_ciclo'] tipo_origen?: Database['public']['Enums']['tipo_origen'] | null } Relationships: [ { foreignKeyName: 'planes_estudio_actualizado_por_fkey' columns: ['actualizado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'planes_estudio_carrera_id_fkey' columns: ['carrera_id'] isOneToOne: false referencedRelation: 'carreras' referencedColumns: ['id'] }, { foreignKeyName: 'planes_estudio_creado_por_fkey' columns: ['creado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'planes_estudio_estado_actual_id_fkey' columns: ['estado_actual_id'] isOneToOne: false referencedRelation: 'estados_plan' referencedColumns: ['id'] }, { foreignKeyName: 'planes_estudio_estructura_id_fkey' columns: ['estructura_id'] isOneToOne: false referencedRelation: 'estructuras_plan' referencedColumns: ['id'] }, { foreignKeyName: 'planes_estudio_estructura_id_fkey' columns: ['estructura_id'] isOneToOne: false referencedRelation: 'plantilla_plan' referencedColumns: ['estructura_id'] }, ] } responsables_asignatura: { Row: { asignatura_id: string creado_en: string id: string rol: Database['public']['Enums']['rol_responsable_asignatura'] usuario_id: string } Insert: { asignatura_id: string creado_en?: string id?: string rol?: Database['public']['Enums']['rol_responsable_asignatura'] usuario_id: string } Update: { asignatura_id?: string creado_en?: string id?: string rol?: Database['public']['Enums']['rol_responsable_asignatura'] usuario_id?: string } Relationships: [ { foreignKeyName: 'responsables_asignatura_asignatura_id_fkey' columns: ['asignatura_id'] isOneToOne: false referencedRelation: 'asignaturas' referencedColumns: ['id'] }, { foreignKeyName: 'responsables_asignatura_usuario_id_fkey' columns: ['usuario_id'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } roles: { Row: { clave: string descripcion: string | null id: string nombre: string } Insert: { clave: string descripcion?: string | null id?: string nombre: string } Update: { clave?: string descripcion?: string | null id?: string nombre?: string } Relationships: [] } tareas_revision: { Row: { asignado_a: string completado_en: string | null creado_en: string estado_id: string | null estatus: Database['public']['Enums']['estado_tarea_revision'] fecha_limite: string | null id: string plan_estudio_id: string rol_id: string | null } Insert: { asignado_a: string completado_en?: string | null creado_en?: string estado_id?: string | null estatus?: Database['public']['Enums']['estado_tarea_revision'] fecha_limite?: string | null id?: string plan_estudio_id: string rol_id?: string | null } Update: { asignado_a?: string completado_en?: string | null creado_en?: string estado_id?: string | null estatus?: Database['public']['Enums']['estado_tarea_revision'] fecha_limite?: string | null id?: string plan_estudio_id?: string rol_id?: string | null } Relationships: [ { foreignKeyName: 'tareas_revision_asignado_a_fkey' columns: ['asignado_a'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, { foreignKeyName: 'tareas_revision_estado_id_fkey' columns: ['estado_id'] isOneToOne: false referencedRelation: 'estados_plan' referencedColumns: ['id'] }, { foreignKeyName: 'tareas_revision_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'planes_estudio' referencedColumns: ['id'] }, { foreignKeyName: 'tareas_revision_plan_estudio_id_fkey' columns: ['plan_estudio_id'] isOneToOne: false referencedRelation: 'plantilla_plan' referencedColumns: ['plan_estudio_id'] }, { foreignKeyName: 'tareas_revision_rol_id_fkey' columns: ['rol_id'] isOneToOne: false referencedRelation: 'roles' referencedColumns: ['id'] }, ] } transiciones_estado_plan: { Row: { creado_en: string desde_estado_id: string hacia_estado_id: string id: string rol_permitido_id: string } Insert: { creado_en?: string desde_estado_id: string hacia_estado_id: string id?: string rol_permitido_id: string } Update: { creado_en?: string desde_estado_id?: string hacia_estado_id?: string id?: string rol_permitido_id?: string } Relationships: [ { foreignKeyName: 'transiciones_estado_plan_desde_estado_id_fkey' columns: ['desde_estado_id'] isOneToOne: false referencedRelation: 'estados_plan' referencedColumns: ['id'] }, { foreignKeyName: 'transiciones_estado_plan_hacia_estado_id_fkey' columns: ['hacia_estado_id'] isOneToOne: false referencedRelation: 'estados_plan' referencedColumns: ['id'] }, { foreignKeyName: 'transiciones_estado_plan_rol_permitido_id_fkey' columns: ['rol_permitido_id'] isOneToOne: false referencedRelation: 'roles' referencedColumns: ['id'] }, ] } usuarios_app: { Row: { actualizado_en: string creado_en: string email: string | null externo: boolean id: string nombre_completo: string | null } Insert: { actualizado_en?: string creado_en?: string email?: string | null externo?: boolean id: string nombre_completo?: string | null } Update: { actualizado_en?: string creado_en?: string email?: string | null externo?: boolean id?: string nombre_completo?: string | null } Relationships: [] } usuarios_roles: { Row: { carrera_id: string | null creado_en: string facultad_id: string | null id: string rol_id: string usuario_id: string } Insert: { carrera_id?: string | null creado_en?: string facultad_id?: string | null id?: string rol_id: string usuario_id: string } Update: { carrera_id?: string | null creado_en?: string facultad_id?: string | null id?: string rol_id?: string usuario_id?: string } Relationships: [ { foreignKeyName: 'usuarios_roles_carrera_id_fkey' columns: ['carrera_id'] isOneToOne: false referencedRelation: 'carreras' referencedColumns: ['id'] }, { foreignKeyName: 'usuarios_roles_facultad_id_fkey' columns: ['facultad_id'] isOneToOne: false referencedRelation: 'facultades' referencedColumns: ['id'] }, { foreignKeyName: 'usuarios_roles_rol_id_fkey' columns: ['rol_id'] isOneToOne: false referencedRelation: 'roles' referencedColumns: ['id'] }, { foreignKeyName: 'usuarios_roles_usuario_id_fkey' columns: ['usuario_id'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } vector_stores: { Row: { creado_en: string creado_por: string | null id: string nombre: string openai_vector_id: string | null } Insert: { creado_en?: string creado_por?: string | null id?: string nombre: string openai_vector_id?: string | null } Update: { creado_en?: string creado_por?: string | null id?: string nombre?: string openai_vector_id?: string | null } Relationships: [ { foreignKeyName: 'vector_stores_creado_por_fkey' columns: ['creado_por'] isOneToOne: false referencedRelation: 'usuarios_app' referencedColumns: ['id'] }, ] } } Views: { plantilla_plan: { Row: { estructura_id: string | null plan_estudio_id: string | null template_id: string | null } Relationships: [] } } Functions: { unaccent: { Args: { '': string }; Returns: string } unaccent_immutable: { Args: { '': string }; Returns: string } } Enums: { estado_asignatura: 'borrador' | 'revisada' | 'aprobada' | 'generando' estado_conversacion: 'ACTIVA' | 'ARCHIVANDO' | 'ARCHIVADA' | 'ERROR' estado_tarea_revision: 'PENDIENTE' | 'COMPLETADA' | 'OMITIDA' fuente_cambio: 'HUMANO' | 'IA' nivel_plan_estudio: | 'Licenciatura' | 'Maestría' | 'Doctorado' | 'Especialidad' | 'Diplomado' | 'Otro' puesto_tipo: | 'vicerrector' | 'director_facultad' | 'secretario_academico' | 'jefe_carrera' | 'profesor' | 'lci' rol_responsable_asignatura: 'PROFESOR_RESPONSABLE' | 'COAUTOR' | 'REVISOR' tipo_asignatura: 'OBLIGATORIA' | 'OPTATIVA' | 'TRONCAL' | 'OTRA' tipo_bibliografia: 'BASICA' | 'COMPLEMENTARIA' tipo_cambio: | 'ACTUALIZACION_CAMPO' | 'ACTUALIZACION_MAPA' | 'TRANSICION_ESTADO' | 'OTRO' | 'CREACION' | 'ACTUALIZACION' tipo_ciclo: 'Semestre' | 'Cuatrimestre' | 'Trimestre' | 'Otro' tipo_estructura_plan: 'CURRICULAR' | 'NO_CURRICULAR' tipo_fuente_bibliografia: 'MANUAL' | 'BIBLIOTECA' tipo_interaccion_ia: 'GENERAR' | 'MEJORAR_SECCION' | 'CHAT' | 'OTRA' tipo_notificacion: | 'PLAN_ASIGNADO' | 'ESTADO_CAMBIADO' | 'TAREA_ASIGNADA' | 'COMENTARIO' | 'OTRA' tipo_origen: | 'MANUAL' | 'IA' | 'CLONADO_INTERNO' | 'CLONADO_TRADICIONAL' | 'OTRO' } CompositeTypes: { [_ in never]: never } } } type DatabaseWithoutInternals = Omit type DefaultSchema = DatabaseWithoutInternals[Extract] export type Tables< DefaultSchemaTableNameOrOptions extends | keyof (DefaultSchema['Tables'] & DefaultSchema['Views']) | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] & DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views']) : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? (DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] & DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Views'])[TableName] extends { Row: infer R } ? R : never : DefaultSchemaTableNameOrOptions extends keyof (DefaultSchema['Tables'] & DefaultSchema['Views']) ? (DefaultSchema['Tables'] & DefaultSchema['Views'])[DefaultSchemaTableNameOrOptions] extends { Row: infer R } ? R : never : never export type TablesInsert< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema['Tables'] | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends { Insert: infer I } ? I : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema['Tables'] ? DefaultSchema['Tables'][DefaultSchemaTableNameOrOptions] extends { Insert: infer I } ? I : never : never export type TablesUpdate< DefaultSchemaTableNameOrOptions extends | keyof DefaultSchema['Tables'] | { schema: keyof DatabaseWithoutInternals }, TableName extends DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'] : never = never, > = DefaultSchemaTableNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[DefaultSchemaTableNameOrOptions['schema']]['Tables'][TableName] extends { Update: infer U } ? U : never : DefaultSchemaTableNameOrOptions extends keyof DefaultSchema['Tables'] ? DefaultSchema['Tables'][DefaultSchemaTableNameOrOptions] extends { Update: infer U } ? U : never : never export type Enums< DefaultSchemaEnumNameOrOptions extends | keyof DefaultSchema['Enums'] | { schema: keyof DatabaseWithoutInternals }, EnumName extends DefaultSchemaEnumNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums'] : never = never, > = DefaultSchemaEnumNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[DefaultSchemaEnumNameOrOptions['schema']]['Enums'][EnumName] : DefaultSchemaEnumNameOrOptions extends keyof DefaultSchema['Enums'] ? DefaultSchema['Enums'][DefaultSchemaEnumNameOrOptions] : never export type CompositeTypes< PublicCompositeTypeNameOrOptions extends | keyof DefaultSchema['CompositeTypes'] | { schema: keyof DatabaseWithoutInternals }, CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? keyof DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'] : never = never, > = PublicCompositeTypeNameOrOptions extends { schema: keyof DatabaseWithoutInternals } ? DatabaseWithoutInternals[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName] : PublicCompositeTypeNameOrOptions extends keyof DefaultSchema['CompositeTypes'] ? DefaultSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions] : never export const Constants = { graphql_public: { Enums: {}, }, public: { Enums: { estado_asignatura: ['borrador', 'revisada', 'aprobada', 'generando'], estado_conversacion: ['ACTIVA', 'ARCHIVANDO', 'ARCHIVADA', 'ERROR'], estado_tarea_revision: ['PENDIENTE', 'COMPLETADA', 'OMITIDA'], fuente_cambio: ['HUMANO', 'IA'], nivel_plan_estudio: [ 'Licenciatura', 'Maestría', 'Doctorado', 'Especialidad', 'Diplomado', 'Otro', ], puesto_tipo: [ 'vicerrector', 'director_facultad', 'secretario_academico', 'jefe_carrera', 'profesor', 'lci', ], rol_responsable_asignatura: [ 'PROFESOR_RESPONSABLE', 'COAUTOR', 'REVISOR', ], tipo_asignatura: ['OBLIGATORIA', 'OPTATIVA', 'TRONCAL', 'OTRA'], tipo_bibliografia: ['BASICA', 'COMPLEMENTARIA'], tipo_cambio: [ 'ACTUALIZACION_CAMPO', 'ACTUALIZACION_MAPA', 'TRANSICION_ESTADO', 'OTRO', 'CREACION', 'ACTUALIZACION', ], tipo_ciclo: ['Semestre', 'Cuatrimestre', 'Trimestre', 'Otro'], tipo_estructura_plan: ['CURRICULAR', 'NO_CURRICULAR'], tipo_fuente_bibliografia: ['MANUAL', 'BIBLIOTECA'], tipo_interaccion_ia: ['GENERAR', 'MEJORAR_SECCION', 'CHAT', 'OTRA'], tipo_notificacion: [ 'PLAN_ASIGNADO', 'ESTADO_CAMBIADO', 'TAREA_ASIGNADA', 'COMENTARIO', 'OTRA', ], tipo_origen: [ 'MANUAL', 'IA', 'CLONADO_INTERNO', 'CLONADO_TRADICIONAL', 'OTRO', ], }, }, } as const