- _require_document: always verify doc existence via _get_metadata,
even when folders are unavailable — previously a non-existent doc_id
silently passed through to the chat API on non-Max plans
- get_document: forward pageNum from the server metadata as page_count,
matching the local backend's DocumentDetail contract
- _normalize_nodes: preserve prefix_summary as a separate field instead
of collapsing it into summary, matching the server's leaf/non-leaf
distinction