Async generator 패턴
Node 20+랑 모던 브라우저에서 fetch().body의 ReadableStream + TextDecoder + 수동 newline-buffer가 Ollama NDJSON 소비하는 canonical 방법. async function* generator로 감싸면 stream을 for await로 iterate 가능해.
Buffer 패턴 (절대 skip 금지)
Network chunk는 JSON 줄 경계에 안 맞아. 한 번의 read()가 이렇게 반환할 수 있음:
'{"a":1,"b":2}\n{"c":3,'— 마지막 줄 미완성'4}\n{"e":5}\n'— 첫 부분이 이전 줄 완성
Buffer에 누적, \n로 split, 완성된 줄 다 parse, 부분 tail은 buffer에 유지 — 이게 TypeScript Ollama client에서 가장 버그 많은 부분.