docling-studio/frontend
Pier-Jean Malandrino 8103460e9c feat(reasoning): reasoning-trace viewer v1 with SQLite-backed graph
Adds the `docling-agent` reasoning-trace viewer as a Studio tunnel, per
`docs/design/reasoning-trace.md`. Users pick an analyzed document, import
a RAGResult JSON, and the iterations are overlaid on the document graph.

Graph source is decoupled from Neo4j: a new pure builder
(`infra/docling_graph.build_graph_payload`) reads `document_json` from
SQLite and emits the same Cytoscape-shaped payload that `fetch_graph`
returns from Neo4j. Neo4j stays exclusive to the Maintain ingestion
pipeline. Shared DoclingDocument helpers live in `infra/docling_tree.py`
so TreeWriter and the builder can't drift on label taxonomy or tree walks.

Also removes the Cytoscape minimap (cytoscape-navigator) from GraphView:
second render instance hurt perf on large documents for no UX win.

Backend
- new `GET /api/documents/:id/reasoning-graph` (SQLite-only)
- new `infra/docling_tree.py`, `infra/docling_graph.py`
- `analysis_repo.find_latest_completed_by_document`
- tests: `test_docling_graph.py` (builder), `test_graph_api.py` (endpoint)

Frontend
- `features/reasoning/` — store, overlay, types, panel, import dialog,
  workspace, doc picker
- new `ReasoningPage` + `/reasoning` and `/reasoning/:docId` routes
- `GraphView` gains a `fetcher` prop so reasoning can inject the
  SQLite-backed fetcher while Maintain keeps using the Neo4j one
- drops minimap (nav container, dep, CSS)
- legend filters + section parenting extracted for reuse
- i18n base strings (FR + EN)
2026-04-29 14:00:00 +02:00
..
public Update logo with final version 2026-04-02 17:28:22 +02:00
src feat(reasoning): reasoning-trace viewer v1 with SQLite-backed graph 2026-04-29 14:00:00 +02:00
.prettierignore Add qualityt check and contributing doc 2026-03-21 15:34:54 +01:00
.prettierrc Add qualityt check and contributing doc 2026-03-21 15:34:54 +01:00
Dockerfile Refacto and add cp paste btn 2026-03-21 15:03:10 +01:00
env.d.ts feat(reasoning): reasoning-trace viewer v1 with SQLite-backed graph 2026-04-29 14:00:00 +02:00
eslint.config.js fix: resolve CI warnings (Node.js 20 deprecation + ESLint formatting) 2026-04-08 14:54:56 +02:00
index.html Add logo across navbar, home hero, studio, and favicon 2026-04-02 17:11:31 +02:00
nginx.conf fix: limit upload to 5 MB / 20 pages max and increase conversion timeout 2026-04-07 10:56:16 +02:00
package-lock.json feat(reasoning): reasoning-trace viewer v1 with SQLite-backed graph 2026-04-29 14:00:00 +02:00
package.json feat(reasoning): reasoning-trace viewer v1 with SQLite-backed graph 2026-04-29 14:00:00 +02:00
tsconfig.json Migrate frontend in typescript 2026-03-21 15:58:43 +01:00
vite.config.js Add release process, dynamic versioning, and changelog catch-up 2026-04-02 16:08:37 +02:00