9042110ea2
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>
48 lines
1.5 KiB
Markdown
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.
|