Foundation unit for the cache/API design. Three fields arrived on the wire
but decryptFile dropped them:
- `file.size` from `info.fileSize` and `thumbnail.size` from `info.thumbSize`,
left `undefined` when the server omits `info`.
- `isDeleted` carried from the diff row onto `EnteFile`.
No caller change: `listFiles` still filters deleted rows before decrypt, so no
deleted row reaches decryptFile here. Surfacing a deleted file through
decryption belongs to the enumeration unit, issue 38, where the return shape
can be designed around where such a row actually flows.
Model: opus-4-8