Async iterator
TypeScript SDK가 스트리밍을 client.messages.stream(...)로 노출 — typed 이벤트의 async iterator + finalMessage() promise. for await로 iterate; usage엔 finalMessage await. Python과 같은 모양, typed.
Next.js Route Handler와 ReadableStream
Next.js App Router Route Handler가 ReadableStream 바디 가진 Response 반환 가능. SDK 텍스트 스트림을 Response 스트림으로 pipe하면 브라우저가 토큰 도착하는 대로 봄. cwk-site가 이 패턴 사용; 같은 모양이 Vercel Edge에서 동작.
Backpressure와 cancellation
Stream 중간 클라이언트 disconnect 시 토큰 절약 위해 생성 멈추고 싶지. 요청의 AbortSignal을 SDK 호출에 wire해서 브라우저 탭 닫히면 server-side 생성 halt. SDK가 모든 메서드에 signal 받음.
원칙: Streaming은 transport plumbing. 다른 HTTP 작업에 쓸 abort signal 같은 거 hook, SDK가 나머지 알아서.