Function: toServerSentEventsResponse()
function toServerSentEventsResponse<TOffset>(stream, init?): Response;
정의 위치: packages/ai/src/stream-to-response.ts:702
StreamChunk 비동기 이터러블을 Server-Sent Events 형식의 Response로 변환합니다.
SSE 형식으로 청크를 내보내는 Response를 생성합니다.
- 각 청크 앞에 "data: "가 붙습니다.
- 각 청크 뒤에 "\n\n"이 붙습니다.
- 기반 이터러블이 소진되면 스트림이 종료됩니다(RUN_FINISHED가 종료 이벤트입니다).
스트림을 재개할 수 있도록 durability 싱크(memoryStream(request) /
durableStream(request))를 전달합니다. 새 실행은 로그에 추가되고 각 SSE
이벤트에는 id: 오프셋이 지정됩니다. 재연결(네이티브 Last-Event-ID) 또는
?offset 조인은 프로듀서를 다시 실행하지 않고 로그에서 재생합니다. batch는
각 append에 버퍼링할 청크 수를 제어합니다(기본값 32).
타입 매개변수
TOffset
TOffset extends string = string
매개변수
stream
AsyncIterable<AGUIEvent>
chat()의 StreamChunk를 포함하는 AsyncIterable입니다.
init?
ResponseInit & object
선택적 Response 초기화 옵션입니다(abortController, 선택적 batch가 포함된 durability, debug 포함).
반환값
Response
Server-Sent Events 형식의 Response입니다.
예제
export async function POST(request: Request) {
const stream = chat({ adapter: openaiText('gpt-5.5'), messages: [...] });
return toServerSentEventsResponse(stream, { durability: { adapter: memoryStream(request) } });
}