fn document_answer(
surface: &ViewSurface,
seat: &SessionSlot,
outcome: Result<DocumentRead, String>,
) -> ServerMessageExpand description
One document read’s outcome, as the asking client reads it: the answer with the document’s bytes base64, or the refusal under the seat that asked - the seat is what lets a client holding several seats drain only its own.