slice_read_response(
file_data: FileData,
offset: int,
limit: int
) -> ReadResultSlice file data to the requested line range without formatting.
The returned ReadResult carries the raw (unformatted) window in
file_data; line-number formatting is applied downstream by the
middleware layer.
Both bounds are clamped through normalize_read_bounds before slicing, so
a negative offset reads from the first line and a negative limit is
treated as 0.