비동기 반복자로 사건을 읽어
client.messages.stream(...)은 타입이 있는 사건의 비동기 반복자와 finalMessage() 약속을 제공해. for await로 델타를 처리하고, 반복이 끝난 뒤 최종 메시지를 기다려 사용량과 종료 상태를 확인해. Python 도우미와 개념은 같지만 컴파일러가 사건 타입을 좁혀 줘.
Route Handler의 응답 스트림으로 건네
Next.js App Router의 Route Handler는 ReadableStream을 본문으로 가진 Response를 반환할 수 있어. SDK 텍스트 스트림을 그 응답에 연결하면 브라우저는 토큰이 도착하는 대로 그려. cwk-site와 Vercel Edge에서도 같은 전송 모양을 쓸 수 있어.
탭이 닫히면 상류 생성도 멈춰
클라이언트가 연결을 끊었는데 서버가 계속 토큰을 만들면 비용만 남아. 요청의 AbortSignal을 SDK 호출의 signal에 전달해 브라우저 취소를 Anthropic 요청까지 이어 줘. 화면·서버·상류 API의 수명을 한 신호로 묶는 거야.
원칙: 스트리밍도 일반 HTTP 작업처럼 역압력과 취소를 설계해. SDK 호출에서 연결 고리를 끊지 마.