| from __future__ import annotations | |
| from app.storage.models import VisualViewRecord | |
| def compile_evidence(text: str, views: list[VisualViewRecord]) -> dict: | |
| evidence = { | |
| "request": text, | |
| "visual_context": [], | |
| } | |
| for view in views: | |
| payload = view.payload_json | |
| if view.view_type == "ocr": | |
| payload = { | |
| "lines": payload.get("lines", [])[:8], | |
| "markdown": payload.get("markdown", "")[:1000], | |
| } | |
| evidence["visual_context"].append( | |
| { | |
| "asset_id": view.asset_id, | |
| "view_type": view.view_type, | |
| "confidence": view.confidence, | |
| "payload": payload, | |
| "provenance": view.provenance_json, | |
| } | |
| ) | |
| return evidence | |