symfonic.agent.fastapi.tenant_privacy_export¶
tenant_privacy_export ¶
Export-side helpers for the tenant-privacy router.
Split from :mod:tenant_privacy_router to keep each file below the
300-LOC cap. These helpers report when a source cannot be read.
ExportLayerReadError ¶
ExportLayerUnsupportedError ¶
collect_edges_for_export
async
¶
Return every edge owned by the tenant.
The GraphMemoryStore uniquely identifies edges (they live across all layers conceptually), so we hit the semantic layer's graph which is the canonical handle.
Source code in src/symfonic/agent/fastapi/tenant_privacy_export.py
collect_nodes_for_export
async
¶
collect_nodes_for_export(agent: SymfonicAgent, memory_scope: Any) -> tuple[dict[str, list[dict[str, Any]]], dict[str, str], dict[str, str]]
Return tenant nodes plus unreadable and unsupported layers.
Layers that are not registered are silently skipped (empty list entries stay out of the payload rather than implying data exists). Layer-specific failures are surfaced with non-sensitive layer names while readable layers remain available in the export.