feat(umind): ver qué se leyó de cada fuente, fragmento por fragmento

Una fuente crawleada decía "9 fragmentos" y nada más. Las notas y archivos al
menos tienen Editar, que muestra su texto; un sitio no tiene nada — era una
caja negra, sin forma de saber si el crawler leyó los precios o el pie de
página. Y cuando el agente contesta mal, la primera pregunta es justamente
qué tiene cargado de verdad.

Cada fuente gana un "Ver" que abre sus fragmentos tal como quedaron indexados,
numerados y en orden, con la advertencia que importa: esto es exactamente lo
que el asistente puede consultar — si acá falta algo, eso mismo le va a faltar
en las respuestas.

El botón se apaga cuando la fuente no tiene fragmentos todavía (procesando o
con error): abrir un visor vacío no informa nada.

El endpoint pasa por accesoDocumento como todos los sub-recursos, y devuelve
solo el contenido — el embedding no viaja: son miles de números que no le
sirven a nadie en pantalla.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-23 19:42:18 -05:00
co-authored by Claude Opus 5
parent be01d95631
commit ffa24a068f
9 changed files with 150 additions and 29 deletions
+13
View File
@@ -287,6 +287,19 @@ func CreateUmindChunks(chunks []UmindChunk) error {
// GetUmindChunksByAgente retorna todos los chunks del agente, para la
// búsqueda por similitud en memoria.
// GetUmindChunksByDocumento devuelve los fragmentos de UNA fuente, en el orden
// en que se guardaron. Es lo que deja ver qué se leyó de verdad de un sitio o
// un archivo: sin esto, una URL crawleada era una caja negra — "9 fragmentos"
// y ninguna forma de saber si el crawler leyó los precios o el pie de página.
func GetUmindChunksByDocumento(documentoID uint) ([]UmindChunk, error) {
var items []UmindChunk
err := app.Http.Database.DB.
Where("documento_id = ?", documentoID).
Order("id ASC").
Find(&items).Error
return items, err
}
func GetUmindChunksByAgente(agenteID uint) ([]UmindChunk, error) {
var items []UmindChunk
err := app.Http.Database.DB.Where("agente_id = ?", agenteID).Find(&items).Error