Files
graph_explorer/issues/0015-drag-drop-ingest.md
T
egutierrez 9042110ea2 docs(issues): plan enrichers asincronos + recoleccion web (0026-0030)
Cinco issues que componen el plan:
- 0026: sistema de jobs (infra, contrato wire)
- 0027: tipo Webpage + cache de documentos
- 0028: enricher fetch_webpage (MVP end-to-end)
- 0028b: enrichers extract_domain / extract_links / extract_text_entities
- 0029: variantes CDP (Chrome headless, screenshot)
- 0030: macro "Deep enrich" + expand_domain

Tambien anade los issues previos 0012-0025 que estaban untracked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 18:24:13 +02:00

48 lines
1.5 KiB
Markdown

---
id: 0015
title: Drag & drop de archivos sobre el viewport para ingesta
status: pending
priority: medium
created: 2026-05-01
---
## Objetivo
Soltar archivos sobre la ventana de `graph_explorer` lanza el extractor
adecuado segun extension y mete las entidades en el grafo, sin abrir
modales ni navegar menus.
## Tipos soportados
- `.pdf` -> texto + `extract_graph_hybrid`.
- `.eml` / `.msg` -> headers (from/to/cc) como entidades persona/email +
cuerpo via extract.
- `.csv` / `.parquet` -> ingesta como tabla DuckDB (encadena con 0011).
- `.json` / `.jsonl` -> si tiene shape entity/relation, importar; si no,
extract sobre stringify.
- `.png` / `.jpg` -> OCR (issue 0019) y luego extract.
- `.txt` / `.md` -> extract directo.
## Alcance
- Hook de drop de ImGui -> dispatcher por mime/extension -> pipeline
correspondiente -> preview con seleccion antes de commit (igual UX que
0013).
- Indicador visual de zona drop activa cuando hay drag sobre la ventana.
- Multiples archivos en un drop: procesar en cola, mostrar progreso.
## Decisiones
- Dispatcher reutiliza `/ingest/file` del endpoint 0012 si esta vivo, o
resuelve localmente como fallback.
- Limite de tamaño por archivo configurable (default 50 MB) para evitar
bloqueos en PDFs gigantes.
## Definicion de hecho
- Suelto un PDF en castellano sobre el canvas, en menos de 30 s veo
preview con entidades correctas.
- Suelto un .eml y aparecen `from`/`to` como nodos persona conectados
por una relacion `mailed`.
- Cancelar durante el preview no toca operations.db.