본문으로 건너뛰기

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&lt;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) } });
}