Previously, if serde_json::from_str failed on a streamed line, the line was silently discarded and the caller had no indication that data was lost. Now parse errors are yielded as OllamaError::ResponseParseError so consumers can detect and handle unexpected API responses. Empty lines from LinesCodec are skipped to avoid spurious parse errors on blank input between chunks.